機器學習基石筆記9——機器可以怎樣學習(1)


轉載請注明出處:http://www.cnblogs.com/ymingjingr/p/4271742.html

目錄

機器學習基石筆記1——在何時可以使用機器學習(1)

機器學習基石筆記2——在何時可以使用機器學習(2)

機器學習基石筆記3——在何時可以使用機器學習(3)(修改版)

機器學習基石筆記4——在何時可以使用機器學習(4)

機器學習基石筆記5——為什么機器可以學習(1)

機器學習基石筆記6——為什么機器可以學習(2)

機器學習基石筆記7——為什么機器可以學習(3)

機器學習基石筆記8——為什么機器可以學習(4)

機器學習基石筆記9——機器可以怎樣學習(1)

機器學習基石筆記10——機器可以怎樣學習(2)

機器學習基石筆記11——機器可以怎樣學習(3)

機器學習基石筆記12——機器可以怎樣學習(4)

機器學習基石筆記13——機器可以怎樣學得更好(1)

機器學習基石筆記14——機器可以怎樣學得更好(2)

機器學習基石筆記15——機器可以怎樣學得更好(3)

機器學習基石筆記16——機器可以怎樣學得更好(4)

 

九、Linear Regression

線性回歸。

9.1 Linear Regression Problem

線性回歸問題。

在第二章中提到的銀行發放信用卡問題,通過是否發放信用卡引出了二元分類問題;本章再次使用這個例子通過發放用戶多大額度的信用卡引出回歸(regression)或者說線性回歸(linear regression)的問題。回歸問題與二元分類問題最大的不同在於輸出空間,二元分類的輸出空間為二元標記,要么+1要么-1,而回歸問題的輸出空間是整個實數空間,即

以銀行發放信用卡為例,輸入集合依然是用戶的特征空間,如年齡,收入等等,可以使用與二元分類一致的表示方式 ;因為輸出集合的轉變導致回歸問題的假設函數與二元分類中的有所不同,但思想一致,仍需考慮對每個輸入樣本的各個分量進行加權求和,因此最終目標函數f(含有噪音,使用y表示)的表示如公式9-1所示。

 

    (公式9-1)

 

而假設函數的向量表示如公式9-2所示。

 

    (公式9-2)

 

從公式9-2的表示方式可以看出,與二元分類假設函數的表示只差了一個取正負號的函數sign。

使用圖像的方式更形象的描述線性回歸,如圖9-1所示。

 

圖9-1 a) 1維輸入空間的線性回歸 b) 2維空間的線性回歸

 

圖9-1a中表示輸入空間為1維的線性回歸表示,其中圓圈○表示輸入樣本點,藍色直線表示假設函數,連接圓圈與藍色直線之間的紅色線段表示樣本點到假設函數的距離,稱為剩余誤差(residuals),在9-1b中有類似表示。而設計算法的核心思想是使總體剩余誤差最小。

上一章中也提到過回歸使用的錯誤衡量是平方誤差,因此如公式9-3所示。

 

    (公式9-3)

 

在線性回歸問題中,假設函數h與權值向量存在着一一對應的關系,因此公式9-3通常表示為權值向量的形式,如公式9-4所示。

 

    (公式9-4)

 

同理表示如公式9-5所示,注意這里使用的是含有噪音的形式,因此服從聯合概率分布P。

 

    (公式9-5)

 

VC限制可以約束各種情況的學習模型,當然回歸類型的模型也被也受此約束,想要學習到知識,只需要尋找足夠小便可以滿足夠小的需求。

 

9.2 Linear Regression Algorithm

線性回歸算法。

此節重點是如何尋找最小的 ,為了表達的簡便,將求和公式轉化成向量與矩陣的形式,將公式9-4轉換成公式9-6的形式。

 

(為方便顯示將向量w與向量x位置交換,因為是向量內積,符合交換律)

(將平方求和轉換成矩陣平方的形式)

(再拆解成矩陣X和向量w與向量y的形式)

    (公式9-6)

 

再回到最初的目標尋找一個最小的,如公式9-7所示。

 

    (公式9-7)

 

求解此問題,需要了解左式,其一維(d=1時)示意圖如圖9-2所示。

 

圖9-2 一維示意圖

 

可以看出該函數為連續(continuous)、可微(differentiable)的凸(convex)函數,其中連續及可微的概念,學過高等數學的都應該有所了解,凸函數說的通俗點就如圖9-2所示,像一個山谷一樣的形式(注意國內數學教材中的凹函數是這里凸函數的定義,有點囧),尋找的最佳便是山谷中的最低點,對應圖中的黑點,以數學的形式表示即梯度(gradient)為0 的點。(我理解的梯度,大概意思是某一向量其各個分量的偏導數組成的向量),梯度為的表示方式如公式9-8所示。

 

    (公式9-8)

 

其中即梯度符號,需要尋找的是,該向量滿足,這里的下標表示線性linear的意思。緊接着的問題是如何求解時的

繼續對公式9-6做轉化,如公式9-9所示。

 

    (公式9-9)

 

其中用矩陣A表示,用向量b表示,用標量c表示,緊接着對求梯度。向量對向量求導數,可能很多人都沒有接觸甚至沒有聽說過,最多也就是了解向量對某標量求導。可通過圖9-3在w為標量情況下的對比形式,理解求梯度的步驟。

 

 

圖9-3 a) w為標量時求的梯度 b) w為向量時求的梯度

 

線性代數的美妙之處就在於此,如此的相似。因此可以寫成公式9-10的形式。

 

    (公式9-10)

 

令公式9-10求梯度結果為0,即使最小。在輸入空間X與輸出向y都為已知的情況下,如何求解最佳的假設函數呢?求解該問題分為兩種情況,一是在可逆的情況下,求解該問題很簡單,將公式9-10右邊的部分設為0,如公式9-11。

 

    (公式9-11)

 

其中表示矩陣X的偽逆(pseudo-inverse),注意此處輸入矩陣X在很少的情況下才是方陣(N=d+1時)。而這種偽逆矩陣的形式和方陣中的逆矩陣具有很多相似的性質,因此才有此名稱。還有一點需要說明,在大部分的情況下是可逆的,原因是在進行機器學習時,通常滿足 ,即樣本數量N遠遠大於樣本的維度d加1,因此在中存在足夠的自由度使其可以滿足可逆的條件。

另一種是不可逆的情況,實際上可以得到許多滿足條件的解,只需要通過其他的方式求解出,選擇其中一個滿足條件的解。

總結下線性回歸算法的求解過程,首先通過已知的數據集,構建輸入矩陣X與輸出向量y,如公式9-12所示。

 

    (公式9-12)

 

通過公式9-12直接求得偽逆

在通過公式9-11求得假設函數,如公式9-13所示。

 

    (公式9-13)

 

9.3 Generalization Issue

泛化問題。

本小節討論的問題理解起來不簡單,目前自己還是一知半解,如有表述不正確的地方還希望指正。

首先要回答一個問題,上一小節中使用到的求解最佳假設函數的算法,是否能算是機器學習?

如回答不是,其理由很簡單,求解只一步就完成了,不像前面章節中提到的學習方法需要很多步的過程。實際上,這種求解方式在數學中被稱作解析解(analytical solution)或者叫封閉解或閉式解(closed-form solution),此種解是一些嚴格的公式,給出任意的自變量就可以求出其因變量,通常與數值解對應。因此這種求解方式並不像之前提到的PLA等算法時一步一步迭代求出的的最小解。

回答是的理由更看重結果,這種直接求解方式是數學推導中的精確解,因此求出的一定是的最小解,符合求解條件,而且求解偽逆算法(此方法被稱為高斯消元法,又見高斯,查了一下一共有110項以他名字命名的成果,整個機器學習筆記中你還會不斷的聽到以他命名的成果)並非如公式展示中顯示的那樣,一步就可以得出最終結果,而是需要幾次的循環迭代(觀察了矩陣求偽逆的程序,好像是三層循環,也就印證了NG在他機器學習課程中提到的矩陣求逆的復雜度為 ),只是被程序封裝的看不出迭代的過程而已。而判斷是否發生機器學習過程最主要標准是學習到的是否夠好!

其實通過改進VC限制,也可以證明在線性回歸問題中VC起到了很好的約束作用,即找到了好的就可以保證還不錯,這里不再證明,因為是件非常繁瑣的過程。此處只需要記住VC限制不只在二元分類問題中起作用,在線性回歸問題中也發揮着作用。

但是本節使用一種比VC限制更容易證明的保證,來說明解析解也可以得到一個好的

以下給出證明:為什么解析解求出的的結果是好的。而有關的證明與之類似。

首先觀察的平均,用符號表示,可寫成公式9-14所示。

 

    (公式9-14)

 

其中表示期望,不斷的從整體樣本空間中抽取樣本集,算其平均值,表示關於,表示數據中的噪音,N為每次抽樣的樣本數量,d+1為權值向量w的維度。

從上一節中得知,可以將寫成公式9-15,注意使向量形式。

 

    (公式9-15)

 

其中I是 的單位矩陣,可以使用的H矩陣(hat matrix)表示。

此處通過幾何圖形來更具體的了解H矩陣的物理意義,如圖9-4所示。

 

圖9-4 有關H矩陣的幾何圖形

 

其中紫色向量表示實際輸出向量y。

粉色區域表示輸入矩陣X乘以不同權值向量w所構成的空間,從這個定義得知,解析解求得最優權值向量所表示的輸出向量也落在該空間中,其中為N維向量,不難想象正是實際輸出向量y在該空間上的投影。

而綠色虛線表示實際輸出與最優假設輸出之間的差距,寫作。從上述情況可知

因此得知H矩陣是一個投影過程,向量是向量y通過矩陣H所做的投影,可以將矩陣H理解為一系列旋轉放縮的動作,有

的矩陣同樣也是一種線性變化, 是向量y通過的線性變化得到的向量。

在圖9-4中再加入一點元素,構成圖9-5。

 

圖9-5 加入理想的目標輸出f(x)

 

如果實際輸出矩陣y由理想的目標輸出f(x)加上噪音部分共同構成(如圖中紅色和黑色虛線部分)。則其中的形式也可以通過噪音按照的變換方式構成。因此,得到公式9-16。

 

    (公式9-16)

 

其中是通過的跡(trace)得出的。在求解之前,可以想象,因為經過兩次轉換所得到的還是第一次時的誤差向量,trace(I-H)的求解過程如公式9-17。(這里為什么使用到跡,我至今都不知道,望大神指教)

 

(根據跡的性質

(根據跡的性質

    (公式9-17)

 

最終介紹下該I-H這種轉換的物理意義:原來有一個有N個自由度的向量y,投影到一個有d+1維的空間x(代表一列的自由度,即單一輸入樣本的參數),而余數剩余的自由度最大只有N-(d+1)種。

最終可以寫出的結果,同理也可以寫出 的噪音表示,如公式9-18和公式9-19所示。

 

    (公式9-18)

 

    (公式9-19)

 

這個證明更為復雜,我也沒有找到相關資料,就不證明了,在此只介紹一下,在哲學意義上,兩者之間存在這個差異的原因。

因為前者做了優化,所以 有機會比「理想值」多 fit 數據中的 噪音一點點,所以會比「理想值」好一點;但 的部份則要付出代價(想象在測試的時候,拿到了與訓練數據「完全不同」的噪音),所以可能反而多遠離理想值一些。

從上面兩個公式可以得到一個學習鴻溝圖,如圖9-6所示。

圖9-6 機器學習的學習鴻溝

 

其中在N趨於無窮大時,兩者都會趨近於noise level的值,即

泛化錯誤之間的差距:

至此可以表明在線性回歸中可以尋找到很好的,因此線性回歸可以學習。

第一次吐糟,這一節的內容我整整寫了一天,是開始寫筆記至今,第一次一個小節寫了一天時間,普通情況邊玩邊寫一天也可以寫2到3小節,主要是這節內容確實很抽象,而且很多證明都沒有給出,給出的證明也沒有解釋清楚,可能是我太笨了,唉,其中跡的證明就是我根據提示自己整理的,如有錯誤請指正,如果你了解這部分為什么莫名其妙的使用了跡的概念也請指點下我。

 

9.4 Linear Regression for Binary Classification

使用線性回歸做二元分類。

首先對比二元線性分類與線性回歸之間的差異,分別在三個部分進行對比,輸出空間、假設函數和錯誤衡量函數,如圖9-7所示。

 

圖9-7 二元線性分類與線性回歸的對比

 

從求解問題的難度考慮,二元分類的求解是一個NP難問題,只能使用近似求解的方式,而線性回歸通過求解析解,求解方便,程序編寫也簡單。

因此考慮能否通過求解線性回歸的方式求二元分類問題,因為二元分類的輸出空間{-1,+1}屬於線性回歸的輸出空間,即。其中數據集的標記大於零的表示+1,小於零的表示-1,通過線性回歸求得的解析解,直接得出最優假設 。但是這種推理只符合直覺,而如何使用數學知識去說明這種方式的合理性呢?

觀察兩種錯誤衡量方式,分別表示為公式9-20和公式9-21。

 

    (公式9-20)

 

    (公式9-21)

 

觀察兩公式的共同特點都含有這一向量內積的形式,如果將作為橫軸,將err結果作為縱軸,可以畫出圖9-8。

其中圖9-8a)為y=+1時,兩err值的圖像表示;而圖9-8b)為y=-1時,兩err值的圖像表示。兩幅圖中紅色的線表示,藍色的先表示

 

圖9-8 a)y=+1時,兩err值 的表示 b) y=-1時兩err值的表示

 

從圖中得出公式9-22的結論。

 

    (公式9-22)

 

回憶下第七章中證明的二元分類下的上限,結合公式9-22的結論,得公式9-23。

 

        (公式9-23)

 

因此二元分類問題得到了一個更寬松的上界,但是也是一種更有效率的求解方式。

在實際運用中,一般都將通過線性回歸求得的解析解作為PLA或者pocket的初始值,達到快速求解的目的 。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM