林軒田-機器學習基石 課堂筆記(九) Linear Regression

1、Linear Regression Problem

我們之前的課程講到我們在二元分類情況下證明的VC bound是可以用在不同的error measure和有noise的情形,當然也包括我們regression。想象我們已經有了bound,那麼演算法上我們應該怎麼設計呢?

回到我們之前講的銀行發信用卡的例子,如果今天銀行不是要決定給不給用戶發信用卡,而是要決定給某個用戶多少的額度,那麼這就不是一個是非題了,輸出的不是+1或者-1而是一個具體的實數,因此我們可以看到regression問題的特點就是其輸出空間是整個實數,當然在信用卡這個問題上,輸出空間爲正實數。那麼當輸出空間爲實數時,我們的hypothesis會長什麼樣子呢? 



比如我們有顧客的一部分資料,我們將這些資料做一個加權處理,算一個分數,用這個分數來做運算。我們希望得出的這個分數與我們決定給用戶的信用卡額度十分接近,這就與感知機不同了,因爲感知機在算出分數後還要決定它是+1還是-1。

linear regression的hypothesis的圖形如下:(左邊輸入空間爲一維,右邊輸入空間爲爲二維)



可以看到,迴歸分析的目的是找出一條線或者一個平面來描述資料點。這些紅色的部分我們叫做誤差或者餘數(residuals)。

傳統上,我們要衡量餘數小不小,一般用squared error進行錯誤衡量。 



注意我們現在討論的是可能有noise的環境,除了輸入x要從某個distribution出來,我們的輸出y也要從某個distribution出來,然後兩者結合起來,我們纔可以說(x,y)是服從聯合概率分佈的。

接下來我們就要考慮怎麼最小化Ein。


2、Linear Regression Algorithm

我們的目標是找到合適的w使得Ein(w)越小越好。爲了方便計算,首先將向量w轉置乘向量x轉化爲向量x轉置乘向量w(向量內積符合交換律),再將平方求和轉化爲向量的模的平方,最後整理公式(d+1是因爲加了x0的一列向量)。 




我們發現Ein關於w的圖形爲一個連續可微的凸函數(注意函數凹凸性與同濟版高數書中的函數凹凸性相反),因此我們要找到最小的Ein,即找到對w梯度爲0的位置,記爲wLin。


 

將Ein(w)展開(Xw爲一個列向量,y也爲一個列向量,故其差爲一個列向量,該列向量的模的平方爲其內積,因此可以表示爲向量轉置乘向量的形式 ) 



假設爲w只有一個維度,展開時如左圖;當w爲一個向量時,展開如右圖(對應左圖)。  





我們現在想要找到梯度爲0的點,如果A矩陣可逆,很容易可以得到wLin。

 


pseudo-inverse是僞逆,因爲輸入矩陣X(維度爲(d+1)*N)很少情況下是方陣(N=d+1)。但這種僞逆矩陣的形式和方陣中的逆矩陣具有很多相似的性質,因此纔有此名。矩陣A一般情況下是可逆的,因爲機器學習過程中,通常都滿足N>>d+1,因此A中存在足夠的自由度使其滿足可逆的條件。

當矩陣A不可逆時,Ein的式子可看做線性代數中Aw=b求w的問題,實際上此時可以得到許多滿足條件的解,只需要通過其他方式定義僞逆矩陣,然後求出滿足條件的wLin。 



總結一下linear Regression的演算法:



3、Generalization Issus

我們可能會想,這種求解權重向量的方法真的是機器學習嘛?有兩種觀點;1、這不是機器學習,更接近於一種分析,並且在求解過程中沒有相對提升Ein或者Eout的準確率;2、這是機器學習,因爲從結果上來看,Ein和Eout都實現了最小化,且在實際計算過程中,求解僞逆矩陣並不是一步得到結果,而是需要幾次迭代。總結來說,只要Eout(w)結果足夠好,那麼學習就發生了。 



下面我們來證明如何保證Eout足夠小,首先從Ein出發,首先觀察Ein的平均,不斷從整體樣本空間中抽取樣本集,計算Ein,最後算所有Ein的平均值。Ein的平均大概等於關於噪音的一個式子。(PS:w.r.t=with regard to;noise level爲噪音)

 


Ein(wLin)經過推導得到: 



 稱爲帽子矩陣(hat matrix),簡稱H矩陣。我們從幾何圖形來理解H矩陣的意義:

y是實際輸出向量,粉色區域表示輸入矩陣X乘以不同權值向量w所構成的空間,根據w的取值,預測的輸出都被約束在粉色區域內。 



機器學習的目的是在粉色區域中找到一個預測輸出y^使它接近最真實的y,因此我們要求的y^就是y在該粉色區域上的投影,因此有y-y^⊥粉色區域。假設y^=Hy(H表示將y投影到粉色區域爲y^),則有(I-H)y=y-y^。

PS:trace(I-H)=N-(d+1)的物理意義— —原來有一個有N個自由度的向量,現在要把它投影到d+1維的空間,取餘數,剩下的自由度最多隻有N-(d+1)個。

在存在noise的情況下: 




圖中,粉色空間的紅色箭頭是目標函數f(x),虛線箭頭是noise,可見,真實樣本輸出y由f(x)和noise相加得到。由上面推導,已知向量y經過I-H轉換爲y-y^,而noise與y是線性變換關係,那麼根據線性函數知識,我們推導出noise經過I-H也能轉換爲y-y^。 



那麼就有 



對於Eout的證明比較複雜,不做探討。

當N->∞時,Ein的平均和Eout的平均都會趨近於noise level的值;Ein的平均和Eout的平均相差2(d+1)/N。在由此我們可以得出Ein的平均和Eout的平均的圖形 



當N足夠大時,Ein和Eout逐漸接近,滿足Ein≈Eout,且數值保持noise level,這就類似VC理論,證明了當N足夠大時linear regression是可以進行機器學習的。


4、Linear Regression for Binary Classification

linear classification和linear regression到底有什麼區別和相同之處呢?  





有人可能會想,既然linear regression這麼好解,+1和-1也屬於實數集中的一部分,如果我們將線性迴歸輸出的正實數記爲+1,負實數記爲-1,那麼我們能否用求線性迴歸的方法來求二元分類問題呢?聽起來好像很有道理,但這個道理不一定是數學上的道理。

我們發現linear classification和linear regression最大的差別就是就是使用的error function不同。下面是當y=+1和-1時err與預測輸出值得關係: 



我們發現,不管我們的預測輸出值是什麼,平方的錯誤一定比0/1的錯誤來的大。 



結合之前的VC理論  





不難看出,linear classification由此得到一個更寬鬆的上界,但卻更有效率。也就是說用linear regression可以解決linear classification的問題,且效果可能不會太差。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章