梯度下降法可以做什么?
在你测试集上,通过最小化代价函数(成本函数)(, )来训练的参数和,
![46f9dea336f4f3b1465d9876d1164071.png](https://i-blog.csdnimg.cn/blog_migrate/be33ccade164ff53d70d2715f6aca766.jpeg)
如图,在第二行给出和之前一样的逻辑回归算法的代价函数(成本函数) 梯度下降法的形象化说明
![d6dd342b29feeebc67b6366d44b7e792.png](https://i-blog.csdnimg.cn/blog_migrate/1ca8af6c9fd2b9dd11ca79baf3e5e3db.jpeg)
在这个图中,横轴表示你的空间参数和,在实践中,可以是更高的维度,但是为了 更好地绘图,我们定义和,都是单一实数,代价函数(成本函数)(, )是在水平轴和 上的曲面,因此曲面的高度就是(, )在某一点的函数值。我们所做的就是找到使得代价 函数(成本函数)(, )函数值是最小值,对应的参数和。
![36190fc23e5e383af14e290fdcbb10c5.png](https://i-blog.csdnimg.cn/blog_migrate/c3b7de1009e8ec3dd547c2a10fe2fa50.jpeg)
如图,代价函数(成本函数)(, )是一个凸函数(convex function),像一个大碗一样。
![adf1f1d416ef9d19bf56f54347778f81.png](https://i-blog.csdnimg.cn/blog_migrate/10b22538c348a2f679368a6340cecb23.jpeg)
如图,这就与刚才的图有些相反,因为它是非凸的并且有很多不同的局部最小值。由于 逻辑回归的代价函数(成本函数)(, )特性,我们必须定义代价函数(成本函数)(, ) 为凸函数。 初始化和,
![f121c9e1e1fc341a0824623411a1c9f0.png](https://i-blog.csdnimg.cn/blog_migrate/273548ffe70078fccf98f14aff32122f.jpeg)
可以用如图那个小红点来初始化参数和,也可以采用随机初始化的方法,对于逻辑 回归几乎所有的初始化方法都有效,因为函数是凸函数,无论在哪里初始化,应该达到同一 点或大致相同的点。
![6aa01eb4b56b5ee27fe9cdab496c0ab4.png](https://i-blog.csdnimg.cn/blog_migrate/2a1a7367e329d346cb50782d70f294ab.jpeg)
我们以如图的小红点的坐标来初始化参数和。
2. 朝最陡的下坡方向走一步,不断地迭代
![3f54aea8b540fa7451a1a8c8f03b5d82.png](https://i-blog.csdnimg.cn/blog_migrate/bf561dcc3f5f4eaefa0f7879d48ae498.jpeg)
我们朝最陡的下坡方向走一步,如图,走到了如图中第二个小红点处。
![3796b1ce17fd3533c40d4c6c602644cc.png](https://i-blog.csdnimg.cn/blog_migrate/4172763e5f1ca2eecf17d4a59d45ee33.jpeg)
我们可能停在这里也有可能继续朝最陡的下坡方向再走一步,如图,经过两次迭代走到 第三个小红点处。
3.直到走到全局最优解或者接近全局最优解的地方
通过以上的三个步骤我们可以找到全局最优解,也就是代价函数(成本函数)(, )这 个凸函数的最小值点。
梯度下降法的细节化说明(仅有一个参数)
![4a9c61fb023fc99fcb6bdf72558e85f4.png](https://i-blog.csdnimg.cn/blog_migrate/995bd43eac6c401ead83a631986d524c.jpeg)
假定代价函数(成本函数)() 只有一个参数,即用一维曲线代替多维曲线,这样可以更好画出图像。
![bc8f40283f11939c4a9e0211a2665c84.png](https://i-blog.csdnimg.cn/blog_migrate/687f926c02c2e9f4f304eba6629d0c0f.jpeg)
迭代就是不断重复做如图的公式:
![2817184cead6085f481fcbe14173c76e.png](https://i-blog.csdnimg.cn/blog_migrate/7322ccefe427eb4ea49739ad7b58350e.jpeg)
对于导数更加形象化的理解就是斜率(slope),如图该点的导数就是这个点相切于 () 的小三角形的高除宽。 假设我们以如图点为初始化点,该点处的斜率的符号是正的,即
()/() > 0,所以接下来会向左走一步。
![f006d6888919afa7d62db36c955fadb1.png](https://i-blog.csdnimg.cn/blog_migrate/bac86b98ba29dae3ee9da3ea3705d8ee.jpeg)
整个梯度下降法的迭代过程就是不断地向左走,直至逼近最小值点。
![18b1fc9cdf16e05518dbc66b635b2f2f.png](https://i-blog.csdnimg.cn/blog_migrate/60661a6b72a01994c4c45592c3fec10b.jpeg)
假设我们以如图点为初始化点,该点处的斜率的符号是负的,即()/() < 0,所以接下来会向右走一步。
![b699a743efe0c1608b20ca13bdd76c3c.png](https://i-blog.csdnimg.cn/blog_migrate/084aa4c0fb5192a8dc8d4d6f6a9fe566.jpeg)
整个梯度下降法的迭代过程就是不断地向右走,即朝着最小值点方向走。
逻辑回归的代价函数(成本函数)(, )是含有两个参数的。
![8368536243c6d377565bc894e97c90b7.png](https://i-blog.csdnimg.cn/blog_migrate/9bcd61160977c7b8cd431c015cbceb31.jpeg)