Stanford機器學習---第一講. Linear Regression with one variable

原文:http://blog.csdn.net/abcjennifer/article/details/7691571網絡

 

本欄目(Machine learning)包括單參數的線性迴歸、多參數的線性迴歸、Octave Tutorial、Logistic Regression、Regularization、神經網絡、機器學習系統設計、SVM(Support Vector Machines 支持向量機)、聚類、降維、異常檢測、大規模機器學習等章節。全部內容均來自Standford公開課machine learning中Andrew老師的講解。(https://class.coursera.org/ml/class/index機器學習

 

第一章-------單參數線性迴歸 Linear Regression with one variable函數

 

(一)、Cost Function學習

線性迴歸是給出一系列點假設擬合直線爲h(x)=theta0+theta1*x, 記Cost Function爲J(theta0,theta1).net

之因此說單參數是由於只有一個變量x,即影響迴歸參數θ1,θ0的是一維變量,或者說輸入變量只有一維屬性。設計

下圖中爲簡化模式,只有theta1沒有theta0的狀況,即擬合直線爲h(x)=theta1*xblog

左圖爲給定theta1時的直線和數據點×ci

右圖爲不一樣theta1下的cost function J(theta1)get

 

cost function plot:it

 

當存在兩個參數theta0和theta1時,cost function是一個三維函數,這種樣子的圖像叫bowl-shape function

將上圖中的cost function在二維上用不一樣顏色的等高線映射爲以下右圖,可得在左圖中給定一個(theta0,theta1)時又圖中顯示的cost function.

咱們的目的是最小化cost function,即上圖中最後一幅圖,theta0=450,theta1=0.12的狀況。

 

 

 

(二)、Gradient descent

gradient descent是指梯度降低,爲的是將cost funciton 描繪出以後,讓參數沿着梯度降低的方向走,並迭代地不斷減少J(theta0,theta1),即穩態。

每次沿着梯度降低的方向:

參數的變換公式:其中標出了梯度(藍框內)和學習率(α):

 

gradient即J在該點的切線斜率slope,tanβ。下圖所示分別爲slope(gradient)爲正和負的狀況:

 

同時更新theta0和theta1,左邊爲正解:

 

關於學習率:

α過小:學習很慢;                                                             α太大:容易過學習

因此若是陷入局部極小,則slope=0,不會向左右變換

本圖表示:無需逐漸減少α,就能夠使降低幅度逐漸減少(由於梯度逐漸減少):

求導後:

 

由此咱們獲得:

其中x(i)表示輸入數據x中的第i組數據

相關文章
相關標籤/搜索