梯度下降算法的工作原理
极市平台
共 1138字,需浏览 3分钟
· 2020-11-04
![](https://filescdn.proginn.com/f1d31705c3c378b4e3e3ec426c2d6894/edf7772115e259392b346ed8b0dabc87.webp)
极市导读
梯度下降算法是工业中最常用的机器学习算法之一,但也是很多新手难以理解的算法之一。如果你刚刚接触机器学习,那么梯度下降算法背后的数学原理是比较难理解的。本文将帮助你了解梯度下降算法背后的工作原理。 >>加入极市CV技术交流群,走在计算机视觉的最前沿
介绍
![](https://filescdn.proginn.com/e172014f7d5b2befbe378bc5166d845d/e8be259fa62932dbb989bf10cfb0f8e5.webp)
什么是损失函数
它是一个函数,用于衡量模型对任何给定数据的性能。损失函数将预测值与期望值之间的误差进行量化,并以单个实数的形式表示出来。
![](https://filescdn.proginn.com/c0bbf47a2a6a891197a34f4a50cba6a1/d29e646e4cb7dfd8138ec090ecef9c39.webp)
什么是梯度下降
![](https://filescdn.proginn.com/2aeda96823629bec2a6ec08de1221b21/642c909a385ab38ea2ed98c0ffea7d48.webp)
梯度下降法是一种求解函数局部极小值的迭代优化算法。
![](https://filescdn.proginn.com/bc9e005dbf7317d1687f86a953e735de/6382d6acc32ddcfe5853ccc006f24c01.webp)
计算梯度(斜率),函数在该点的一阶导数 在与梯度相反的方向上移动一步(移动)
![](https://filescdn.proginn.com/633de306702ae3e1f7a5ee372dee58f3/2ed873df8bf0ad2caecf64025b2057a5.webp)
绘制梯度下降算法
![](https://filescdn.proginn.com/548429127488b68dc23a91f7050b5cbc/f4a2adeef903fa684486f3a4883a0028.webp)
![](https://filescdn.proginn.com/f3509c93a849130b3696d4f074feaa95/7309a3b7662e4a9ee27bb2b0a5822c76.webp)
α-学习率
如果学习率太高,我们可能会超过最小值,而不会达到最小值 如果学习率太低,训练时间可能会太长
![](https://filescdn.proginn.com/0e800ae55f9593e2a3d1effe0a3cdae0/70177c118c3f4e71e94a1dca33dbc2aa.webp)
![](https://filescdn.proginn.com/ea2afcb182c0a16d27a45b4b5c0ef091/9aca622f90809520a50acb010cc6c160.webp)
局部最小值
![](https://filescdn.proginn.com/47679e8ea6293ef82bd18ddda4304b7a/2a54ba85ff17692910a4b83879161fe3.webp)
梯度下降的Python代码实现
![](https://filescdn.proginn.com/541af20b39790069e2daa95c7220449f/9ef2f7697ac4b78c23bc78a7ba988d22.webp)
结尾
推荐阅读
![](https://filescdn.proginn.com/86f2ce78a0d54525b4323ac3774799d6/79a70b14d0751a13dd90094f8ecad162.webp)
评论