不动点迭代

不动点迭代法(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)

其他算法-不动点迭代相关推荐

  1. 非线性方程(组):一维非线性方程(一)二分法、不动点迭代、牛顿法 [MATLAB]...

    1. 二分法(Bisection) 1) 原理 [介值定理] 对于连续的一元非线性函数,若其在两个点的取值异号,则在两点间必定存在零点. [迭代流程] 若左右两端取值不同,则取其中点,求其函数值,取中 ...

  2. 不动点迭代(Fixed Point Iteration)

    题目:不动点迭代(Fixed Point Iteration) 本篇介绍不动点迭代(Fixed Point Iteration).之所以学习不动点迭代是由于近来看到了FPC算法,即Fixed Poin ...

  3. 最优化方法 26:不动点迭代

    前面讲了很多具体的算法,比如梯度.次梯度.近似点梯度.加速近似点梯度.PPA.DR方法.ADMM.ALM等,对这些方法的迭代过程有了一些了解.这一节则主要是针对算法的收敛性进行分析,试图从一个更加抽象 ...

  4. 数值计算方法——不动点迭代和牛顿迭代法

    不动点迭代和牛顿迭代法 MATLAB基础 feval函数 format long syms x 简单迭代法[不动点迭代] Newton 迭代法 作业 MATLAB基础 feval函数 用于求函数值 基 ...

  5. 不动点迭代 开平方 Excel演示

    不动点迭代的精髓在于可以从任意值收敛. 难点在于配这个方程.详细技巧请参阅 数值分析 内容. X 代表初始值

  6. 不动点迭代以及其收敛性

    不动点迭代以及其收敛性 对于迭代的理解 不动点迭代 迭代的收敛性 区间收敛 局部收敛 对于迭代的理解   所谓迭代就是反复使用执行某一个过程,并且用本次执行该过程的结果作为下一次执行的起点,不断推进, ...

  7. 不动点迭代求解方程数值解

    求解方程 2x−x3=0 解:可以采用不动点迭代的方式求出数值解. 其不动点是 x=3log2x ,故可以采用下式进行不动点迭代: xn+1=3log2xn 初始值为 x0=2 ,迭代终止条件是 |x ...

  8. 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 ...

  9. 压缩感知重构算法之迭代硬阈值(Iterative Hard Thresholding,IHT)

    转载自:https://blog.csdn.net/wyw921027/article/details/52102211 题目:压缩感知重构算法之迭代硬阈值(Iterative Hard Thresh ...

最新文章

  1. 【运维学习笔记】在 vSphere Client上创建新的虚拟机
  2. Django --ORM常用的字段和参数 多对多创建形式
  3. 深入浅出CMake(一):基础篇
  4. iOS - UIAlertController
  5. Java 动态代理原理
  6. 2019-11-10 秩和奇异的一些概念
  7. matlab里符号的写法,Matlab中特殊符号的写法
  8. Python 第三方模块之 MySQL数据库连接模块 PyMySQL
  9. 工业机器人常用语言---val语言介绍
  10. win10无法运行jre java_Windows10系统安装不了jre的解决方法
  11. 常用的默认端口号(HTTP\HTTPS\FTP)
  12. 目前国内的跨境收款通道有哪些还不错的?
  13. 怎么强力卸载360天擎_如何手动卸载天擎
  14. MT【91】空间余弦定理
  15. 【组合数学】递推方程 ( 特解形式 | 特解求法 | 特解示例 )
  16. 2018新版个税计算器
  17. 云服务器能像虚拟主机那样,云服务器能像虚拟主机那样
  18. 使用Nodejs创建一个Web服务器应如何操作?以及路由相关知识了解
  19. 教你用晨曦记账本记录收支的方法
  20. java第5版的课后答案_java第五章习题及答案.doc

热门文章

  1. 在keras中使用scikit-learn
  2. 国内OA在线试用地址
  3. uniapp ios提交失败,权限描述修改
  4. 对于亚马逊测评的全面讲解
  5. 小程序开发的未来市场前景
  6. VNH7100BASTR资料BTS5090-2EKA驱动器特点R5F562T6DDFF规格参数
  7. annimation动画
  8. 物联网盒子是什么?有什么用?
  9. RSA加密算法,从实际应用到基础原理(一)
  10. composer proc_open(): fork failed – Cannot allocate memory