邏輯迴歸(Logistic Regression)

邏輯迴歸是一種廣義線性模型,用於預測二元或多元分類結果的機率。它使用 Sigmoid 函數將線性組合轉換為機率值,並透過最大似然估計來訓練模型。

完整說明

核心概念

邏輯迴歸的核心在於使用 Sigmoid 函數將線性迴歸的輸出轉換為機率值。Sigmoid 函數的公式如下:

sigmoid(z) = 1 / (1 + e^(-z))

其中,z 是輸入的線性組合,通常表示為:

z = w1x1 + w2x2 + ... + wn*xn + b

這裡,x1, x2, ..., xn 是輸入特徵,w1, w2, ..., wn 是對應的權重,b 是偏差項(bias)。

Sigmoid 函數將 z 映射到 0 到 1 之間的值,這個值可以解釋為事件發生的機率。例如,如果 sigmoid(z) 的值為 0.7,則表示事件發生的機率為 70%。

關鍵概念:

  • Sigmoid 函數: 將線性組合轉換為機率值。
  • 線性組合: 特徵的加權和加上偏差項。
  • 機率值: 預測事件發生的可能性。

運作原理

邏輯迴歸的運作原理可以分為以下幾個步驟:

  1. 線性組合: 對輸入特徵進行線性組合,計算 z 值。
  2. Sigmoid 轉換: 使用 Sigmoid 函數將 z 值轉換為機率值。
  3. 機率預測: 根據機率值判斷所屬類別。通常設定一個閾值(例如 0.5),如果機率值大於閾值,則預測為正類別,否則預測為負類別。
  4. 模型訓練: 使用訓練資料調整權重和偏差項,使得模型能夠準確預測。常用的訓練方法包括最大似然估計和梯度下降法。

最大似然估計 (Maximum Likelihood Estimation, MLE):

MLE 的目標是找到一組參數,使得在給定訓練資料下,觀察到這些資料的機率最大。在邏輯迴歸中,MLE 的目標是最大化似然函數,似然函數表示在給定參數下,觀察到所有訓練樣本的機率。由於直接最大化似然函數通常比較困難,因此通常會轉而最大化對數似然函數,這是一個等價的問題,但計算上更方便。

梯度下降法 (Gradient Descent):

梯度下降法是一種迭代最佳化演算法,用於尋找函數的最小值。在邏輯迴歸中,梯度下降法用於尋找使損失函數最小化的權重和偏差項。損失函數衡量了模型預測與實際值之間的差異。梯度下降法通過計算損失函數的梯度,並沿著梯度的反方向更新參數,逐步逼近最小值。

損失函數 (Loss Function):

邏輯迴歸常用的損失函數是交叉熵損失 (Cross-Entropy Loss),也稱為對數損失 (Log Loss)。對於二元分類問題,交叉熵損失的公式如下:

Loss = -[y * log(p) + (1 - y) * log(1 - p)]

其中,y 是實際標籤(0 或 1),p 是模型預測的機率值。

實際應用

邏輯迴歸在許多領域都有廣泛的應用,包括:

  • 醫學診斷: 預測患者是否患有某種疾病,例如糖尿病、心臟病等。
  • 金融風險評估: 評估貸款申請人的信用風險,預測其是否會違約。
  • 垃圾郵件過濾: 判斷郵件是否為垃圾郵件。
  • 客戶流失預測: 預測客戶是否會流失。
  • 廣告點擊率預測: 預測用戶是否會點擊廣告。
  • 自然語言處理: 情感分析、文本分類等。

案例:垃圾郵件過濾

在垃圾郵件過濾中,邏輯迴歸可以根據郵件的內容(例如,包含某些關鍵字、發件人地址等)來預測郵件是否為垃圾郵件。模型會學習不同特徵與垃圾郵件之間的關係,並根據這些關係來判斷新郵件的類型。

常見誤區

  • 邏輯迴歸不是迴歸: 雖然名稱包含「迴歸」,但邏輯迴歸實際上是一種分類算法,用於預測類別而非連續值。
  • 線性可分性: 邏輯迴歸假設資料是線性可分的,即可以使用一條直線(或超平面)將不同類別的資料分開。如果資料不是線性可分的,邏輯迴歸的性能可能會受到影響。可以使用特徵工程或非線性模型來解決這個問題。
  • 多重共線性: 如果輸入特徵之間存在高度相關性(多重共線性),可能會導致模型不穩定,權重的估計值方差較大。可以使用正則化方法(例如 L1 正則化或 L2 正則化)來緩解這個問題。
  • 過度擬合: 如果模型過於複雜,可能會過度擬合訓練資料,導致在測試資料上的性能下降。可以使用交叉驗證、正則化等方法來避免過度擬合。
  • 樣本不平衡: 如果不同類別的樣本數量差異很大(樣本不平衡),可能會導致模型偏向於數量較多的類別。可以使用重採樣方法(例如過採樣或欠採樣)或調整類別權重來解決這個問題。

相關術語

常見問題

延伸學習

深入了解 邏輯迴歸 的完整運作原理

延伸學習

想看 邏輯迴歸 的完整影片教學?前往 美第奇 AI 學院