【Deep Learning】神经网络和深度学习week2----神经网络的编程基础/逻辑回归

逻辑回归(Logistic Regression)

逻辑回归是一个用于二分类(binary classification)的算法。

  1. 训练数据 { ( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , … ( x ( m ) , y ( m ) ) , } \{(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),\dots(x^{(m)},y^{(m)}),\} {(x(1),y(1)),(x(2),y(2)),(x(m),y(m)),}
    X ∈ R n x × m X \in \mathbb{R}^{n_x \times m} XRnx×m Y ∈ R 1 × m Y \in \mathbb{R}^{1 \times m} YR1×m
    X.shape
  2. 逻辑回归参数
    • 特征向量: x ∈ R n x × 1 x \in \mathbb{R}^{n_x \times 1} xRnx×1 ,表示样本 x x x包含 n x n_x nx个特征;
      输出标签: y ∈ 0 , 1 y \in 0,1 y0,1 ,目标值属于0、1分类;
    • 权重: w ∈ R n x × 1 w \in \mathbb{R}^{n_x \times 1} wRnx×1
      偏置: b ∈ R b \in \mathbb{R} bR
    • 预测值: y ^ = P ( y = 1 ∣ x ) ∈ [ 0 , 1 ] \hat{y} = P(y=1|x) \in [0,1] y^=P(y=1x)[0,1]
                     y ^ = σ ( w T x + b ) \hat{y} = \sigma (w^T x + b) y^=σ(wTx+b)
      其中Sigmoid 函数 σ ( z ) = 1 1 + e − z \sigma(z)=\frac{1}{1+e^{-z}} σ(z)=1+ez1
      ⚠️Sigmoid函数的一阶导数:
              σ ′ ( z ) = σ ( z ) ( 1 − σ ( z ) ) \sigma'(z)=\sigma(z)(1-\sigma(z)) σ(z)=σ(z)(1σ(z))
      这里可以解释梯度消失的问题,当 z = 0 z=0 z=0时,导数最大,但是导数最大为 σ ′ ( 0 ) = σ ( 0 ) ( 1 − σ ( 0 ) ) = 0.25 \sigma'(0)=\sigma(0)(1-\sigma(0))=0.25 σ(0)=σ(0)(1σ(0))=0.25 ,这里导数仅为原函数值的0.25倍。 参数梯度下降公式的不断更新, σ ′ ( z ) \sigma'(z) σ(z)会变得越来越小,每次迭代参数更新的步伐越来越小,最终接近于0,产生梯度消失的现象。
  3. 代价函数(Loss Function)
    • 损失函数(Cost Function)
      用于衡量预测结果与真实值之间的误差。
      ⚠️读懂深度学习中的代价函数、交叉熵
      • 通常损失函数定义方式为平方差损失:
             L ( y ^ , y ) = 1 2 ( y ^ − y ) 2 L(\hat{y} ,y)=\frac{1}{2}(\hat{y} −y)^2 L(y^,y)=21(y^y)2
        但 Logistic 回归中我们并不倾向于使用这样的损失函数,因为之后讨论的优化问题会变成非凸的,最后会得到很多个局部最优解,梯度下降法可能找不到全局最优值。
      • 逻辑回归的损失函数(交叉熵):
             L ( y ^ , y ) = − ( y log ⁡ y ^ ) − ( 1 − y ) log ⁡ ( 1 − y ^ ) L(\hat{y} ,y)=−(y\log\hat{y})−(1−y)\log(1−\hat{y}) L(y^,y)=(ylogy^)(1y)log(1y^)
        when y = 1 y=1 y=1, min ⁡ ( L ( y ^ , y ) ) = − log ⁡ ( y ^ ) ⇒ max ⁡ ( log ⁡ ( y ^ ) ) = max ⁡ ( y ^ ) ⇒ 1 \min{(L(\hat{y} ,y))}=-\log(\hat{y}) \Rightarrow \max{(\log(\hat{y}))}=\max{(\hat{y})} \Rightarrow 1 min(L(y^,y))=log(y^)max(log(y^))=max(y^)1
        如果 y ^ \hat{y} y^越接近1,表示预测效果越好;如果 y ^ \hat{y} y^越接近0,表示预测效果越差;
        when y = 0 y=0 y=0, min ⁡ ( L ( y ^ , y ) ) = log ⁡ ( 1 − y ^ ) ⇒ max ⁡ ( log ⁡ ( 1 − y ^ ) ) = max ⁡ ( 1 − y ^ ) ⇒ min ⁡ ( y ^ ) ⇒ 0 \min{(L(\hat{y} ,y))}=\log(1-\hat{y}) \Rightarrow \max{(\log(1-\hat{y}))}=\max{(1-\hat{y})} \Rightarrow \min{(\hat{y})} \Rightarrow 0 min(L(y^,y))=log(1y^)max(log(1y^))=max(1y^)min(y^)0
        如果 y ^ \hat{y} y^越接近0,表示预测效果越好;如果 y ^ \hat{y} y^越接近1,表示预测效果越差;
    • 代价函数(Loss Function)
      损失函数是在单个训练样本中定义的,它衡量了在单个训练样本上的表现。
      代价函数衡量的是在全体训练样本上的表现,即衡量参数 w 和 b 的效果。
      • 交叉熵代价函数:
        J ( w , b ) = 1 m ∑ i m L ( y ^ ( i ) , y ( i ) ) = 1 m ∑ i m ( − ( y ( i ) log ⁡ y ^ ( i ) ) − ( 1 − y ( i ) ) log ⁡ ( 1 − y ^ ( i ) ) ) J(w,b)=\frac{1}{m} \sum^{m}_i L(\hat{y}^{(i)},y^{(i)}) = \frac{1}{m} \sum^{m}_i (−(y^{(i)}\log\hat{y}^{(i)})−(1−y^{(i)})\log(1−\hat{y}^{(i)})) J(w,b)=m1imL(y^(i),y(i))=m1im((y(i)logy^(i))(1y(i))log(1y^(i)))
      • 目标: arg ⁡ min ⁡ w , b J ( w , b ) \arg \min_{w,b}J(w,b) argminw,bJ(w,b)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值