逻辑回归
逻辑回归是一种用于解决二分类任务(如预测是否是猫咪等)的统计学习方法。尽管名称中包含“回归”,但其本质是通过线性回归的变体输出概率值,并使用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)
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 np
def 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系列函数替代用于隐藏层