4.3 基于梯度的优化方法

1.向量微积分

(31条消息) 向量微积分基础_文剑木然的专栏-CSDN博客_向量微积分

常用求导公式(基于分母布局,结果转置即为分子布局)
∂Ax∂x=A(1)\frac{\partial \mathbf{A} \mathbf{x}}{\partial \mathbf{x}}=\mathbf{A}\tag{1} ∂x∂Ax​=A(1)

∂x⊤A∂x=A⊤(2)\frac{\partial \mathbf{x}^{\top} \mathbf{A}}{\partial \mathbf{x}}=\mathbf{A}^{\top}\tag{2} ∂x∂x⊤A​=A⊤(2)

∂x⊤x∂x=2x⊤(3)\frac{\partial \mathbf{x}^{\top} \mathbf{x}}{\partial \mathbf{x}}=2 \mathbf{x}^{\top}\tag{3} ∂x∂x⊤x​=2x⊤(3)

∂x⊤Ax∂x=x⊤(A+A⊤)(4)\frac{\partial \mathbf{x}^{\top} \mathbf{A} \mathbf{x}}{\partial \mathbf{x}}=\mathbf{x}^{\top}\left(\mathbf{A}+\mathbf{A}^{\top}\right)\tag{4} ∂x∂x⊤Ax​=x⊤(A+A⊤)(4)

∂(u+v)∂x=∂u∂x+∂v∂x(5)\frac{\partial(\mathbf{u}+\mathbf{v})}{\partial \mathbf{x}}=\frac{\partial \mathbf{u}}{\partial \mathbf{x}}+\frac{\partial \mathbf{v}}{\partial \mathbf{x}}\tag{5} ∂x∂(u+v)​=∂x∂u​+∂x∂v​(5)

∂(u⋅v)∂x=∂u⊤v∂x=u⊤∂v∂x+v⊤∂u∂x(6)\frac{\partial(\mathbf{u} \cdot \mathbf{v})}{\partial \mathbf{x}}=\frac{\partial \mathbf{u}^{\top} \mathbf{v}}{\partial \mathbf{x}}=\mathbf{u}^{\top} \frac{\partial \mathbf{v}}{\partial \mathbf{x}}+\mathbf{v}^{\top} \frac{\partial \mathbf{u}}{\partial \mathbf{x}}\tag{6} ∂x∂(u⋅v)​=∂x∂u⊤v​=u⊤∂x∂v​+v⊤∂x∂u​(6)

∂f(u)∂x=∂f(u)∂u∂u∂x(7)\frac{\partial \mathbf{f}(\mathbf{u})}{\partial \mathbf{x}}=\frac{\partial \mathbf{f}(\mathbf{u})}{\partial \mathbf{u}} \frac{\partial \mathbf{u}}{\partial \mathbf{x}}\tag{7} ∂x∂f(u)​=∂u∂f(u)​∂x∂u​(7)

2.方向导数

数学篇-方向导数(讲的很通俗易懂) - 知乎 (zhihu.com)

如果函数f(x,y)f(x,y)f(x,y) 在点 P0(x0,y0)P_0(x_0,y_0)P0​(x0​,y0​)可微分,那么函数在该点沿任一方向 lll 的方向导数存在,且有
∂f∂l∣(x0,y0)=fx(x0,y0)cos⁡α+fy(x0,y0)cos⁡β(8)\left.\frac{\partial f}{\partial l}\right|_{\left(x_{0}, y_{0}\right)}=f_{x}\left(x_{0}, y_{0}\right) \cos \alpha+f_{y}\left(x_{0}, y_{0}\right) \cos \beta\tag{8} ∂l∂f​∣∣∣∣​(x0​,y0​)​=fx​(x0​,y0​)cosα+fy​(x0​,y0​)cosβ(8)
其中,cosαcos\alphacosα​ 和 cosβcos\betacosβ​的方向余弦.

证明: 由假设 f(x,y)f(x,y)f(x,y) 在点(x0,y0)(x_0,y_0)(x0​,y0​)可微分,故有
f(x0+Δx,y0+Δy)−f(x0,y0)=fx(x0,y0)Δx+fy(x0,y0)Δy+o((Δx)2+(Δy)2)(9)\begin{array}{c} f\left(x_{0}+\Delta x, y_{0}+\Delta y\right)-f\left(x_{0}, y_{0}\right) \\=f_{x}\left(x_{0}, y_{0}\right) \Delta x+f_{y}\left(x_{0}, y_{0}\right) \Delta y+o\left(\sqrt{(\Delta x)^{2}+(\Delta y)^{2}}\right) \end{array}\tag{9} f(x0​+Δx,y0​+Δy)−f(x0​,y0​)=fx​(x0​,y0​)Δx+fy​(x0​,y0​)Δy+o((Δx)2+(Δy)2​)​(9)
但点 (x0+Δx,y0+Δy)(x_0+\Delta x,y_0+\Delta y)(x0​+Δx,y0​+Δy) 在以 (x0,y0)(x_0,y_0)(x0​,y0​) 为始点的射线 lll 上时,应有

Δx=tcos⁡α,Δy=tcos⁡β(Δx)2+(Δy)2=t(10)\begin{array}{c} \Delta x=t \cos \alpha, \Delta y=t \cos \beta \\ \sqrt{(\Delta x)^{2}+(\Delta y)^{2}}=t \end{array}\tag{10} Δx=tcosα,Δy=tcosβ(Δx)2+(Δy)2​=t​(10)

所以
lim⁡t→0+f(x0+tcos⁡α,y0+tcos⁡β)−f(x0,y0)t=fx(x0,y0)cos⁡α+fy(x0,y0)cos⁡β(11)\lim _{t \rightarrow 0^{+}} \frac{f\left(x_{0}+t \cos \alpha, y_{0}+t \cos \beta\right)-f\left(x_{0}, y_{0}\right)}{t} \\ =f_{x}\left(x_{0}, y_{0}\right) \cos \alpha+f_{y}\left(x_{0}, y_{0}\right) \cos \beta \tag{11} t→0+lim​tf(x0​+tcosα,y0​+tcosβ)−f(x0​,y0​)​=fx​(x0​,y0​)cosα+fy​(x0​,y0​)cosβ(11)
这就证明了方向导数存在,且其值为

∂f∂l∣(x0,y0)=fx(x0,y0)cos⁡α+fy(x0,y0)cos⁡β(12)\left.\frac{\partial f}{\partial l}\right|_{\left(x_{0}, y_{0}\right)}=f_{x}\left(x_{0}, y_{0}\right) \cos \alpha+f_{y}\left(x_{0}, y_{0}\right) \cos \beta\tag{12} ∂l∂f​∣∣∣∣​(x0​,y0​)​=fx​(x0​,y0​)cosα+fy​(x0​,y0​)cosβ(12)
用x表示多维向量,用u表示方向,用a表示t,即可得到
∂∂αf(x+αu)=uT∇xf(x)=fx(x0,y0)cosα+fy(x0,y0)cosβ(13)\frac{\partial}{\partial \alpha}f(x+\alpha u) = u^T \nabla_xf(x) = f_x(x0,y0) cos\alpha+f_y(x0,y0) cos\beta\tag{13} ∂α∂​f(x+αu)=uT∇x​f(x)=fx​(x0,y0)cosα+fy​(x0,y0)cosβ(13)
(7)式第一个等号是花书上给出的,目前仍有疑惑,我的推导如下
令t=x+αu(14)令 t = x+\alpha u\tag{14} 令t=x+αu(14)
∂∂αf(x+αu)=∂f(t)∂α=∂f(t)∂t⋅∂t∂α(15)\frac{\partial}{\partial \alpha} f(x+\alpha u)=\frac{\partial f(t)}{\partial \alpha}=\frac{\partial f(t)}{\partial t} \cdot \frac{\partial t}{\partial \alpha}\tag{15} ∂α∂​f(x+αu)=∂α∂f(t)​=∂t∂f(t)​⋅∂α∂t​(15)
=∂f(t)∂t⋅∂x+αu∂α(16)=\frac{\partial f(t)}{\partial t} \cdot \frac{\partial x+\alpha u}{\partial \alpha}\tag{16} =∂t∂f(t)​⋅∂α∂x+αu​(16)
=∂f(t)∂t⋅u(17)=\frac{\partial f(t)}{\partial t} \cdot u\tag{17} =∂t∂f(t)​⋅u(17)

=∇xf(x)T⋅u(取α=0)(18)=\nabla_{x} f(x)^T \cdot u (取\alpha=0)\tag{18} =∇x​f(x)T⋅u(取α=0)(18)
希望有明白的人指出我的问题

补充:问题解决了,由于我的公式是基于分母布局(横向),所以在(17)-(18)的时候得到的式子应该是∇xf(x)T⋅u\nabla_{x} f(x)^T \cdot u∇x​f(x)T⋅u​​​​(怕误导大家,上面已修改,但是之前是没加转置的),又因为花书中的推导都是基于分子布局的,所以最终结果与我的结果会刚好差一个转置。另外,书中所有的向量都是列向量,尤其是梯度向量。

3.梯度下降

一阶优化方法

4.牛顿法

二阶优化方法

参考链接:数值优化(Numerical Optimization)(3)-牛顿法 - 知乎 (zhihu.com)
f(x)≈f(xk)+(x−xk)T∇f(xk)+12(x−xk)TH(x−xk)(19)f(\boldsymbol x) \approx f(\boldsymbol{x_{k}})+\left(\boldsymbol x-\boldsymbol{x_{k}}\right)^T\nabla f\left(\boldsymbol{x_{k}}\right)+\frac{1}{2}\left(\boldsymbol x-\boldsymbol{x_{k}}\right)^{T} H\left(\boldsymbol x-\boldsymbol{x_{k}}\right)\tag{19} f(x)≈f(xk​)+(x−xk​)T∇f(xk​)+21​(x−xk​)TH(x−xk​)(19)
要找到f(x)f(x)f(x)的最小点,对fff求导,得
f′(x)=∇f(xk)T+12(x−xk)T(H+HT)=∇f(xk)T+(x−xk)TH(20)f'(\boldsymbol x) =\nabla f(\boldsymbol{x_k})^T +\frac{1}{2}(\boldsymbol{x-x_k})^T(H+H^T) \\= \nabla f(\boldsymbol{x_k})^T +(\boldsymbol x-\boldsymbol{x_{k}})^TH\tag{20} f′(x)=∇f(xk​)T+21​(x−xk​)T(H+HT)=∇f(xk​)T+(x−xk​)TH(20)
令f′(x)=0f'(\boldsymbol x)=\boldsymbol0f′(x)=0​​​,又HHH为对称矩阵,即H=HTH = H^TH=HT
x−xk=−(H−1∗∇f(xk)T)T=−H−1∗∇f(xk)(21)\boldsymbol x-\boldsymbol{x_{k}} =- (H^{-1}*\nabla f(\boldsymbol{x_k})^T)^T =- H^{-1}*\nabla f(\boldsymbol{x_k})\tag{21} x−xk​=−(H−1∗∇f(xk​)T)T=−H−1∗∇f(xk​)(21)
xk+1=xk−H−1∇f(xk)(22)\boldsymbol{x_{k+1}} = \boldsymbol{x_k}-H^{-1}\nabla f(\boldsymbol{x_k})\tag{22} xk+1​=xk​−H−1∇f(xk​)(22)

当fff是一个正定二次函数时,牛顿法只要应用一次(22)就能跳到函数最小点

如果fff不是真正二次,但能在局部近似为正定二次,牛顿法则需要多次迭代

当附近的临界点是最小点牛顿法才适用,在鞍点附近是有害的

上面这些话我还需要好好琢磨琢磨

深度学习花书- 4.3 基于梯度的优化方法相关推荐

  1. 深度学习花书学习感悟之第二章线性代数

    趁着寒假的闲暇时光,希望能稍加学习. 花书毕竟是深度学习四大名著之一,因此早就想拜读一下.在其中获得的感悟或者学习到的新的内容,希望能够通过博客的形式记录下来.一来是希望能够记录下自己学习的点点滴滴, ...

  2. 深度学习花书学习感悟之第三章概率论

    一.概率密度函数 说到概率密度函数(probability density function, PDF,后面用简写),肯定是针对连续型变量而言的.对于离散型变量,我们称之为分布律 对于概率密度函数,有 ...

  3. 基于梯度的优化方法(一) ——梯度下降原理浅析

    深度学习 (deep learning)系列 笔记 优化通俗来讲其实是求函数的最大值最小值问题,而最大值问题又可以转化为求最小值问题,因此,优化往往聚焦于最小化某个函数的值. 我们借助于导数这个工具, ...

  4. 深度学习 花书中的概念——百晓生知识处理库自动抽取

    分割后的名词组 ['机器学习(machinelearning)', '逻辑回归(logisticregression)的简单机器学习算法可以决定是否建议剖腹产(Mor-Yosefetal.', '一个 ...

  5. 动手学习深度学习花书踩坑01-----FashionMNIST数据集下载失败

    在网上看了很多方法,一下让改 mnist.py 里的URL路径,一下让指定本地文件路径的,都没成功,可能是我把文件位置放错了,最后用自己的方法,巧妙地解决了. 1 先执行一遍书中原本的代码,这时候下载 ...

  6. Deep Learning 深度学习 花书 Ian Goodfellow 伊恩·古德费洛

    免责说明 资源仅为学习参考,不可用于商业目的!版权归原作者所有,请在下载后于24小时内删除!谢谢! 链接: https://pan.baidu.com/s/1S8QMCTfgsMm3VYhtg3WcP ...

  7. 基于TensorFlow 2.0的中文深度学习开源书来了!GitHub趋势日榜第一,斩获2K+星

    十三 发自 凹非寺  量子位 报道 | 公众号 QbitAI TensorFlow 2.0 发布已有一个半月之久,你会用了吗? 近日,一个叫做深度学习开源书的项目在火了.GitHub趋势日榜排名全球第 ...

  8. 火遍日本 IT 界的深度学习入门书,你读完了吗?

    在日本 IT 圈,有一本书的影响力超越了实力派的"花书",长期位列日亚"人工智能"类图书榜首,众多五星好评.也许你有所耳闻,这本书就是<深度学习入门:基于 ...

  9. 爆火的深度学习面试书现可白嫖!GitHub上线2周1.5K Star,之前售价146元

    金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 面试宝典千千万,但这一份,应当是深度学习领域里不容错过的那一个了. 这不,才在arXiv"上架"12天,GitHub就狂 ...

  10. 一种基于深度学习的目标检测提取视频图像关键帧的方法

    摘要:针对传统的关键帧提取方法误差率高.实时性差等问题,提出了一种基于深度学习的目标检测提取视频图像关键帧的方法,分类提取列车头部.尾部及车身所在关键帧.在关键帧提取过程中,重点研究了基于SIFT特征 ...

最新文章

  1. 银行的清算、清分、结算、对账
  2. 【转】js获取url传值
  3. .NET简谈组件程序设计之(手动同步)
  4. 软件研发工程师转行机器学习之路
  5. Golang 简洁架构实战
  6. php微信段子,年度挤进前十名的微信段子,笑死了
  7. Android单元测试 - Sqlite、SharedPreference、Assets、文件操作 怎么测?
  8. springboot启动报错:Error starting ApplicationContext. To display the conditions report re-run your appl
  9. 【Python】导入类
  10. 时间序列分析——自回归移动平均(ARMA)模型
  11. 软件开发的一些注意事项
  12. 微信小程序-图片等比例显示不变形
  13. H.266/VVC技术学习:算术编码
  14. Win10 家庭版 升级至 专业版
  15. 文字图片转成点阵的小工具
  16. 四个有意义的哲理故事
  17. 优秀网页翻译:DS3231与 PCF2129 RTC比较
  18. TLS/SSL双向认证
  19. 题2:找出落单的那个数
  20. RadioButton+Fragment和XlistView及多条目加载

热门文章

  1. selenium 简介 及浏览器配置
  2. 后缀数组三·重复旋律3
  3. maven学习记录一——maven介绍及入门
  4. BZOJ 1053: [HAOI2007]反素数ant
  5. 4.数据库数据导入查询数据库信息出现乱码问题
  6. JQuery simpleModal插件的使用-遁地龙卷风
  7. [Objective-C]用Block实现链式编程
  8. Json 入门例子【3】
  9. qstring转string
  10. Dij_heap__前向星。