機器學習—邏輯迴歸—初級算法梳理02

1、邏輯迴歸與線性迴歸相比較

雖然邏輯迴歸能夠用於分類,不過其本質還是線性迴歸。它僅在線性迴歸的基礎上,在特徵到結果的映射中加入了一層sigmoid函數(非線性)映射,即先把特徵線性求和,然後使用sigmoid函數來預測。

這主要是由於線性迴歸在整個實數域內敏感度一致,而分類範圍,需要在[0,1]之內。而邏輯迴歸就是一種減小預測範圍,將預測值限定爲[0,1]間的一種迴歸模型,其迴歸方程與迴歸曲線如下圖所示。邏輯曲線在z=0時,十分敏感,在z>>0或z<<0處,都不敏感,將預測值限定爲(0,1)。

1、LR在線性迴歸的實數範圍輸出值上施加sigmoid函數將值收斂到0~1範圍, 其目標函數也因此從差平方和函數變爲對數損失函數, 以提供最優化所需導數(sigmoid函數是softmax函數的二元特例, 其導數均爲函數值的f*(1-f)形式)。請注意, LR往往是解決二元0/1分類問題的, 只是它和線性迴歸耦合太緊, 不自覺也冠了個迴歸的名字(馬甲無處不在). 若要求多元分類,就要把sigmoid換成大名鼎鼎的softmax了。

2、首先邏輯迴歸和線性迴歸首先都是廣義的線性迴歸,其次經典線性模型的優化目標函數是最小二乘,而邏輯迴歸則是似然函數,另外線性迴歸在整個實數域範圍內進行預測,敏感度一致,而分類範圍,需要在[0,1]。邏輯迴歸就是一種減小預測範圍,將預測值限定爲[0,1]間的一種迴歸模型,因而對於這類問題來說,邏輯迴歸的魯棒性比線性迴歸的要好。

3、邏輯迴歸的模型本質上是一個線性迴歸模型,邏輯迴歸都是以線性迴歸爲理論支持的。但線性迴歸模型無法做到sigmoid的非線性形式,sigmoid可以輕鬆處理0/1分類問題。

邏輯迴歸給出離散的輸出結果,然而線性迴歸給出的是連續的輸出結果,

參考鏈接:線性迴歸和邏輯迴歸

2、邏輯迴歸

當醫院的病人,我們通過病人的各種特徵來預測病人患上癌症的可能性爲多少。這個結果值在[0,1]之間。
在這裏插入圖片描述
目標函數:

在這裏插入圖片描述
對於每一個x表示爲一個向量。即x=(x0,x1,x2,…,xd)表示病人的所有特徵,計算一個病人可能的患病機率s。在這裏插入圖片描述

我們用一個函數在這裏插入圖片描述來估算這種可能性。是一個sigmoid函數,函數圖像如下:

在這裏插入圖片描述

當計算出的s得分越高,越接近1,患病的可能性越大。當得分越低,越接近0,未得病的可能性大。

在這裏插入圖片描述
根據sigmoid函數,我們可以得出預測函數的表達式爲:
在這裏插入圖片描述
假設因變量y服從伯努利分佈,取值爲0和1,那麼可以得到下列兩個式子:兩者概率之和加起來爲1。
在這裏插入圖片描述
策略最常用的方法是用一個損失函數(loss function)或代價函數(cost function)來度量預測錯誤程度,算法則是求解過程,接下來計算邏輯迴歸的損失函數:
將n位病人所有患病或不患病的可能性的概率乘以病人的特徵向量x在相加:
在這裏插入圖片描述

在這裏插入圖片描述
我們將h換成w:


根據上面的式子,給定一定的樣本之後,我們可以構造出似然函數,然後可以使用極大似然估計的思想來求解參數。但是,爲了滿足最小化風險理論,我們可以轉化爲最小化風險化理論,最大化似然函數其實就等價於最小化負的似然函數。就是利用已知的樣本分佈,找到最有可能(即最大概率)導致這種分佈的參數值;或者說是什麼樣的參數才能使我們觀測到目前這組數據的概率最大。首先,根據上面的假設,寫出相應的極大似然函數(假定有N樣本):
在這裏插入圖片描述
現在我們要找到一個w使得Ein最小,我們求這個函數的梯度,然後找到梯度等於0的點,這種方式適用於函數是平滑,可微分的曲線。現在計算梯度:即Ein對w進行求微分。
在這裏插入圖片描述
ω的更新方式爲:
在這裏插入圖片描述
進一步變成:
在這裏插入圖片描述

3、正則化與模型評估指標

正則化(regularization),是指在線性代數理論中,不適定問題通常是由一組線性代數方程定義的,而且這組方程組通常來源於有着很大的條件數的不適定反問題。大條件數意味着舍入誤差或其它誤差會嚴重地影響問題的結果。
這個時候我們會在經驗風險上加一個正則化項。
一般具有如下形式:
在這裏插入圖片描述
其中,第一項是經驗風險,第二項是正則化項,在這裏插入圖片描述爲調整兩者之間關係的係數。

模型評估是模型開發過程的不可或缺的一部分。它有助於發現表達數據的最佳模型和所選模型將來工作的性能如何。
具體的評估指標:評估指標總結

4、邏輯迴歸的優缺點

邏輯迴歸是解決工業規模問題最流行的算法。在工業應用上,如果需要分類的數據擁有很多有意義的特徵,每個特徵都對最後的分類結果有或多或少的影響,那麼最簡單最有效的辦法就是將這些特徵線性加權,一起參與到決策過程中。比如預測廣告的點擊率,從原始數據集中篩選出符合某種要求的有用的子數據集等等。

優點:
1)適合需要得到一個分類概率的場景。
2)計算代價不高,容易理解實現。LR在時間和內存需求上相當高效。它可以應用於分佈式數據,並且還有在線算法實現,用較少的資源處理大型數據。
3)LR對於數據中小噪聲的魯棒性很好,並且不會受到輕微的多重共線性的特別影響。(嚴重的多重共線性則可以使用邏輯迴歸結合L2正則化來解決,但是若要得到一個簡約模型,L2正則化並不是最好的選擇,因爲它建立的模型涵蓋了全部的特徵。)

缺點:
1)容易欠擬合,分類精度不高。
2)數據特徵有缺失或者特徵空間很大時表現效果並不好。

5、樣本不均衡問題解決辦法

不均衡問題:大部分分類任務中,各類別下的數據個數基本上不可能完全相等,但是一點點差異是不會產生任何影響與問題的。

在現實中有很多類別不均衡問題,它是常見的,並且也是合理的,符合人們期望的。如,在欺詐交易識別中,屬於欺詐交易的應該是很少部分,即絕大部分交易是正常的,只有極少部分的交易屬於欺詐交易。這就是一個正常的類別不均衡問題。又如,在客戶流失的數據集中,絕大部分的客戶是會繼續享受其服務的(非流失對象),只有極少數部分的客戶不會再繼續享受其服務(流失對象)。一般而已,如果類別不平衡比例超過4:1,那麼其分類器會大大地因爲數據不平衡性而無法滿足分類要求的。因此在構建分類模型之前,需要對分類不均衡性問題進行處理。
  
  在前面,我們使用準確度這個指標來評價分類質量,可以看出,在類別不均衡時,準確度這個評價指標並不能work。因爲分類器將所有的樣本都分類到大類下面時,該指標值仍然會很高。即,該分類器偏向了大類這個類別的數據。

解決方法

6、sklearn參數

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章