1. 程式人生 > >logistic迴歸與正則化

logistic迴歸與正則化

常用損失函式

  1. 0-1損失函式
    一般用於分類。
  2. 平方損失
    一般用於迴歸,假設誤差項服從高斯分佈,有極大似然估計可推出平方損失函式。
    平方損失函式對異常值敏感,絕對損失函式以及Huber損失函式對異常值魯棒
    以下是Huber損失函式
    這裡寫圖片描述
  3. 絕對損失
  4. 對數損失或對數似然損失
  5. 合頁損失函式(hinge loss)
    一般用於分類
    這裡寫圖片描述

邏輯迴歸損失函式

邏輯迴歸的損失函式、代價函式以及目標 函式如下圖所示:
這裡寫圖片描述
邏輯迴歸的損失函式可以從兩個角度分析:
1. 極大似然
2. 交叉熵
如下圖所示:
這裡寫圖片描述

引數估計

  1. 極大似然估計
    適用於不含隱變數,以最小化經驗風險函式為目標函式。
  2. 最大後驗估計(貝葉斯)、
    適用於不含隱變數,以最小化經驗風險函式和結構風險函式為目標函式的引數求解,即含有正則化項的目標函式。
  3. EM估計
    適用於含有隱變數的模型引數求解,直觀理解,k-means過程,將聚類類別個數和各類中心點最為隱變數,賦初值給隱變數,將資料聚成P類,計算P類新的中心點,有該新的中心點進行下一輪的求解計算。

模型選擇方法

  1. 正則化
  2. 交叉驗證

過擬合,欠擬合

  1. 過擬合:對已知資料建模效果好,對未知資料建模效果不好。
  2. 欠擬合:對已知資料和未知資料建模效果都不好。

邏輯斯蒂迴歸

  1. 對數機率線性迴歸
  2. 求解給定例項(實數)x情況下,求該例項屬於不同類別的概率,並將概率較大的類別定義為例項x應屬於的類別。
  3. 利用sigmoid分佈函式求解例項x的條件概率分佈。
  4. 可做二分類和多分類,模型簡單,可解釋性好,是一種廣義線性模型,方便做大規模分散式計算。
  5. 損失函式為對數損失函式,優化目標函式為交叉熵即:
    這裡寫圖片描述
  6. 可用極大似然估計求解模型引數。
    梯度下降跟新引數:
    這裡寫圖片描述
    優化目標函式對引數的導數為:
    這裡寫圖片描述
  7. 有多種模型調整方式,方便做模型維護,增加特徵數,加正則化項,對於非線性性可分,可進行特徵融合等處理方式,另外對二值特徵有較好的表現。
  8. 模型輸出為概率,可做分類和排序,模型結果易於解釋。
  9. 連續特徵二值化,onehot編碼的好處對於logistic迴歸來說:
    1)引入非線性化,形成特徵交叉
    2)增加模型魯棒性,穩定性,即對異常輸入不敏感。
    3)稀疏向量內積乘法運算速度快,計算結果方便儲存,容易scalable(擴充套件)。

L1、L2、L0正則化

L0正則化的值是模型引數中非零引數的個數。
L1正則化表示各個引數絕對值之和。
L2正則化標識各個引數的平方的和的開方值。

  1. L1正則假設引數的先驗分佈是Laplace分佈,可以保證模型的稀疏性,也就是某些引數等於0;
  2. L2正則假設引數的先驗分佈是Gaussian分佈,可以保證模型的穩定性,也就是引數的值不會太大或太小 ;
  3. 在實際應用過程中,L1會趨向於產生少量的特徵,而其他的特徵都是0,而L2會選擇更多的特徵,這些特徵都會接近於0。Lasso在特徵選擇時候非常有用,而Ridge就只是一種規則化而已。在所有特徵中只有少數特徵起重要作用的情況下,選擇Lasso比較合適,因為它能自動選擇特徵。而如果所有特徵中,大部分特徵都能起作用,而且起的作用很平均,那麼使用Ridge也許更合適。