**机器学习的过程说白了就是让我们编写一个函数使得costfunction最小,并且此时的参数值就是最佳参数值。
定义
假设存在一个代价函数
fun:(Jleft( heta_{0}, heta_{1}
ight))
通过不断地调整( heta_{0})和( heta_{1})是函数(Jleft( heta_{0}, heta_{1}
ight))取得最小值
梯度下降就是使J不断通过导数下降的一种算法
( heta_{j}:= heta_{j}-alpha frac{partial}{partial heta_{j}} Jleft( heta_{0}, heta_{1}
ight))
(a)是学习率,也就是梯度下降的效率
- 如果学习效率过小,则导致J下降太慢,
- 如果学习效率太大,会导致到不了J最小值,会直接越过最小值,这时候代价函数反而变大了
- 因此适度最好。参考
线性回归梯度下降
给出梯度下降的参数更新公式,( heta_0)和( heta_1)要同时更新
线性回归算法
说白了就是将梯度下降算法应用到代价函数中,求使代价函数最小的( heta_0)和( heta_1),这个就是多元微积分里面的求偏导数,因为是两个未知数,同时求两个未知数
假设函数和代价函数的关系
晚点我更新一下代码!