之前學習過了梯度下降、線性回歸模型、平方差代價函式j。上一節學習了梯度下降和任意代價函式j相結合,這一節學習將平方差代價函式j和梯度下降相結合,得到機器學習的第乙個演算法===線性回歸演算法,可以用線性模型來擬合資料。
我們要做的就是把梯度下降應用到最小化平方差代價函式j上。那麼我們首先要做的就是做好梯度下降**,關鍵是寫出導數項。
計算導數項:
將計算出的導數項帶回梯度下降公式,就得到線性回歸演算法,如下圖所示:
這裡注意兩個引數需要同時進行更新。
之前解決過的關於梯度下降的乙個問題,就是容易陷入區域性最優解。不同的初始化經常會得到不同的區域性最優解:
但是現在我們研究的是線性回歸的代價函式j,他的影象總是呈現碗狀,為凸函式。這種函式沒有區域性最優解,只有乙個全域性最優解。
所以當我們研究這種線性回歸的代價函式j的梯度下降時,它總會收斂到全域性最優解處。
如下圖,觀察線性回歸的假設函式h(x)和代價函式j:但我們執行一次梯度下降,即進行一次初始化,對應於假設函式上的一條擬合直線,可以看到,當慢慢的梯度下降後,代價函式中的點越來越接近中心點,對應的擬合直線的擬合程度也越來越高。最後梯度下降收斂於圓心處,此時的擬合直線也是擬合程度最高的,梯度下降演算法執行結束,此時,我們已經使用了線性回歸演算法自動的幫我們找到代價函式j的最小值,也確定了擬合程度最高的擬合直線對應的假設函式,我們現在就可以使用這個假設函式來**新的資料。
線性回歸演算法也叫batch梯度下降演算法,意思是他的每一次梯度下降都遍歷了訓練集中的所有資料:
現在我們認識了梯度下降,在之後的很多問題中可以使用,包括很多機器學習的問題。
機器學習(三) 梯度下降法
本部落格大部分參考了這篇博文 在微積分裡面,對多元函式的引數求 偏導數,把求得的各個引數的偏導數以向量的形式寫出來,就是梯度。比如函式f x,y 分別對x,y求偏導數,求得的梯度向量就是 f x f y 簡稱gr adf x,y 或者 f x,y 如果是3個引數的向量梯度,就是 f x f y,f ...
機器學習(九)梯度下降演算法
梯度 是乙個向量,其方向上的方向導數最大,其大小正好是此最大方向導數。關於梯度的更多介紹請看 如何直觀形象的理解方向導數與梯度以及它們之間的關係?乙個標量函式 的梯度記為 在三維直角座標系中表示為 梯度下降法 英語 gradient descent 是乙個一階最優化演算法,通常也稱為最速下降法。要使...
機器學習系列3 梯度下降
梯度下降 gradient descent 是乙個用來求代價函式最小值的演算法。梯度下降演算法的思想就是首先先從一組引數值 0,1 開始,不斷地去嘗試各種 0,1 直到使得代價函式 j 0,1 最小為止。以下圖代價函式為例,從不同起始點開始,到達的區域性最優位置不同,也就是區域性最優解不同。那麼如何...