機器學習演算法詳解 邏輯斯蒂回歸模型

2021-07-01 19:22:41 字數 3541 閱讀 1699

邏輯斯蒂回歸模型是一種分類模型,其目的解決分類問題而非回歸問題。logistic回歸是乙個判別模型,直接學習後驗概率分布,其學習演算法可以理解為極大似然估計法。模型分類演算法通過定義乙個分離超平面來分割不同類別的資料,用sigmoid函式作為後驗概率分布函式來對輸入資料進行分類。模型的學習演算法通過對樣本進行極大似然估計獲得似然函式,通過梯度下降法求解似然函式中的引數,也就是分離超平面的引數。接下來對演算法進行詳細介紹,主要解答以下問題。

分離超平面wx

+b有很多性質,其中很重要的一點是,分離超平面一側的點帶入超平面計算使得函式值大於0,另一側的點帶入計算函式值小於0,這個資訊很容易用來進行分類,可以使用一種稱為階躍函式作為直接的分類器進行分類。階躍函式f(

x)=1

ifx≤

0;f(

x)=0

ifx<

0 。這樣f(

wx+b

) 可以直接用來作為分類器,但是困難在於這個函式不可微,因此在學習這個分類器時就無法使用求偏導數的方法,導致梯度下降法等求極值的方法都無法使用,因此我們需要更換乙個函式,但同時也希望這個函式在自變數大於0時和自變數小於0時函式值有很大的不同,因此想到了使用sigmoid函式σ(

x)=1

1+e−

x ,這個函式的影象很美。

這個函式具有這些性質使得函式經常被使用到機器學習的分類模型中。

使用這個函式可以很容易的進行分類,當分離超平面求解出來之後,使用σ(

wx+b

) 這個函式作為分類器,將分離超平面計算後大於0的樣本作為正例1,小於0為負例0。對於二分類問題,視標籤變數滿足伯努利分布(兩點分布),分類器如下定義。p(

y=1|

x)=σ

(wx+

b)=e

wx+b

ewx+

b+1p

(y=0

|x)=

1−σ(

wx+b

)=1e

wx+b

+1這裡以二分類問題為例,由於變數滿足伯努利分布,兩點分布的概率公式為p(

y|x)

=py+

(1−p

)1−y

,因此後驗概率分布為p(

y|x)

=p(y

=1|x

)yp(

y=0|

x)1−

y ,對於所有的樣本點進行後驗概率分布的極大似然估計,則關於分離超平面引數的似然函式為l(

w,b)

=∏i=

1mσ(

wx(i

)+b)

y(i)

(1−σ

(wx(

i)+b

))1−

y(i)

對似然函式取對數為似然對數可轉化為l(

w,b)

=∑i=

1my(

i)log(σ(

wx(i

)+b)

)+(1

−y(i

))log(1−

σ(wx

(i)+

b))

對w和b分別求偏導數,並不能直接求解w和b,因此需要通過其他求極值的方法,這裡使用基本的梯度下降法,用平面擬合這個似然函式,沿著每點的梯度方向下降,迭代至似然函式的極值點。

這裡加入一種梯度下降法的改進方法,由於梯度下降法解決非凸優化問題時可能存在多個極值,梯度下降法中的步長問題十分困擾,較大的步長可以增強全域性搜尋能力但是可能會越過某乙個極值點,較小的步長可以增加區域性搜多的能力但是可能會陷入區域性極值。我們希望演算法剛開始能夠有很強的全域性搜尋能力從而快速的到達極值附近,然後在演算法後來能在區域性進行細緻的搜尋到達極值點,這樣希望步長隨著迭代次數從大到小的變化。因此有一種改進的梯度下降法,開始初始化較大的步長

η ,每次迭代固定代數之後減小

η 直至到達步長的下界。

令w^

=[wt

b]t ,推導過程在《邏輯斯蒂回歸引數梯度推導》中給出。對其求出梯度為∂l

∂wj=

∑i=1

m(y(

i)−σ

(w^x

(i))

)x(i

)j這樣通過平面擬合曲面,然後在引數空間中進行迭代,每次沿著梯度的方向,搜尋一定的步長,最終就能搜尋到極值點。

對於每個方向的梯度公式可以這樣理解,每個方向的梯度受到每個樣本點在這個方向上的影響,例如第j個方向的wj

只受到每個樣本點中xj

的影響,而不同的樣本點產生的影響程度的權重受到sigmoid函式值和標籤值的影響。如果第i個樣本點被錯誤的分類,那麼y(

i)−σ

(w^x

(i))

這個值的絕對值一定很大,例如這個類別實際是1而函式值為0.1,說明這個點被錯誤的分到了0,那麼樣本點的權重為0.9,再如類別實際為1,而函式值為0.9,說明這個點被正確分類,權重為0.1。很明顯,錯誤分類點權重會提高,而正確分類點權重降低。和boosting演算法的思想十分相似。boosting演算法中訓練誤差是有界的,邏輯斯蒂回歸中應該訓練誤差也是有界的,因此邏輯斯蒂回歸的學習演算法是可以收斂的。這裡的收斂性分析並沒有詳細的證明但可以大概理解。

邏輯斯蒂回歸和感知機模型、支援向量機模型對比

同樣都用到了分離超平面,但是如何利用這個分離超平面有所區別。感知機模型將分離超平面對資料分割,尋找出所有錯誤的分類點,計算這些點到超平面的距離,使這一距離和最小化,也就是說感知機模型的最優化問題是使得錯誤分類點到超平面距離之和最小化。邏輯斯蒂回歸是將分離超平面作為sigmoid函式的自變數進行輸入,獲得了樣本點被分為正例和反例的條件概率,然後用極大似然估計極大化這個後驗概率分布,也就是說邏輯斯蒂回歸模型的最優化問題是極大似然估計樣本的後驗概率分布。支援向量機的最優化問題是最大化樣本點到分離超平面的最小距離。三個演算法的一些效能對比如下。

支援向量機計算相對複雜,但因為其實凸優化問題,因此演算法一定可以收斂。

感知機模型無法加入核方法對映到高維,而邏輯斯蒂回歸和支援向量機都能通過核方法對低維不可分高維可分的資料集進行分類。

感知機模型和支援向量機模型可以通過二分類方法的擴充套件處理多分類問題,方法是對每一類都產生乙個分離超平面區分該類和其他類的樣本。邏輯斯蒂回歸進行多分類問題通過選擇最後乙個類為基準類,構造k-1個分離超平面(分類器),k-1個分類器計算sigmoid函式值求和在加1作為投票法的分母,每個分類器計算的sigmoid函式值作為分子進行投票,選出最大的分配到該類別。

實驗使用的測試集是uci中的馬的患病問題,使用299個訓練樣例,每個樣例包括21個特徵屬性,分為0、1兩類,有30%左右的缺損資料。使用67個測試樣例。使用批處理梯度下降法計算的平均錯誤率為28.4%,使用隨機梯度下降發計算的平均錯誤率為29.1%。python**在這裡。

邏輯斯蒂回歸 機器學習ML

參考 1.統計學習方法 李航 2.邏輯斯蒂回歸是乙個非常經典的二項分類模型,也可以擴充套件為多項分類模型。其在應用於分類時的過程一般如下,對於給定的資料集,首先根據訓練樣本點學習到引數w,b 再對 點分別計算兩類的條件概率,將 點判為概率值較大的一類。1 線性模型 邏輯斯蒂回歸屬於對數線性模型,那什...

邏輯斯蒂回歸

邏輯斯蒂回歸首先研究的是分類問題,所以我們這裡引入的激勵函式是sigmoid函式,所以邏輯斯蒂回歸也叫sigmoid回歸。當然也叫對數機率回歸。邏輯斯蒂回歸是直接對資料的分類的可能性進行建模,而不是假設資料的分布,這就避免了假設資料分布時不均勻所帶來的問題,所以邏輯斯蒂回歸不但可以 類別,還可以得出...

《機器學習實戰》 邏輯斯蒂回歸《一》

回歸我們知道有線性回歸,線性回歸模型能夠無限的逼近我們的結果。以 x i,yi 為例,通過線性回歸 f x w tx b 表示式,就可以得到我們對yi 的估計值。如何從線性回歸轉換到分類呢?由於線性回歸得到的是連續值,z wtx b z 的範圍 是這樣的乙個連續值無法直接轉換為類別。那怎麼辦?最簡單...