02 Deep learning神经网络的编程基础 逻辑回归--吴恩达 - 教程
逻辑回归
逻辑回归是一种用于解决二分类任务依据线性回归的变体输出概率值,并启用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^\topw⊤x \mathcal{x}x+b \mathcal{b}b)
z \mathcal{z}z = w ⊤ w^\topw⊤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}θTx \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系列函数替代用于隐藏层
浙公网安备 33010602011771号