機器學習筆記2:線性迴歸
機器學習筆記2:線性迴歸
Andrew Ng機器學習課程學習筆記2
線性迴歸
引數說明:
θi:parameters,引數
x:input,輸入
y:output,輸出
h:hypothesis,假設
m:資料數量
迴歸方程:
一元線性的迴歸方程的一般格式如下,用於反應輸出與輸入之間的關係。
cost function:
代價函式,就是hθ(x)與源資料的誤差的平方的平均數,用來反應hθ(x)的準確度。
目標:
目標就是讓代價函式最小。
Gradient descent
梯度下降法,最小化代價函式的一種方法。該法是從某組引數θ1,θ2開始,不斷地改變θ1,θ2的值,以使代價函式最小(或區域性最小)。而這個改變的方法是在原來的引數基礎上,減去一個數,這個數就是損失函式的導數再乘以一個速率α。
具體的實現如下:
repeat until convergence{
}
α是學習速率,若值過高,會無法收斂,找不到最小值;若過低,則收斂特別慢,需選擇合適的值。
而且,該方法的結果跟θ1,θ2的初值有很大關係,θ1,θ2處值不同可以會得到不同的結果。
注意,要同時更新每個θj,不可以分時更新。換句話說,算出θ0的值後,不能馬上把這個值賦給θ0,而是應該用舊的θ0的值,算出θ1之後,再同時更新這兩個值。
多變數的線性迴歸
上文所都是關於單一變數的情況,現在將器擴充套件為多變數的情況(即多個輸入,多個x)。
n:變數引數的個數
xj(i):變數j的第i個input,輸入
x0:值為1,把這個當成第0個變數,實際不存在,是為了寫成向量的方便,使輸入矩陣x與引數矩陣θ列數一致
多變數的梯度下降法,與單變數的一樣,也是最小化代價函式的一種方法。該法是從某組引數θ1,θ2…θj開始,不斷地改變θ1,θ2…θj的值,以使代價函式最小(或區域性最小)。
具體的實現如下:
repeat until convergence{
}
用這個計算式的時候,還是得注意要同時改變各個引數的值。此外,使用前需要將多餘的變數(比如高度線性相關的變數)刪掉,還需歸一化各個變數,這個歸一化不需要特別嚴格,只需要讓各個輸入量的量級一樣即可。