1.邏輯回歸
邏輯回歸是一種用于解決二分類任務(如預測是否是貓咪等)的統計學習方法。盡管名稱中包含“回歸”,但其本質是通過線性回歸的變體輸出概率值,并使用Sigmoid函數將線性結果映射到[0,1]區間。
以貓咪預測為例
假設單個樣本/單張圖片為( x \mathbf{x} x, y \mathbf{y} y),特征向量X = x \mathbf{x} x,則 y ^ \hat{y} y^?即為X的預測值, y ^ \hat{y} y^?=P(y= y \mathbf{y} y/ x \mathbf{x} x), y ^ \hat{y} y^?∈(0,1)。
假設特征權重參數為 w \mathbf{w} w,是一個nx維的向量,則有:
y ^ \hat{y} y^?= σ \sigma σ( w ? w^\top w? x \mathcal{x} x+ b \mathcal{b} b)
z \mathcal{z} z = w ? w^\top w? x \mathcal{x} x+ b \mathcal{b} b
y ^ \hat{y} y^?= σ ( z ) \sigma(z) σ(z)
2. Sigmoid函數
Sigmoid函數是一種常用的S型激活函數,數學表達式為:
σ ( z ) = 1 1 + e ? z \sigma(z) = \frac{1}{1 + e^{-z}} σ(z)=1+e?z1?
機器學習便是學習參數 x \mathcal{x} x和 b \mathcal{b} b,使得 y ^ \hat{y} y^?盡可能接近實際值 y \mathcal{y} y。
符號慣例介紹
定義一個額外特征向量 x 0 \mathcal{x_0} x0? =1,
y ^ \hat{y} y^?= σ \sigma σ( θ T \theta^{T} θT x \mathcal{x} x ),其中 θ 0 \theta_0 θ0?充當 b \mathcal{b} b,其余 θ 1 \theta_1 θ1?到 θ n x \theta_{nx} θnx?充當 w \mathbf{w} w
核心特性
- 輸出范圍:$ (0,1) $,適合概率映射
- 單調性:全程可導且導數最大值為$ 0.25 (出現在 (出現在 (出現在x=0$處)
- 導數特性: σ ′ ( x ) = σ ( x ) ( 1 ? σ ( x ) ) \sigma'(x) = \sigma(x)(1 - \sigma(x)) σ′(x)=σ(x)(1?σ(x)),便于梯度計算
Python實現
import numpy as npdef sigmoid(x):return 1 / (1 + np.exp(-x))# 支持向量化計算
print(sigmoid(np.array([-1.0, 0.0, 1.0]))) # 輸出:[0.2689, 0.5, 0.7311]
典型應用
- 邏輯回歸中的概率轉換
- 神經網絡隱藏層的激活函數
- 強化學習中的動作選擇概率
局限說明
- 深層網絡易出現梯度消失(導數值隨網絡深度指數衰減)
- 輸出不以零為中心可能影響優化效率
- 現多被ReLU系列函數替代用于隱藏層