2015-04-05 74 views
-1

我在學習Machine Learning。我正在閱讀一個名爲Linear Regression with one variable的主題,在理解Gradient Descent Algorithm時我感到困惑。瞭解漸變下降算法

假設我們給出了一個Training Set的問題,使得對$(x^{(i)},y^{(i)})$表示(特徵/輸入變量,目標/輸出變量)。我們的目標是爲這個訓練集創建一個假設函數,它可以進行預測。

設定功能: $$^h _ {\ THETA}(X)= \ theta_0 + \ theta_1 X $$

我們的目標是選擇$(\ theta_0,\ theta_1)$最佳逼近我們的$ ħ_ {\ THETA}(X)$這將預測對訓練集

成本函數值: $$Ĵ(\ theta_0,\ theta_1)= \壓裂{1} {2米} \總和\ limits_ {I = 1}^m(h _ {\ theta}(x^{(i)}) - y^{(i)})^ 2 $$

$$ J(\ theta_0,\ theta_1)= \ frac {1} {2} \ times均方誤差$$

我們必須最小化$ J(\ theta_0,\ theta_1)$以獲得值$(\ theta_0,\ theta_1)$,我們可以將它放在我們的假設函數中以最小化它。我們可以通過在plot($ theta_0,\ theta_1,J(\ theta_0,\ theta_1))$上應用Gradient Descent Algorithm來實現。

我的問題是我們如何選擇$(\ theta_0,\ theta_1)$並繪製曲線$(\ theta_0,\ theta_1,J(\ theta_0,\ theta_1))$。在線講座中,我正在觀看。講師講了一切,但沒有提到情節將來到哪裏。

+2

雖然你可以使用漸變下降 - 爲什麼?這個成本函數是凸的,它有一個衆所周知的奇異最小值:'$ \ theta =(X^T * X)^ { - 1)X^Ty $',其中'y'是列車集對於大小爲n的訓練集,1×n維),並且「X」是2xn矩陣,其中每行'X_i =(1,x_i)'。 – amit 2015-04-05 17:53:40

回答

1

在每次迭代中,您將有一些h_\theta,您將計算值1/2n * sum{(h_\theta(x)-y)^2 | for each x in train set}
在每次迭代中,h_\theta是已知的,並且每個火車集樣本的值(x,y)是已知的,因此很容易計算上述值。

對於每次迭代,您都有一個新值\theta,您可以計算新的MSE。

該圖本身將在x軸上具有迭代編號,並且在y軸上具有MSE。

作爲一個方面說明,雖然你可以使用梯度下降 - 沒有理由。這個成本函數是凸的,它具有衆所周知的單數最小值:$\theta = (X^T*X)^{-1)X^Ty$,其中y是列車集合的值(對於大小爲n的列車集合的1×n維),並且X是2×n矩陣,其中每行X_i=(1,x_i)

+2

我認爲人們教授梯度下降回歸的原因是,如果你有一個非常高維的特徵空間,封閉形式最小二乘解是不切實際的,因爲它涉及矩陣求逆。當你只有兩個特徵時,這顯然是不明智的,但當你具有低維空間時,更容易理解該方法 – 2015-04-06 16:12:19