監督學習和優化——線性迴歸
阿新 • • 發佈:2018-12-17
此為斯坦福無監督特徵學習和深度學習教程(ufldl)的學習筆記。
問題描述
我們的目標為從輸入向量預測目標值。 以預測房價為例,代表房價,表示描述房子的特徵向量(比如其大小和房間的數目)。假設給定大量的樣本,其中代表第i個房子樣本的特徵,代表第i個房子的價格。則我們的目標為找到一個函式,使得對每個訓練樣本都有。若這個函式擬合的足夠好的話,那麼當遇到新的樣本時,該函式能夠很好的預測房價。
首先,我們使用線性函式來表示。現在目標轉變為找到合適的使得儘可能接近。因此可以設定一個cost function: 該公式度量了對於一個特定的,預測產生了多少錯誤。
函式最小化
現在我們想要找到使得最小的值,其中一個高效的演算法是梯度下降(Gradient descent)。
梯度下降
隨機初始化,並重復迭代:(同時更新所有的)這裡是學習率(learning rate),代表了走的步長。其中,我們有:虛擬碼如下所示: Repeat until convergence{ }
Exercise 1A:Linear Regression
該練習題是要實現目標函式的計算和梯度的計算,公式已在上面給出。在linear_regression.m
檔案中實現程式碼如下:
%計算J(theta)
for i = 1 : m
f = f + (theta' * X(:,i) - y(i))^2;
end
f = f / 2;
%計算梯度
for i = 1 : n
for j = 1 :m
g(i) = g(i) + X(i,j) * (theta' * X(:,j) - y(j));
end
end