其他算法-不动点迭代
不动点迭代
不动点迭代法(Fixed Point Iteration)又叫简单迭代法,对于一个非线性方程 f(x)=0f(x)=0f(x)=0 将其转换成以下形式:
x=φ(x)x=\varphi (x)x=φ(x)
假设 φ(x)\varphi (x)φ(x) 是一个连续函数(φ(x)\varphi (x)φ(x)被称为迭代函数),任取一个初始值 x0x_{0}x0 代入上式右端,得到:
x1=φ(x0)x_{1}=\varphi (x_{0})x1=φ(x0)
并依次迭代计算:
x2=φ(x1),...,xk+1=φ(xk)x_{2}=\varphi (x_{1}),...,x_{k+1}=\varphi (x_{k})x2=φ(x1),...,xk+1=φ(xk)
如果存在一点 x∗x^{*}x∗,使得迭代序列{xkx_{k}xk}满足:limk→∞xk=x∗lim_{k\rightarrow \infty }x_{k}=x^{*}limk→∞xk=x∗,则称迭代是收敛的,否则为发散;
迭代的收敛性
设迭代函数 φ(x)\varphi (x)φ(x) 在 [a,b][a,b][a,b] 上连续,且满足:
- 当 x∈[a,b]x\in [a,b]x∈[a,b] 时,a≤φ(x)≤ba\leq \varphi (x)\leq ba≤φ(x)≤b;
- 存在一个正数 0<L<10<L<10<L<1,且 ∀x∈[a,b]\forall x\in [a,b]∀x∈[a,b],有 ∣φ′(x)∣≤L|\varphi ^{'}(x)|\leq L∣φ′(x)∣≤L
则方程 x=φ(x)x=\varphi (x)x=φ(x) 在 [a,b][a,b][a,b] 内有唯一解 x∗x^{*}x∗,对任意初始值 x0∈[a,b]x_{0}\in [a,b]x0∈[a,b],迭代法总能收敛于 x∗x^{*}x∗
迭代法实例
对于一层全连接网络,如果使用tanh作为激活函数,很容易通过tensorflow写出过程:
# 注意tf.multiply是张量逐个元素相乘,tf.matmul才是矩阵乘法
y=tf.matmul(W,x)+b
y=tf.tanh(y)
假设现在想用 x=y+cosyx=y+cosyx=y+cosy 的反函数 y=f(x)y=f(x)y=f(x) 来激活,就需要先解出 y=f(x)y=f(x)y=f(x);很明显 y=f(x)y=f(x)y=f(x) 是一个超越函数,不能用初等函数有限表示,故用不动点迭代法求出近似值;(把 xxx 看作常量,方程就变成只含有 yyy 的式子)
改变形式为:
y=x−cosyy=x-cosyy=x−cosy
迭代为:
yk+1=x−cos(yk)y_{k+1}=x-cos(y_{k})yk+1=x−cos(yk)
选择初始值 y0=xy_{0}=xy0=x,迭代三次为:
y=x−cos(x−cos(x−cosx))y=x-cos(x-cos(x-cosx))y=x−cos(x−cos(x−cosx))
此时,可以用tensorflow表示使用该激活函数的过程:
y=tf.matmul(W,x)+b
Y=y
for i in range(3):Y=y-tf.cos(Y)
其他算法-不动点迭代相关推荐
- 非线性方程(组):一维非线性方程(一)二分法、不动点迭代、牛顿法 [MATLAB]...
1. 二分法(Bisection) 1) 原理 [介值定理] 对于连续的一元非线性函数,若其在两个点的取值异号,则在两点间必定存在零点. [迭代流程] 若左右两端取值不同,则取其中点,求其函数值,取中 ...
- 不动点迭代(Fixed Point Iteration)
题目:不动点迭代(Fixed Point Iteration) 本篇介绍不动点迭代(Fixed Point Iteration).之所以学习不动点迭代是由于近来看到了FPC算法,即Fixed Poin ...
- 最优化方法 26:不动点迭代
前面讲了很多具体的算法,比如梯度.次梯度.近似点梯度.加速近似点梯度.PPA.DR方法.ADMM.ALM等,对这些方法的迭代过程有了一些了解.这一节则主要是针对算法的收敛性进行分析,试图从一个更加抽象 ...
- 数值计算方法——不动点迭代和牛顿迭代法
不动点迭代和牛顿迭代法 MATLAB基础 feval函数 format long syms x 简单迭代法[不动点迭代] Newton 迭代法 作业 MATLAB基础 feval函数 用于求函数值 基 ...
- 不动点迭代 开平方 Excel演示
不动点迭代的精髓在于可以从任意值收敛. 难点在于配这个方程.详细技巧请参阅 数值分析 内容. X 代表初始值
- 不动点迭代以及其收敛性
不动点迭代以及其收敛性 对于迭代的理解 不动点迭代 迭代的收敛性 区间收敛 局部收敛 对于迭代的理解 所谓迭代就是反复使用执行某一个过程,并且用本次执行该过程的结果作为下一次执行的起点,不断推进, ...
- 不动点迭代求解方程数值解
求解方程 2x−x3=0 解:可以采用不动点迭代的方式求出数值解. 其不动点是 x=3log2x ,故可以采用下式进行不动点迭代: xn+1=3log2xn 初始值为 x0=2 ,迭代终止条件是 |x ...
- matlab不动点迭代代码
%不动点迭代function [xc,k] = fpi(g,x0,tol,N) x1=g(x0); k=1; while abs(x1-x0) > tolx0 =x1;x1=g(x0);if k ...
- 压缩感知重构算法之迭代硬阈值(Iterative Hard Thresholding,IHT)
转载自:https://blog.csdn.net/wyw921027/article/details/52102211 题目:压缩感知重构算法之迭代硬阈值(Iterative Hard Thresh ...
最新文章
- 【运维学习笔记】在 vSphere Client上创建新的虚拟机
- Django --ORM常用的字段和参数 多对多创建形式
- 深入浅出CMake(一):基础篇
- iOS - UIAlertController
- Java 动态代理原理
- 2019-11-10 秩和奇异的一些概念
- matlab里符号的写法,Matlab中特殊符号的写法
- Python 第三方模块之 MySQL数据库连接模块 PyMySQL
- 工业机器人常用语言---val语言介绍
- win10无法运行jre java_Windows10系统安装不了jre的解决方法
- 常用的默认端口号(HTTP\HTTPS\FTP)
- 目前国内的跨境收款通道有哪些还不错的?
- 怎么强力卸载360天擎_如何手动卸载天擎
- MT【91】空间余弦定理
- 【组合数学】递推方程 ( 特解形式 | 特解求法 | 特解示例 )
- 2018新版个税计算器
- 云服务器能像虚拟主机那样,云服务器能像虚拟主机那样
- 使用Nodejs创建一个Web服务器应如何操作?以及路由相关知识了解
- 教你用晨曦记账本记录收支的方法
- java第5版的课后答案_java第五章习题及答案.doc