臺灣大學林軒田機器學習基石課程學習筆記9 -- Linear Regression

2021-03-01 AI有道

上節課,我們主要介紹了在有noise的情況下,VC Bound理論仍然是成立的。同時,介紹了不同的error measure方法。本節課介紹機器學習最常見的一種算法:Linear Regression。

一、線性回歸問題

在之前的Linear Classification課程中,講了信用卡發放的例子,利用機器學習來決定是否給用戶發放信用卡。本節課仍然引入信用卡的例子,來解決給用戶發放信用卡額度的問題,這就是一個線性回歸(Linear Regression)問題。

‍‍‍‍‍‍令用戶特徵集為d維的X,加上常數項,維度為d+1與權重w的線性組合即為Hypothesis,記為h(x)。線性回歸的預測函數取值在整個實數空間,這跟線性分類不同。‍‍‍‍‍‍

根據上圖,在一維或者多維空間裡,線性回歸的目標是找到一條直線(對應一維)、一個平面(對應二維)或者更高維的超平面,使樣本集中的點更接近它,也就是殘留誤差Residuals最小化。

一般最常用的錯誤測量方式是基於最小二乘法,其目標是計算誤差的最小平方和對應的權重w,即上節課介紹的squared error:

二、線性回歸算法

樣本數據誤差Ein是權重w的函數,因為X和y都是已知的。我們的目標就是找出合適的w,使Ein能夠最小。那麼如何計算呢?

首先,運用矩陣轉換的思想,將Ein計算轉換為矩陣的形式。

然後,對於此類線性回歸問題,Ein(w)一般是個凸函數。凸函數的話,我們只要找到一階導數等於零的位置,就找到了最優解。那麼,我們將Ew對每個wi,i=0,1,⋯,d求偏導,偏導為零的wi,即為最優化的權重值分布。

根據梯度的思想,對Ew進行矩陣話求偏導處理:

令偏導為零,最終可以計算出權重向量w為:

三、泛化問題

現在,可能有這樣一個疑問,就是這種求解權重向量的方法是機器學習嗎?或者說這種方法滿足我們之前推導VC Bound,即是否泛化能力強Ein≈Eout?

有兩種觀點:1、這不屬於機器學習範疇。因為這種closed-form解的形式跟一般的機器學習算法不一樣,而且在計算最小化誤差的過程中沒有用到迭代。2、這屬於機器學習範疇。因為從結果上看,Ein和Eout都實現了最小化,而且實際上在計算逆矩陣的過程中,也用到了迭代。

其實,只從結果來看,這種方法的確實現了機器學習的目的。下面通過介紹一種更簡單的方法,證明linear regression問題是可以通過線下最小二乘法方法計算得到好的Ein和Eout的。

首先,我們根據平均誤差的思想,把Ein(wLIN)寫成如圖的形式,經過變換得到: 

下面從幾何圖形的角度來介紹帽子矩陣H的物理意義。

圖中,y是N維空間的一個向量,粉色區域表示輸入矩陣X乘以不同權值向量w所構成的空間,根據所有w的取值,預測輸出都被限定在粉色的空間中。向量y^就是粉色空間中的一個向量,代表預測的一種。y是實際樣本數據輸出值。

機器學習的目的是在粉色空間中找到一個y^,使它最接近真實的y,那麼我們只要將y在粉色空間上作垂直投影即可,投影得到的y^即為在粉色空間內最接近y的向量。這樣即使平均誤差E¯最小。

從圖中可以看出,y^是y的投影,已知y^=Hy,那麼H表示的就是將y投影到y^的一種操作。圖中綠色的箭頭y-y^是向量y與y^相減,y−y^垂直於粉色區域。已知(I−H)y=y−y^那麼I-H表示的就是將y投影到y-y^即垂直於粉色區域的一種操作。這樣的話,我們就賦予了H和I-H不同但又有聯繫的物理意義。

這裡trace(I-H)稱為I-H的跡,值為N-(d+1)。這條性質很重要,一個矩陣的 trace等於該矩陣的所有特徵值(Eigenvalues)之和。下面給出簡單證明:

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

在存在noise的情況下,上圖變為:

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

同樣,對EoutEout有如下結論:

我們把E¯in與E¯out畫出來,得到學習曲線:

當N足夠大時,E¯in與E¯out逐漸接近,滿足E¯in≈E¯out,且數值保持在noise level。這就類似VC理論,證明了當N足夠大的時候,這種線性最小二乘法是可以進行機器學習的,算法有效!

四、Linear Regression方法解決Linear Classification問題

之前介紹的Linear Classification問題使用的Error Measure方法用的是0/1 error,那麼Linear Regression的squared error是否能夠應用到Linear Classification問題?

下圖展示了兩種錯誤的關係,一般情況下,squared error曲線在0/1 error曲線之上。即

根據之前的VC理論,Eout的上界滿足:

從圖中可以看出,用代替,Eout仍然有上界,只不過是上界變得寬鬆了。也就是說用線性回歸方法仍然可以解決線性分類問題,效果不會太差。二元分類問題得到了一個更寬鬆的上界,但是也是一種更有效率的求解方式。

五、總結

本節課,我們主要介紹了Linear Regression。首先,我們從問題出發,想要找到一條直線擬合實際數據值;然後,我們利用最小二乘法,用解析形式推導了權重w的closed-form解;接著,用圖形的形式得到,證明了linear regression是可以進行機器學習的,;最後,我們證明linear regressin這種方法可以用在binary classification上,雖然上界變寬鬆了,但是仍然能得到不錯的學習方法。

歡迎關注公眾號學習交流~


相關焦點

  • 臺灣大學林軒田機器學習基石課程學習筆記1 -- The Learning Problem
    最近在看NTU林軒田的《機器學習基石》課程,個人感覺講的非常好。整個基石課程分成四個部分:每個部分由四節課組成,總共有16節課。
  • 【本站原創】臺大林軒田《機器學習基石》系列課程教材的習題解答和實現
    臺灣大學林軒田老師的《機器學習基石》、《機器學習技法》課程由淺入深、內容全面,基本涵蓋了機器學習領域的很多方面。
  • 獨家乾貨 | 林軒田機器學習課程精煉筆記!
    點擊上方「AI有道」,選擇「星標」公眾號重磅乾貨,第一時間送達臺灣大學林軒田老師曾在coursera上開設了兩門機器學習經典課程:《機器學習基石》和《機器學習技法》。《機器學習基石》課程由淺入深、內容全面,基本涵蓋了機器學習領域的很多方面。其作為機器學習的入門和進階資料非常適合。《機器學習技法》課程主要介紹了機器學習領域經典的一些算法,包括支持向量機、決策樹、隨機森林、神經網絡等等。林老師的教學風格也很幽默風趣,總讓讀者在輕鬆愉快的氛圍中掌握知識。本文列出了林軒田機器學習基石和機器學習技法課程的所有精煉筆記,均是紅色石頭精心製作的原創內容。
  • 臺灣大學林軒田機器學習基石課程學習筆記13 -- Hazard of Overfitting
    本節課介紹這種模型複雜度增加帶來機器學習中一個很重要的問題:過擬合(overfitting)。一、What is Overfitting?‍‍首先,我們通過一個例子來介紹什麼bad generalization。
  • ​機器學習基石 - (林軒田主講)課程學習
    機器學習 - 林軒田臺灣大學-林軒田老師的機器學習課程課程有點小難度,但是是從另外一個角度來闡述機器學習,很有意思!
  • 林軒田《機器學習基石》課程總結
    公眾號發布了一系列臺灣大學資訊工程系林軒田(Hsuan-Tien Lin)教授開設的《機器學習基石》
  • 林軒田機器學習基石課程學習筆記1 -- The Learning Problem
    學習就是人類通過觀察、積累經驗,掌握某項技能或能力。就好像我們從小學習識別字母、認識漢字,就是學習的過程。而機器學習(Machine Learning),顧名思義,就是讓機器(計算機)也能向人類一樣,通過觀察大量的數據和訓練,發現事物規律,獲得某種分析問題、解決問題的能力。
  • 不要怕,吳恩達機器學習課程筆記2-多元線性回歸
    比如說最簡單的,已有特徵「長」和「寬」,可以使用生成的特徵「面積」來進行模型的學習。另外h(x)也可以使用polynomial regression來代替linear regression,則:推薦閱讀:精選乾貨|近半年乾貨目錄匯總連載筆記|MIT線性代數課程精細筆記[第七課]-Ax
  • 機器學習算法可行性(機器學習基石)
    本文是作者學習臺大林軒田教授《機器學習基石》課程後整理的簡要筆記(未按課程回目分節),內容大部分來源於林軒田教授的課程資料,其餘相關參考連結已標出
  • 贊,全網開發者都在學的26個課程!
    :《Linear Algebra》講師:Gilbert Strang學習地址:https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/3、斯坦福 2017 季 CS231n 深度視覺識別課程視頻
  • 線性回歸(Linear Regression)原理小結
    x0+θ1*x1    m = y.size     J_loss = 1./(2*m) * np.sum(np.square(h_x-y))    return J_loss加載數據:data = np.loadtxt(data_dir + 'linear_regression_data1
  • 收藏,全網開發者都在學的26門AI課程!
    list=PLqYmG7hTraZDM-OYHWgPebj2MfCFzFObQ 9、全棧深度學習訓練營(課程視頻):為熟悉深度學習基礎知識的開發人員提供的實踐指導課程 https://github.com/full-stack-deep-learning/fsdl-text-recognizer-project
  • 贊,全網開發者都在學的 26 門 AI 課程!
    list=PLqYmG7hTraZDM-OYHWgPebj2MfCFzFObQ9、全棧深度學習訓練營(課程視頻):為熟悉深度學習基礎知識的開發人員提供的實踐指導課程https://github.com/full-stack-deep-learning/fsdl-text-recognizer-projecthttps:
  • 資源推薦|機器學習與深度學習視頻和書籍資源拿去!
    也有一些很好的付費課程,但本文主要提供免費內容的推薦。有相當多的大學課程都提供在線課程材料,但沒有視頻。以下課程可以足夠你忙上幾個月了:Coursera — 機器學習(Machine Learning) 授課:Andrew Nghttps://www.coursera.org/learn/machine-learning#syllabusCoursera
  • 臺灣大學林軒田機器學習基石課程學習筆記16(完結) -- Three Learning Principles
    這個例子表明,抽樣的樣本會影響到結果,用一句話表示「If the data is sampled in a biased way, learning will produce a similarly biased outcome.」意思是,如果抽樣有偏差的話,那麼學習的結果也產生了偏差,這種情形稱之為抽樣偏差Sampling Bias。
  • 「人工智慧核心之機器學習(3)」——實現Linear Regression
    同樣的在機器學習中,一個重要而且很常見的問題就是學習特徵變量(自變量)與響應變量(因變量)之間的函數關係,進而對新出現的變量進行結果預測。這種尋找連續變量與目標結果間關係的方式稱之為回歸,與上節分享的KNN實現的離散變量的分類,均屬於機器學習有監督算法的核心功能,是實現預測的重要方式。
  • Auto Machine Learning 自動化機器學習筆記
    自動學習樣本數據: meta-learning,去學習樣本數據的模樣,自動推薦合適的模型。比如文本數據用什麼模型比較好,比如很多的離散數據用什麼模型好。自動調超參:Bayesian optimizer,貝葉斯優化。
  • 開發者入門必讀:最值得看的十大機器學習公開課
    但因為時間久遠,涉及的一些概念與今天的開發者並沒有太大關聯,更適合需要了解人工智慧來龍去脈的大學師生。這門課程與之類似,能幫助學習者理清機器學習的發展脈絡。它適合計劃進行系統性學習、投入大量時間的人。對於初學者,建議至少聽完吳恩達的機器學習課程之後,再修這一門。4. 臺大林軒田老師的機器學習基石
  • 面向工程師的最佳統計機器學習課程,Fall 2017 美國聖母大學,28章節詳細講述(附PPT下載,課程目錄視頻)
    【導讀】美國聖母大學2017年新開課程《給科學家和工程師的統計學習》Statistical Computing for Scientists
  • B 站上有哪些值得學習的 AI 課程...
    需要視頻配套資料的可以看看這裡 https://zhuanlan.zhihu.com/p/84214338 這是國內黃博士為吳老師課程配的全套資料,包括視頻字幕,對應 python 代碼,原版 PPT,中文版筆記等等2、林軒田機器學習基石 (國語)https