梯度下降算法
梯度下降,依照所给数据,判断函数,随机给一个初值w,之后通过不断更改,一步步接近原函数的方法。更改的过程也就是根据梯度不断修改w的过程。
以简单的一元函数为例
原始数据为
x_data = [1.0,2.0,3.0]
y_data = [2.0,4.0,6.0]
因此我们设置函数为
对于该函数,我们的w是未知的,因此如何根据xy的数据,获取到正确的w值就是梯度下降的目标。
首先我们要先给定一个随机w值,这个值可以是任何数,我们的算法就会根据我们所计算的cost函数,判断偏离正确数据有多大,之后根据梯度,对w进行更新,直到cost为0,我们也就获取到正确的w值。
cost函数,也就是根据自己的模拟量,算出的结果与原函数所给数据的差值的平方
cost函数的表示为(所求的是N个数据的平均cost)
cost函数对w的求导为