多元線性模型下的最小二乘法

有了「線性代數基礎概念」的打底,今天我就要來兌現前天的諾言

先來回顧一下一元線性模型:

J_{LS}left( theta right)=frac{1}{2}sum_{i=1}^{n}{left( f_{theta} left( x_{i} right)-y_{i}right)^{2}} (1.1)

式1.1中的 f_{theta} left( x_{i} right) 即為前文提到過的預測值, y_{i} 為對應的實際值, f_{theta} left( x_{i} right)-y_{i} 是「殘差」, J_{LS}left( theta right) 是殘差和。

現在看就很簡單了吧(前面你真的認真看了的話)。

如果使用線性模型

 f_{theta}left( x right)=sum_{i=1}^{b}{left( phi_{i} left( x_{i} right)·theta_{i}right)}=Phitheta^{T} (1.2)

其中:  theta^{T} =left( begin{array}{ccc} theta_{1} theta_{2}··· theta_{b}  end{array} right) , Phi left( x right) =left( begin{array}{ccc} phi_{1} left( x_{1} right)&phi_{1} left( x_{2} right) &cdotcdotcdot & phi_{1} left( x_{b} right) phi_{2} left( x_{1} right)&phi_{2} left( x_{2} right)&cdotcdotcdot &phi_{2} left( x_{b} right)  cdotcdotcdot phi_{n} left( x_{1} right) &phi_{n} left( x_{2} right)&cdotcdotcdot & phi_{n} left( x_{b} right)  end{array} right)

f_{theta} left( x right)就是之前一元模型中 f_{theta} left( x_{i} right) (預測值),為什麼要把它變成一個矩陣和一個向量相乘呢?

解毒:phi left( x right) 被稱為「設計矩陣」(也就是為了達成目的人為設定的矩陣),行表示樣本,列表示特徵,這裡可以這麼看:在學習階段(或稱訓練階段),我們要向計算機輸入一部分已知的房子的參數,每一行就表示一套房子(樣本),每一列則代表對應房子的採光、通風、面積大小等等(特徵)。

theta^{T} 是「權重係數」,理解起來也很方便,結合昨天的矩陣乘法可知:每套房子的價格=  theta_{1}% 採光+  theta_{2}% 通風+  theta_{3}% 面積大小 +····(  theta_{i}%0% ~ 100% ),即

 theta^{T} times Phi left( x right)=(theta_{1},theta_{2},···,theta_{b})^{T} timesleft( begin{array}{ccc} phi_{1} left( x_{1} right)&phi_{1} left( x_{2} right) &cdotcdotcdot & phi_{1} left( x_{b} right) phi_{2} left( x_{1} right)&phi_{2} left( x_{2} right)&cdotcdotcdot &phi_{2} left( x_{b} right)  cdotcdotcdot phi_{n} left( x_{1} right) &phi_{n} left( x_{2} right)&cdotcdotcdot & phi_{n} left( x_{b} right)  end{array} right) =left( begin{array}{ccc} phi_{1} left( x_{1} right)timestheta_{1}+phi_{1} left( x_{2} right) timestheta_{2}+cdotcdotcdot+phi_{1} left( x_{b} right)timestheta_{b} phi_{2} left( x_{1} right)timestheta_{1}+phi_{2} left( x_{2} right) timestheta_{2}+cdotcdotcdot+phi_{2} left( x_{b} right)timestheta_{b} phi_{3} left( x_{1} right)timestheta_{1}+phi_{3} left( x_{2} right) timestheta_{2}+cdotcdotcdot+phi_{3} left( x_{b} right)timestheta_{b} end{array} right)

那麼一元線性模型

J_{LS}left( theta right)=frac{1}{2}sum_{i=1}^{n}{left( f_{theta} left( x_{i} right)-y_{i}right)^{2}}

就可以改寫為

J_{LS}left( theta right)=frac{1}{2}left| left| Phitheta^{T} -yright| right|_{2} (1.3)

解毒:一模一樣的形式 :式1.3中的「 Phitheta^{T}」就是式1.1中「f_{theta} left( x_{i} right) 」(也就是預測值),這裡的 y_{i} = left(y_{1},y_{2},···,y_{n}right)^{T} 是訓練輸出的 n 維向量(也就是對應房子的實際價格)。 left| left| Phitheta^{T} -yright| right|_{2}Phitheta^{T} -y 的「 2 範數」(由於 left| left| Phitheta^{T} -yright| right|_{2} 的結果是一個 btimes 1 的向量,所以這裡求的是「向量的 2 範數」或稱「Euclid範數」),

left| left| Phitheta^{T} -yright| right|_{2}=sqrt{sum_{i=1}^{b}{left(phi_{i} left( x_{i} right)-y_{i} right)^{2}}} =sqrt{sum_{i=1}^blambda_i^2} lambda_{i}phi_{i} left( x_{i} right)-y_{i} 的殘差,一個向量的 2 範數即向量元內素絕對值的平方和再開方。


以上就是線性小二的全部了(應該吧...),其實之前我還挖了一個坑:就是我講一元模型的時候提到了最小二乘法的目的就是適度的修正預測值和實際值之間的偏差,但沒提具體的修正過程,其中涉及到一些高等數學的基礎知識,所以之後會先介紹「導數」和「偏導數」的概念,接著才講擬合的細節。


推薦閱讀:

柯潔食言:明年四月,再戰AI
竟然還能後空翻,這真的還是機器人嗎?來看看波士頓動力最新的Atlas
Patchouli的機器學習系列教程四:基底函數——『器』
《論文研讀系列》Light-Head R-CNN
人工智慧社會學—未來新興學科?

TAG:机器学习 | 最小二乘法 | 人工智能 |