機器學習-review-1 線性迴歸

發現隔一段時間,忘記了好多知識點,這裏認爲重要的知識點記錄下來,做爲筆記,方便之後回顧。算法

From 「李航- 統計學習方法」 統計學習方法的三要素: 模型,策略, 算法機器學習

 

對於線性迴歸函數

-----------------------------------------------------模型-----------------------------------------------------學習

利用稱爲線性迴歸方程的最小平方函數對一個或多個自變量因變量之間關係進行建模的一種迴歸分析。這種函數是一個或多個稱爲迴歸係數的模型參數的線性組合。只有一個自變量的狀況稱爲簡單迴歸,大於一個自變量狀況的叫作多元迴歸.spa

-----------------------------------------------------策略-----------------------------------------------------3d

線性迴歸模型常常用最小二乘逼近來擬合htm

對於只包含一個x自變量,可得出以下公式。 多個變量線性函數爲 H(x) = Φ0 + Φ1*X1 + Φ2*X2 + ... + Φn*Xnblog

 

 

 

X, Y 值已知, J(Φ) 轉化爲 Φ0 和 Φ1的函數。 問題從選擇最優的H(Φ)轉化爲求解 minJ(Φ)。由於H(Φ) 爲線性函數,所以J(Φ) 爲以下形態, 具備惟一最優解。get

  

-----------------------------------------------------算法-----------------------------------------------------學習方法

將上圖投射到平面上,造成的等高線(應該術語稱爲等高線), 問題進一步變爲如何求得中間紅星位置的Φ0 和 Φ1 是的J(Φ) 最小

 

Gradient Descent 算法: 從某一特定的值開始修改Φ0 和 Φ1 直到J(Φ) 最小。(此方法爲機器學習中一種通用的算法,不只限於線性迴歸)

 

對於偏導數Φ := Φ - a * (dJ(Φ))/dΦ, Φ 將向極值收斂, a 控制收斂的速度。

將偏導數帶入獲得線性迴歸的迭代方法, 如圖所示:

 

--------------------------------------------------------------------------------------------------------------------

在實踐過程當中須要注意的一些技巧和方法(也合適於其餘機器學習算法)

(1)學習速度的控制和取值:過小則會致使收斂較慢,太大可能會越過極值,從而沒法到達收斂點

 

可供借鑑的方法以下,取各個數量級的a 來觀測函數J(Φ)的收斂狀況,每次收斂的變化>= 0.001 

 

 

(2)feature scaling

對多個自變量,若是某個自變量的取值相對於其餘自變量的數值較大,則須要規格化。不然其餘自變量對於J(Φ)的影響和變化就很小。

可經過以下方法,將每一個自變量規格化到[-0.5, 0.5]的區間內,再進行求解。

 

(3) 對feature X1, X2, ..., XN的選擇。將一個或者多個自變量的屢次項的值引入作個一個線性自變量。

 

PS:記得在NG以前的公開課(163上有), 介紹過Newton 迭代法,是另外一種高效的快速迭代算法。

相關文章
相關標籤/搜索