機器學習之邏輯迴歸:計算機率

Lois發表於2020-06-21

許多問題需要將機率估算值作為輸出。邏輯迴歸是一種極其高效的機率計算機制。實際上, 您可以透過下兩種方式之一使用返回機率:

  • “按原樣”
  • 轉換成二元類別。
    我們來了解一下如何“按原樣”使用機率。假設我們建立一個邏輯迴歸模型來預測狗在半夜發出叫聲的機率。我們將此機率稱為:
    p ( bark | night )
    如果邏輯迴歸模型預測 p ( bark | night ) 的值為 0.05,那麼一年內, 狗的主人應該被叫醒約 18 次:
    startled = p( bark | night ) *nights
    18 ~= 0.05 * 365
    在很多情況下, 您會將邏輯迴歸輸出對映到二元分類問題的解決方案, 該二元分類問題的目標是正確預測兩個可能的標籤 ( 例如,“垃圾郵件” 或 “非垃圾郵件” )中的一個。
    您可能想知道邏輯迴歸問題模型如何確保輸出值始終落在 0 和 1 之間。巧合的是,S 型函式生成的輸出值正好具有這些特徵,其定義如下:

    y = \dfrac{1}{1 + e^{-z}}

    S 型函式會產生以下曲線圖:

    圖 1: S 型函式

    如果 z 表示使用邏輯迴歸訓練的模型的線性層的輸出,則 S 型 ( z ) 函式會生成一個介於 0 和 1 之間的值( 機率 )。用數學方法表示為

    y' = \dfrac{1}{1 + e^{-(z)}}

    其中:
  • y' 是邏輯迴歸模型針對特定樣本的輸出。
  • z 是

    b + w_1x_1 + w_1x_2 + ...w_Nx_N

    • w 的值是模型學習的權重,b 是偏差
    • x 的值是特定樣本的特徵值
      請注意,z 也稱為對數機率,因為 S 型函式的反函式表明,z 可定義為標籤“1” ( 例如“狗叫”)的機率除以標籤“0”( 例如“狗不叫”)的機率得出的值的對數:

      z = log_{10}(\dfrac{y}{1-y})

      以下是具有機器學習標籤的 S 型函式:
本作品採用《CC 協議》,轉載必須註明作者和本文連結
Hacking

相關文章