單參數線性迴歸 Linear Regression with one variable
(一)、Cost Function
線性迴歸是給出一系列點假設擬合直線爲h(x)=theta0+theta1*x, 記Cost Function爲J(theta0,theta1)
之所以說單參數是因爲只有一個變量x,即影響迴歸參數θ1,θ0的是一維變量,或者說輸入變量只有一維屬性。
下圖中爲簡化模式,只有theta1沒有theta0的情況,即擬合直線爲h(x)=theta1*x
左圖爲給定theta1時的直線和數據點×
右圖爲不同theta1下的cost function J(theta1)
cost function plot:
當存在兩個參數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組數據