線性回歸模型與梯度下降法


一、機器學習概述:

  1. 學習動機:

  • 機器學習已經在不知不覺中滲透到人們生產和生活中的各個領域,如郵箱自動過濾的垃圾郵件、搜索引擎對鏈接的智能排序、產品廣告的個性化推薦等;
  • 機器學習橫跨計算機科學、工程技術和統計學等多個學科,需要融合多學科的專業只是,也同樣可以作為實際工具應用到各行各業之中;
  • 如何從移動計算和傳感器所產生的海量數據中抽取出有價值的信息將成為一個非常重要的課題,也會是未來生產力的爆發點。

  2. 定義:

  • Authur Samuel在1959年非正式地定義機器學習為:在不直接針對問題進行編程的情況下賦予計算機學習學習能力的一個研究領域;他曾經寫過一個讓計算機自己和自己下西洋棋的算法,通過成千上萬次練習,程序開始明白怎樣的局面會有利於贏,怎樣的局面會導致於輸。
  • Tom Mitchell在1998年提出更為正式的機器學習定義:一個合適的學習問題——對於一個計算機程序來說給它一個任務T和一個性能測量方法P,如果在經驗E的影響下,P對T的測量結果得到了改進,那么就說該程序從E中學習。(例如,T為下棋,E為下棋的經驗,P為它與人類棋手對弈的勝率,這樣定義該程序在學習怎樣下棋)

  3. 組成部分:

  • Supervised Learning(監督學習):人工地給算法提供了標准答案,如Regression(回歸):需要預測的變量是連續的,根據房屋面積與價格之間的已知關系來判斷新的房屋面積所對應的價格;Classification(分類)根據腫瘤的大小來判斷病人是否患有癌症。
  • Learning Theory(學習理論):能夠理解和保證學習型算法高效地工作,如讀取郵編號碼中所用到的數學理論基礎。
  • Unsupervised Learning(非監督學習):不知道任何數據標准答案,尋找數據中的結構,如雞尾酒問題中用到的聚類算法。
  • Reinforcement Learning(強化學習):不需要作出一次性決策的情況下,在一段時間內做出一系列的決策,如教會小車在告訴行駛中如何避開障礙。

二、監督學習應用:

  • 線性回歸
  • 梯度下降
  • 標准方程
  • 概率解釋

   1. 線性回歸

   引例:房屋估價系統

         房屋估價系統問題就是當知道房屋面積、卧室個數與房屋價格的對應關系之后,在得知一個新的房屋信息后如何得到對應的新房屋價格,這類問題可以簡化為:

           

         尋找房屋面積、卧室個數與房屋價格之間關系方程的過程就是回歸,這里假設他們之間是線性關系,即房屋價格可以被表示為房屋面積與卧室個數的一維線性方程,如:

         

         這里x表示與房屋價格相關的特征,x1為房屋面積,x2為卧室個數,θ可以理解為各個特征的影響權重。

 

    抽象地總結一下

         回歸:用一條曲線對數據點進行擬合,該曲線稱為最佳擬合曲線,這個擬合過程叫做回歸。回歸問題的求解過程就是通過訓練分類器采用最優化算法來尋找最佳擬合參數集。

         線性回歸:當該曲線為一條直線時,就是線性回歸。其中,“線性”是指特征和結果都是線性的,即不大於一次方,每個分量表示一個特征,向量表示為:

         h=hypothesis,是特征函數的估計表達式,由於求解一個含有參數眾多的線性矩陣方程,需要建立足夠的約束條件才能得到唯一解。

         實際上由於條件有限,大多數情況下都是求解超定方程組的近似最優解,即滿足使得估計值與實際值的方差最小時的參數解,可以表示為:

         這就是損失函數,求解的方法有最小二乘法、梯度下降法等。

     線性損失函數的求解方法:

  • 最小二乘法,求誤差的最小平方和,非線性最小二乘法無閉式解,一般通過迭代法求解;而線性最小二乘有閉式解,通過一系列的數學推導,可以得到一個標准方程:

  • 梯度下降法,利用沿着梯度下降最快的方向求偏導數,得到損失函數的全局最小值時的參數θ,涉及到偏導數、學習速度、更新、收斂等問題。

    非線性最小二乘法的求解方法:

  • 高斯牛頓法,常用於求解非線性最小二乘的迭代法,可視為標准非線性最小二乘求解方法。
  • Levenberg-Marquardt迭代法,求解非線性最小二乘問題,結合了梯度下降和高斯-牛頓法。

   

   2. 梯度下降法

  • 梯度下降法的思想:

    1)首先對θ賦值,這個值可以是隨機的,也可以是一個零向量;

    2)改變θ的值,使得J(θ)按梯度下降的方向進行減少;

    3)當J(θ)下降到無法下降時為止,即J(θ)對θ的導數為0時,比較J(θ)的值是否有變化。

    對損失函數J(θ)求偏導,得到:

 

  • 參數更新過程:

    更新過程可以理解成:θi沿着梯度下降最快的方向進行遞減的過程。

    左邊的θi表示更新之前的值,等式右邊表示沿着梯度方向減少的量,α表示步長,也稱作學習速度,這個值需要人工手動設置。

    不斷更新θi的值直到J(θ)收斂,可以通過比較J(θ)的前后兩個值是否有發生變化(繼續下降),當沒有發生變化時表示已經達到了最小值(可能是局部最小值)。

 

  • 參數設置問題:

    初始值學習速度都是是人工設置的,而梯度下降法對這些參數又是敏感的。

    初始值的設置會影響到最終J(θ)的最小值,它可能是局部最小值,也可能是全局最小值。

    學習速度的設置也會影響到梯度下降的性能和結果:

    1)當設置過小時,由於沿着最陡峭方向每次邁進的步伐太小,而導致收斂時間過長;

    2)當設置過大時,很有可能會直接越過最小值,而無法得到J(θ)的最小值。

 

  • 梯度下降法的改進:

     上述梯度下降法也叫批量梯度下降法(Batch gradient descent),每次迭代都需要用到訓練集所有的數據,收斂速度較慢。

    

     因此,得到它的改進算法隨機梯度下降法(Stochastic gradient descent),也叫增量梯度下降法(Incremental gradient descent)。

     

     

     隨機梯度下降通過每個樣本來迭代更新一次參數,可能未遍歷整個樣本就已經找到最優解,大大提高了算法的收斂速度。

     最小化每個樣本的損失函數,雖然每次迭代結果不一定都是全局最優解,卻總是沿着這個方向發展,故最終結果總是接近全局最優解。

     

  3. 標准方程

    在清楚了線性回歸模型(Model)、損失函數和最小二乘法(Strategy)和梯度下降法(Algorithm)之后,順理成章地想知道方程的解。

    首先,需要回顧五個定理:

   

   

    

    

    

    然后,就可以利用這五個定理來推導線性最小二乘法的閉式解,即標准方程。

    (1)向量表示

      利用梯度符號將損失函數梯度的向量表示:

     

      估計值與真實值之間的差的向量表示:

      

      損失函數的向量表示:

      

     (2)設置損失函數的梯度為0

      

       可以得到標准方程:

      

   4. 概率解釋

       除了上面標准方程中可以采用向量解釋最小二乘法,它也具有概率意義。

       假設輸入特征與輸出結果之間的表達式為:

       

       其中,最后一項是誤差項,可以表示未捕捉到的特征或隨機噪聲,它服從標准正態分布且是IID的,即:

      

      

        給定了參數θ和特征矩陣X時y的似然函數L(θ)為:

       

       

       它其實是一個θ的函數,為了求解最大似然,通常取其log構成log likelihood:

       

      求解l(θ)的最大似然估計后,得到的結果與梯度下降法求解最小值J(θ)是相同的。

      

 

 

基本概念可以參考:

對線性回歸、邏輯回歸、各種回歸的概念學習 

機器學習中的數學(1)-回歸(regression)、梯度下降(gradient descent)

梯度下降法(一)入門

 


免責聲明!

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



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