tft每日頭條

 > 生活

 > 多元logistic回歸定義

多元logistic回歸定義

生活 更新时间:2024-07-22 01:24:40

文章目錄

  1. 從線性回歸說起
  2. sigmond函數
  3. 推廣至多元場景
  4. 似然函數
  5. 最大似然估計
  6. 損失函數
  7. 梯度下降法求解
  8. 結尾

【提示:頭條号編輯器不支持Markdown,因此涉及公式的部分全部轉為圖片顯示】

今天梳理一下邏輯回歸,這個算法由于簡單、實用、高效,在業界應用十分廣泛。注意咯,這裡的“邏輯”是音譯“邏輯斯蒂(logistic)”的縮寫,并不是說這個算法具有怎樣的邏輯性。

前面說過,機器學習算法中的監督式學習可以分為2大類:

  • 分類模型:目标變量是分類變量(離散值);
  • 回歸模型:目标變量是連續性數值變量。

邏輯回歸通常用于解決分類問題,例如,業界經常用它來預測:客戶是否會購買某個商品,借款人是否會違約等等。

實際上,“分類”是應用邏輯回歸的目的和結果,但中間過程依舊是“回歸”

為什麼這麼說?

因為通過邏輯回歸模型,我們得到的計算結果是0-1之間的連續數字,可以把它稱為“可能性”(概率)。對于上述問題,就是:客戶購買某個商品的可能性,借款人違約的可能性。

然後,給這個可能性加一個阈值,就成了分類。例如,算出貸款違約的可能性>0.5,将借款人預判為壞客戶。

1.從線性回歸說起

考慮最簡單的情況,即隻有一個自變量的情況。比方說廣告投入金額x和銷售量y的關系,散點圖如下,這種情況适用一元線性回歸。

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)1

線性回歸的介紹文章戳這裡:用人話講明白線性回歸LinearRegression

但在許多實際問題中,因變量y是分類型,隻取0、1兩個值,和x的關系不是上面那樣。假設我們有這樣一組數據:給不同的用戶投放不同金額的廣告,記錄他們購買廣告商品的行為,1代表購買,0代表未購買。

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)2

假如此時依舊考慮線性回歸模型,得到如下拟合曲線:

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)3

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)4

這種形式,非常像單位階躍函數:

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)5

圖像如下:

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)6

我們發現,把階躍函數向右平移一下,就可以比較好地拟合上面的散點圖呀!但是階躍函數有個問題,它不是連續函數。

理想的情況,是像線性回歸的函數一樣,X和Y之間的關系,是用一個單調可導的函數來描述的

2.sigmond函數

實際上,邏輯回歸算法的拟合函數,叫做sigmond函數:

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)7

函數圖像如下(百度圖片搜到的圖):

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)8

sigmoid函數是一個s形曲線,就像是階躍函數的溫和版,階躍函數在0和1之間是突然的起跳,而sigmoid有個平滑的過渡。

從圖形上看,sigmoid曲線就像是被掰彎捋平後的線性回歸直線,将取值範圍(−∞, ∞)映射到(0,1) 之間,更适宜表示預測的概率,即事件發生的“可能性”

3.推廣至多元場景

在用人話講明白梯度下降Gradient Descent一文中,我們講了多元線性回歸方程的一般形式為:

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)9

到目前為止,邏輯函數的構造算是完成了。找到了合适的函數,下面就是求函數中的未知參數向量β了。求解之前,我們需要先理解一個概念——似然性

4.似然函數

我們常常用概率(Probability) 來描述一個事件發生的可能性。

似然性(Likelihood) 正好反過來,意思是一個事件實際已經發生了,反推在什麼參數條件下,這個事件發生的概率最大。

用數學公式來表達上述意思,就是:

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)10

因此,最優β,就是使當前觀察到的數據出現的可能性最大的β。

5.最大似然估計

在二分類問題中,y隻取0或1,可以組合起來表示y的概率:

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)11

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)12

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)13

因為一系列的xi和yi都是我們實際觀測到的數據,式子中未知的隻有β。因此,現在問題就變成了求β在取什麼值的時候,L(β)能達到最大值。

L(β)是所有觀測到的y發生概率的乘積,這種情況求最大值比較麻煩,一般我們會先取對數,将乘積轉化成加法。

取對數後,轉化成下式:

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)14

接下來想辦法求上式的最大值就可以了,求解前,我們要提一下邏輯回歸的損失函數。

6.損失函數

在機器學習領域,總是避免不了談論損失函數這一概念。損失函數是用于衡量預測值與實際值的偏離程度,即模型預測的錯誤程度。也就是說,這個值越小,認為模型效果越好,舉個極端例子,如果預測完全精确,則損失函數值為0。

在線性回歸一文中,我們用到的損失函數是殘差平方和SSE:

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)15

很遺憾,這個不是凸函數,不易優化,容易陷入局部最小值,所以邏輯函數用的是别的形式的函數作為損失函數,叫對數損失函數(log loss function)。

這個對數損失,就是上一小節的似然函數取對數後,再取相反數喲:

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)16

這個對數損失函數好理解嗎?我還是舉個具體例子吧。

用文章開頭那個例子,假設我們有一組樣本,建立了一個邏輯回歸模型P(y=1)=f(x),其中一個樣本A是這樣的:

公司花了x=1000元做廣告定向投放,某個用戶看到廣告後購買了,此時實際的y=1,f(x=1000)算出來是0.6,這裡有-0.4的偏差,是嗎?在邏輯回歸中不是用差值計算偏差哦,用的是對數損失,所以它的偏差定義為log0.6(其實也很好理解為什麼取對數,因為我們算的是P(y=1),如果算出來的預測值正好等于1,那麼log1=0,偏差為0)。

樣本B:x=500,y=0,f(x=500)=0.3,偏差為log(1-0.3)=log0.7。

根據log函數的特性,自變量取值在[0,1]間,log出來是負值,而損失一般用正值表示,所以要取個相反數。因此計算A和B的總損失,就是:-log0.6-log0.7。

之前我們在用人話講明白梯度下降中解釋過梯度下降算法,下面我們就用梯度下降法求損失函數的最小值(也可以用梯度上升算法求似然函數的最大值,這兩是等價的)。

7.梯度下降法求解

要開始頭疼的公式推導部分了,不要害怕哦,我們還是從最簡單的地方開始,非常容易看懂。

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)17

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)18

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)19

加上求和号:

多元logistic回歸定義(用人話講明白邏輯回歸Logistic)20

8.結尾

文章寫到這裡就結束了,其實邏輯回歸還有很多值得深入學習和讨論的,但是“講人話”系列的定位就是個入門,我自己目前的水平也有限,所以本篇不再往後寫了。

最後,歡迎各位一起學習讨論~

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved