一.迭代思想
这里要写的其实跟主题梯度下降是没有关系的。但是它能够让非常新的新手体会循环往复的迭代修改一个或者多个值到最优的思想。所以这里把这个列到最开始,随便看看体会一下就行了。
假设我们现在要来求解一个线性方程组,
这个方程组很容易,可以用各种方法来解.精确的解容易求出来为。
现在我们把原来的方程记为另外一种形式:
写为向量形式为,其中
现在任意取初始值,比如,然后将这个初始值带入到上面的公式中,那么求得方程组第一次迭代方程组的解,得到新的值
…..然后一直迭代下去。
在这里,迭代其实就是
即
迭代10次之后得到:
下面用Python直观的验证一下
结果为
结果逼近于精确的结果.得到的误差曲线为
可以看出,在第三次迭代之后误差就已经很小了.
到这里,你应该对于迭代有一个感性的认识了。循环往复不停迭代而已。
二.梯度下降法
梯度下降法应该是你在机器学习里面经常听说的名词了,那么怎么理解梯度下降法呢?
首先先讲讲抽象的理论上的东西。
Ⅰ.实值函数相对于实向量的梯度
定义:以n×1实向量x