線性回歸、邏輯回歸(LR)


線性回歸

回歸是一種極易理解的模型,就相當於y=f(x),表明自變量 x 和因變量 y 的關系。最常見問題有如 醫生治病時的望、聞、問、切之后判定病人是否生了什么病,其中的望聞問切就是獲得自變量x,即特征數據,判斷是否生病就相當於獲取因變量y,即預測分類。

最簡單的回歸是線性回歸,如圖1.a所示,X為數據點——腫瘤的大小,Y為觀測值——是否是惡性腫瘤。通過構建線性回歸模型,如 hθ (x) 所示,構建線性回歸模型后,可以根據腫瘤大小,預測是否為惡性腫瘤。h θ (x)≥.05為惡性,h θ (x)<0.5為良性:

然而線性回歸的魯棒性很差,例如在圖1.b的數據集上建立回歸,因最右邊噪點的存在,使回歸模型在訓練集上表現都很差。這主要是由於線性回歸在整個實數域內敏感度一致,而分類范圍,需要在[0,1]

線性回歸的應用場合大多是回歸分析,一般不用在分類問題上,原因可以概括為一下兩個:

  1)回歸模型是連續模型,即預測出的值都是連續值(實數值),非離散值;

  2)預測結果受樣本噪聲的影響比較大。

邏輯回歸

邏輯回歸就是一種減小預測范圍,將預測值限定為[0,1]間的一種回歸模型,其回歸方程與回歸曲線如圖2所示。邏輯曲線在z=0時,十分敏感,在z>>0或z<<0處,都不敏感,將預測值限定為(0,1)

 圖2 邏輯方程與邏輯曲線

邏輯回歸其實僅為在線性回歸的基礎上,套用了一個邏輯函數

考慮對輸入實例x進行分類的線性表達式θ T,其值域為實數域,通過LR模型的表達式可以將線性函數θT 將x的結果映射到(0,1)區間,取值表示為結果為1的概率(在二分類場景中).
線性函數的值越接近於正無窮大,概率值就越近1;反之,其值越接近於負無窮,概率值就越接近於0,這樣的模型就是LR模型。
LR本質上還是線性回歸,只是特征到結果的映射過程中加了一層函數映射,即sigmoid函數,即先把特征線性求和,然后使用sigmoid函數將線性和約束至(0,1)之間,結果值用於二分或回歸預測。

Logistic回歸雖然名字里帶“回歸”,但是它實際上是一種分類方法,主要用於兩分類問題(即輸出只有兩種,分別代表兩個類別),但也就由於這個邏輯函數,邏輯回歸成為了機器學習領域一顆耀眼的明星,更是計算廣告學的核心。對於多元邏輯回歸,可用如下公式似合分類,其中公式(4)的變換,將在邏輯回歸模型參數估計時,化簡公式帶來很多益處,y={0,1}為分類結果

 對於訓練數據集,特征數據x={x 1 , x 2 , … , x m }和對應的分類數據y={y 1 , y 2 , … , y m }。構建邏輯回歸模型f(θ),最典型的構建方法便是應用極大似然估計。首先,對於單個樣本,其后驗概率為:

 

 那么,極大似然函數為(后驗概率的連乘):

 

log似然是:

2、梯度下降法

由第1節可知,求邏輯回歸模型l(θ),等價於:

采用梯度下降法:

從而迭代θ至收斂即可:

3 模型評估

對於LR分類模型的評估,常用AUC來評估

 

對於訓練集的分類,訓練方法1和訓練方法2分類正確率都為80%,但明顯可以感覺到訓練方法1要比訓練方法2好。因為訓練方法1中,5和6兩數據分類錯誤,但這兩個數據位於分類面附近,而訓練方法2中,將10和1兩個數據分類錯誤,但這兩個數據均離分類面較遠。

 AUC正是衡量分類正確度的方法,將訓練集中的label看兩類{0,1}的分類問題,分類目標是將預測結果盡量將兩者分開。將每個0和1看成一個pair關系,團中的訓練集共有5*5=25個pair關系,只有將所有pair關系一至時,分類結果才是最好的,而auc為1。在訓練方法1中,與10相關的pair關系完全正確,同樣9、8、7的pair關系也完全正確,但對於6,其pair關系(6,5)關系錯誤,而與4、3、2、1的關系正確,故其auc為(25-1)/25=0.96;對於分類方法2,其6、7、8、9的pair關系,均有一個錯誤,即(6,1)、(7,1)、(8,1)、(9,1),對於數據點10,其正任何數據點的pair關系,都錯誤,即(10,1)、(10,2)、(10,3)、(10,4)、(10,5),故方法2的auc為(25-4-5)/25=0.64,因而正如直觀所見,分類方法1要優於分類方法2。

 

回歸問題的條件/前提:

1) 收集的數據

2) 假設的模型,即一個函數,這個函數里含有未知的參數,通過學習,可以估計出參數。然后利用這個模型去預測/分類新的數據

 常見的問題:

1、線性回歸求未知參數的方法?

假設 特征 和 結果 都滿足線性。即不大於一次方。這個是針對 收集的數據而言。
收集的數據中,每一個分量,就可以看做一個特征數據。每個特征至少對應一個未知的參數。這樣就形成了一個線性模型函數,向量表示形式:

這個就是一個組合問題,已知一些數據,如何求里面的未知參數,給出一個最優解。 一個線性矩陣方程,直接求解,很可能無法直接求解。有唯一解的數據集,微乎其微。

基本上都是解不存在的超定方程組。因此,需要退一步,將參數求解問題,轉化為求最小誤差問題求出一個最接近的解,這就是一個松弛求解

求一個最接近解,直觀上,就能想到,誤差最小的表達形式。仍然是一個含未知參數的線性模型,一堆觀測數據,其模型與數據的誤差最小的形式,模型與數據差的平方和最小

 

這就是損失函數的來源。接下來,就是求解這個函數的方法,有最小二乘法,梯度下降法。

最小二乘法

是一個直接的數學求解公式,不過它要求X是列滿秩的

梯度下降法

分別有梯度下降法批梯度下降法增量梯度下降。本質上,都是偏導數步長/最佳學習率更新收斂的問題。這個算法只是最優化原理中的一個普通的方法,可以結合最優化原理來學,就容易理解了。

2、邏輯回歸和線性回歸的聯系、異同?

邏輯回歸的模型 是一個非線性模型sigmoid函數,又稱邏輯回歸函數。但是它本質上又是一個線性回歸模型,因為除去sigmoid映射函數關系,其他的步驟,算法都是線性回歸的。可以說,邏輯回歸,都是以線性回歸為理論支持的。

只不過,線性模型,無法做到sigmoid的非線性形式,sigmoid可以輕松處理0/1分類問題。

另外它的推導含義:仍然與線性回歸的最大似然估計推導相同,最大似然函數連續積(這里的分布,可以使伯努利分布,或泊松分布等其他分布形式),求導,得損失函數。 

 

邏輯回歸函數

表現了0,1分類的形式

損失函數:損失函數越小,模型就越好,而且損失函數 盡量 是一個凸函數,便於收斂計算。

線性回歸,采用的是平方損失函數。而邏輯回歸采用的是 對數 損失函數

應用舉例:

是否垃圾郵件分類?

是否腫瘤、癌症診斷?

是否金融欺詐?

3、過擬合問題問題起源?如何解決?

模型太復雜,參數過多,特征數目過多。

方法: 1) 減少特征的數量,有人工選擇,或者采用模型選擇算法 

          2) 正則化,即保留所有特征,但降低參數的值的影響。正則化的優點是,特征很多時,每個特征都會有一個合適的影響因子。

    為防止過度擬合的模型出現(過於復雜的模型),在損失函數里增加一個每個特征的懲罰因子。這個就是正則化。如正則化的線性回歸 的 損失函數

lambda就是懲罰因子;

    正則化是模型處理的典型方法。也是結構風險最小的策略。在經驗風險(誤差平方和)的基礎上,增加一個懲罰項/正則化項

從貝葉斯估計來看,正則化項對應模型的先驗概率,復雜模型有較大先驗概率,簡單模型具有較小先驗概率。

 4、概率解釋:線性回歸中為什么選用平方和作為誤差函數?

設模型結果與測量值 誤差滿足,均值為0的高斯分布,即正態分布。這個假設是靠譜的,符合一般客觀統計規律

數據x與y的條件概率

 

若使 模型與測量數據最接近,那么其概率積就最大。概率積,就是概率密度函數的連續積,這樣,就形成了一個最大似然函數估計。對最大似然函數估計進行推導,就得出了求導后結果: 平方和最小公式

 5、經驗風險、期望風險、經驗損失、結構風險之間的區別與聯系?

期望風險(真實風險),可理解為 模型函數固定時,數據 平均的 損失程度,或“平均”犯錯誤的程度。 期望風險是依賴損失函數和概率分布的只有樣本,是無法計算期望風險的

所以,采用經驗風險,對期望風險進行估計,並設計學習算法,使其最小化。即經驗風險最小化(Empirical Risk Minimization)ERM,而經驗風險是用損失函數來評估的、計算的。對於分類問題,經驗風險,就訓練樣本錯誤率。對於函數逼近,擬合問題,經驗風險就是平方訓練誤差。對於概率密度估計問題,ERM,就是最大似然估計法。

而經驗風險最小,並不一定就是期望風險最小,無理論依據。只有樣本無限大時,經驗風險就逼近了期望風險。如何解決這個問題? 統計學習理論SLT,支持向量機SVM就是專門解決這個問題的。有限樣本條件下,學習出一個較好的模型。由於有限樣本下,經驗風險Remp[f]無法近似期望風險R[f] 。因此,統計學習理論給出了二者之間的關系:R[f] <= ( Remp[f] + e )

而右端的表達形式就是結構風險,是期望風險的上界。而e = g(h/n)是置信區間,是VC維h的增函數,也是樣本數n的減函數。VC維的定義在 SVM,SLT中有詳細介紹。e依賴h和n,若使期望風險最小,只需關心其上界最小,即e最小化。所以,需要選擇合適的h(核函數)和n(樣本數)。這就是結構風險最小化Structure Risk Minimization,SRM. SVM就是SRM的近似實現,SVM中的概念另有一大筐。就此打住。

 6、核函數的物理意義?

映射到高維,使其變得線性可分。什么是高維?如一個一維數據特征x,轉換為(x,x^2, x^3),就成為了一個三維特征,且線性無關。一個一維特征線性不可分的特征,在高維,就可能線性可分了。

Regression問題的常規步驟為:

  1. 尋找h函數(即hypothesis);
  2. 構造J函數(損失函數);
  3. 想辦法使得J函數最小並求得回歸參數(θ)

 7、LR的優缺點

優點:

  1)預測結果是介於0和1之間的概率

  2)可以適用於連續性和類別性自變量

  3)容易使用和解釋

缺點:

  1)對模型中自變量多重共線性較為敏感,例如兩個高度相關自變量同時放入模型,可能導致較弱的一個自變量回歸符號不符合預期,符號被扭轉。需要利用因子分析或者變量聚類分析等手段來選擇代表性的自變量,以減少候選變量之間的相關性;

  2)預測結果呈“S”型,因此從kog(odds)向概率轉化的過程是非線性的,在兩端隨着log(odds)值的變化,概率變化很小,邊際值太小,slope太小,而中間概率的變化很大,很敏感,導致很多區間的變量變化對目標概率的影響沒有區分度,無法確定閾值。

8、LR和SVM

  1)LR采用log損失,SVM采用合頁損失

  2)LR對異常值敏感,SVM對異常值不敏感

  3)在訓練集較小時,SVM較適用,而LR需要較多的樣本

  4)LR模型找到的超平面,是盡量讓所有點都遠離他,而SVM尋找的超平面是只讓最靠近中間分割線的支持向量遠離他,即只用到了支持向量樣本。

  5)對非線性問題的處理方式不同,LR主要靠特征構造,必須組合交叉特征,特征離散化。SVM也可以這樣,但是主要通過核函數

  6)SVM更多的屬於非參數模型,而LR是參數模型,本質不同。

9、那怎么根據特征數量和樣本量來選擇SVM和LR模型呢?

  1)如果特征的數量很大,跟樣本量差不多,這時候選用LR或者是Linear Kernel的SVM

  2)如果特征的數量比較小,樣本數量一般,不算大也不算小,選用SVM+Gassian Kernel

  3)如果特征的數量比較小,而樣本數量很多,需要手工添加一些特征變成第一種情況。

  注意:LR和不帶核函數的SVM比較類似

 


免責聲明!

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



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