您如何描述梯度下降和正規方程之間的差異作為擬合線性迴歸的兩種方法?
首先讓我們瞭解它是什麼 Linear Regression
線性迴歸:
迴歸是一種基於獨立預測因子x對目標值Y進行建模的方法。迴歸技術的不同主要取決於自變量的數量和自變量與因變量之間關係的類型。
簡單線性迴歸是一種迴歸分析,其中自變量數為1,自變量(X)和因變量(Y)之間存在線性關係。上圖中的紅線表示最佳擬合線,該線的方程稱為Hypothesis Function。
Y = w0 + w1*X ` ## Linear Equation
其中w0和w1是我們需要優化的權重,這樣我們才能最合適的線來減少損失。
梯度下降法是利用迭代法求出w0和w1的值,使總損失最小化的方法
梯度下降:
梯度下降法是一種求函數最小值的一階迭代優化算法。要使用梯度下降法找到函數的局部最小值,需要採取與函數在當前點的梯度(或近似梯度)的負值成正比的步驟。如果一個人採取與梯度的正值成正比的步驟,那麼他就會接近該函數的局部最大值;這個過程被稱為梯度上升。
線性函數的損失函數是二次方程1/2(y_- y_real)**2,其形狀如下所示
凸函數只有一個最小值。因為w的值是最小的。利用w的每個值求最小代價是一個非常耗時的過程,更好的方法是梯度下降法
梯度下降算法在負梯度方向上邁出一步,以儘可能快地減少損失。
為了確定損失函數曲線上的下一點,梯度下降算法將梯度幅度的一部分加到起點上,如下圖所示:
之後,它將計算該點的成本函數的導數,該導數定義了我們需要移動哪個方向以降低成本。
然後梯度下降重複這個過程,越來越接近最小值。
建立一個直觀的圖像,顯示如何擬合一條直線,以找到(全局)函數的最小值(成本函數)。
下面是我用來解釋Hypothesis function當我們達到全局最小成本函數時如何嘗試擬合點的圖表。
正規方程:
正規方程是另一種尋找全局最小值或成本最小的權重(W)的方法。
- 對於一些線性迴歸問題,Normal方程提供了更好的解。
- 梯度下降是迭代過程,而正規方程是W解析解。
正規方程的基本步驟如下。
- 對Cost functionwrt求導 w.r.t to W
- 將導數設為0。
- 解出W的值,使Cost function最小化
實現正規方程
舉個例子
- 添加一個額外的列(x0特徵)
- 構造一個矩陣(X - the design matrix),其中包含矩陣中的所有訓練數據特徵[m x n+1]。
- 對 Y做類似處理
- 構造列向量y [m x 1]矩陣
- 使用以下等式 (X transpose * X) inverse times X transpose Y.
- W = (X_transpose*X)inverse*X_transpose*Y
- 如果您計算上述等式,您將獲得W最小化成本函數的值。
梯度下降與正規方程的比較
閱讀更多 不靠譜的貓 的文章