**機器學習的過程說白了就是讓我們編寫一個函數使得costfunction最小,並且此時的參數值就是最佳參數值。
定義
假設存在一個代價函數
fun:\(J\left(\theta_{0}, \theta_{1}\right)\)
通過不斷地調整\(\theta_{0}\)和\(\theta_{1}\)是函數\(J\left(\theta_{0}, \theta_{1}\right)\)取得最小值
梯度下降就是使J不斷通過導數下降的一種算法
\(\theta_{j}:=\theta_{j}-\alpha \frac{\partial}{\partial \theta_{j}} J\left(\theta_{0}, \theta_{1}\right)\)
\(a\)是學習率,也就是梯度下降的效率
- 如果學習效率過小,則導致J下降太慢,
- 如果學習效率太大,會導致到不了J最小值,會直接越過最小值,這時候代價函數反而變大了
- 因此適度最好。參考
線性回歸梯度下降
給出梯度下降的參數更新公式,\(\theta_0\)和\(\theta_1\)要同時更新
線性回歸算法
說白了就是將梯度下降算法應用到代價函數中,求使代價函數最小的\(\theta_0\)和\(\theta_1\),這個就是多元微積分里面的求偏導數,因為是兩個未知數,同時求兩個未知數
假設函數和代價函數的關系
晚點我更新一下代碼!