[UFLDL] Linear Regression & Classification

博客內容取材於:http://www.cnblogs.com/tornadomeet/archive/2012/06/24/2560261.htmlphp

Deep learning:六(regularized logistic迴歸練習)
Deep learning:五(regularized線性迴歸練習)
Deep learning:四(logistic regression練習) 
Deep learning:三(Multivariance Linear Regression練習)
Deep learning:二(linear regression練習)
outline

參考資料:html

 

Comment: 難點很少,故補充CMU 10-702線性部分的章節。網絡

本文主要是個歸納,具體內容還須要看具體章節講解。dom

 

 

概念辨析


線性擬合是線性迴歸麼?

迴歸,僅表示一個「repeative 迴歸過程」,或者叫作「迴歸模型」。ide

至於要解決什麼問題,這要取決於 solver。函數

 

基本問題

Ref: https://www.zhihu.com/question/21329754tornado

    • Logistic Regression 分類問題
    • Linear Regression 擬合問題
    • Support Vector Regression 擬合問題
    • Support Vector Machine 分類問題
    • Naive Bayes 擬合/分類均可以
    • A multilayer perceptron (MLP)
    • 前饋神經網絡(如 CNN 系列) 用於 分類 和 迴歸
    • 循環神經網絡(如 RNN 系列) 用於分類 和 迴歸

 

  

 

擬合:線性迴歸


簡單模式:一元線性迴歸問題(一個因子)

Ref: Deep learning:二(linear regression練習)post

求:孩子的年紀和身高的關係,training過程。優化

 

 

進階模式:多元線性迴歸問題(兩個因子)

Ref: 三(Multivariance Linear Regression練習)url

【損失函數】向量表達形式以下:

【參數更新】當使用梯度降低法進行參數的求解時,參數的更新公式以下: 

就是感知器,一點小區別的是:1/m有沒有必要的問題。

 

 

 

 

分類:線性分類


二分類 - 邏輯迴歸

基本原理

Ref: 四(logistic regression練習) 

Ref: 一文讀懂邏輯迴歸【比較全面】

【損失函數】採用cross-entropy as loss function:

   

  【參數更新】若是採用牛頓法來求解迴歸方程中的參數,則參數的迭代公式爲:

   

  其中一階導函數和hessian矩陣表達式以下:

   

 

線性不可分 - 升維

五(regularized線性迴歸練習)

具備2個特徵的一堆訓練數據集,從該數據的分佈能夠看出它們並非很是線性可分的,所以頗有必要用更高階的特徵來模擬。

以下用到了特徵值的5次方來求解。【升維的意義和思路

   

 

"正則項" 的意義

六(regularized logistic迴歸練習)

Regularization項在分類問題中(logistic迴歸)的應用。

沒正則項:

有正則項:

Weight Decay: lamda的選擇也能夠看做是模型的選擇。

 

小總結:

  • 注意對比」擬合「與「分類」的公式表達的區別。
  • sigmoid + xentropy算是絕配。

 

  

多分類 - Softmax Regression

Ref: 十三(Softmax Regression)

Ref: 十四(Softmax Regression練習)

多分類問題,共有k個類別。在softmax regression中這時候的系統的方程爲:

其中的參數sidta再也不是列向量,而是一個矩陣,矩陣的每一行能夠看作是一個類別所對應分類器的參數the parameters on edges (fan in) of Output Layer,總共有k行。

因此矩陣sidta能夠寫成下面的形式:

【thetai就是fan in的各個邊的權重們】

 

「指數分佈就有失憶性」

比較有趣的時,softmax regression中對參數的最優化求解不僅一個,每當求得一個優化參數時,若是將這個參數的每一項都減掉同一個數,其獲得的損失函數值也是同樣的。

這說明這個參數不是惟一解。用數學公式證實過程以下所示:

從宏觀上能夠這麼理解,由於此時的損失函數不是嚴格非凸的,也就是說在局部最小值點附近是一個」平坦」的,因此在這個參數附近的值都是同樣的了。

那麼怎樣避免這個問題呢?加入規則項就能夠解決。

好比說,用牛頓法求解時,hession矩陣若是沒有加入規則項,就有可能不是可逆的從而致使了剛纔的狀況,若是加入了規則項後該hession矩陣就不會不可逆。

 

  • 損失函數的方程對比:【1{.}是一個指示性函數】

 

  • 偏導函數對比:

若是要用梯度降低法,牛頓法,或者L-BFGS法求得系統的參數的話,就必須求出損失函數的偏導函數,softmax regression中損失函數的偏導函數以下所示:

 

 

網頁教程中還介紹了softmax regression和k binary classifiers之間的區別和使用條件。總結就這麼一個要點:

    • 若是所需的分類類別之間是嚴格相互排斥的,也就是兩種類別不能同時被一個樣本佔有,這時候應該使用softmax regression。[one-hot,嚴格互斥]
    • 若是所需分類的類別之間容許某些重疊,這時候就應該使用binary classifiers了。[sigmoid原本就有中間地帶]
相關文章
相關標籤/搜索