逻辑回归掌握要点(全)

本文详细介绍了逻辑回归的核心概念,包括逻辑回归的原理,使用sigmoid函数将线性回归转化为分类问题,以及逻辑回归的目标函数和损失函数。文章还探讨了为何选择对数似然损失函数,以及损失函数的优化方法,如梯度下降法。通过对逻辑回归的深入解析,有助于读者全面理解这一重要的分类模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于自己理解与ng老师的课程总结出来的LR
http://mooc.study.163.com/learn/2001281002?tid=2001392029#/learn/content?type=detail&id=2001702014&cid=2001693016

逻辑回归原理

  我们知道,线性回归模型是 y^=θx y ^ = θ x

  但是线性回归无法用于分类,为了解决这个问题

  逻辑回归利用sigmoid函数对 y^ y ^ 进行了改造

  PS: sigmoid函数是 σ(z)=11+ez σ ( z ) = 1 1 + e − z

  也就是说将线性回归输出的 y^ y ^ 对应到了sigmoid函数中的 z z 将原本的连续输出变成了分类

  z趋向于正无穷时,sigmoid趋向于1

  z趋向于负无穷时,sigmoid趋向于0

  sigmoid函数输出大于0.5,即输入xθ 大于0 则y = 1

  sigmoid函数输出小于0.5,即输入 xθ x θ 小于0 则y = 0

  并且越靠近临界点,分类的准确性会越低

  逻辑回归使用对数似然损失函数

逻辑回归的目标函数

y^=θx+b y ^ = θ x + b , a=σ(y^) a = σ ( y ^ )

  目标函数为: L(a,y)=(ylog(a)+(1y)log(1a)) L ( a , y ) = − ( y l o g ( a ) + ( 1 − y ) l o g ( 1 − a ) )

  a是预测值,y是真实标签的label

逻辑回归的迭代过程

  首先对 L(a,y) L ( a , y ) 进行求a的偏导 dL(a,y)da=ya+1y1a d L ( a , y ) d a = − y a + 1 − y 1 − a

  PS: sigmoid函数有一个很好的导数性质便于我们使用
σ(y^)=σ(y^)(1σ(y^)) σ ′ ( y ^ ) = σ ( y ^ ) ( 1 − σ ( y ^ ) )

  sigmoid函数 σ σ 进行对z的求导 dσdy^=σ(y^)(1σ(y^)) d σ d y ^ = σ ( y ^ ) ( 1 − σ ( y ^ ) )

  因为 a=σ(y^) a = σ ( y ^ ) 所以 dσdy^=dady^=a(1a) d σ d y ^ = d a d y ^ = a ( 1 − a )

dL(a,y)dz=dL(a,y)dadady^=(ya+1y1a)dady^=ay d L ( a , y ) d z = d L ( a , y ) d a ⋅ d a d y ^ = ( − y a + 1 − y 1 − a ) ⋅ d a d y ^ = a − y

  再求 dzdw1=x1 d z d w 1 = x 1 dzdw2=x2 d z d w 2 = x 2

  最后通过链式法则得到 dL(a,y)dw1=x1dL(a,y)dy^ d L ( a , y ) d w 1 = x 1 ⋅ d L ( a , y ) d y ^
  w1: = w1 - αdL(a,y)dw1 α d L ( a , y ) d w 1
α α 为学习率
这里写图片描述

逻辑回归的损失函数的解释

  首先我们从逻辑回归模型的最大似然估计的角度出发,假设训练集都是独立同分布的条件下,将逻辑回归的结果用概率的方式表示出来

  if y = 1: p(y|x)=y^ p ( y | x ) = y ^
  if y = 0: p(y|x)=1y^ p ( y | x ) = 1 − y ^

  然后将着两条式子拼起来 p(y|x)=y^y(1y^)(1y) p ( y | x ) = y ^ y ( 1 − y ^ ) ( 1 − y )

  样本联合概率 P()=mi=1p(yi|xi)=mi=1y^y(1y^)(1y) P ( 所 有 样 本 ) = ∏ i = 1 m ⋅ p ( y i | x i ) = ∏ i = 1 m y ^ y ( 1 − y ^ ) ( 1 − y )

  做最大似然估计找到一组参数使得样本联合概率达到最大(最符合训练数据)

  在式子左右均取对数,因为样本联合概率最大化等价于取对数之后最大化

logP() l o g P ( 所 有 样 本 )

=mi=1logp(yi|xi)=mi=1(ylogy^+(1y)log(1y^)) = ∑ i = 1 m l o g p ( y i | x i ) = ∑ i = 1 m ( y l o g y ^ + ( 1 − y ) l o g ( 1 − y ^ ) )

  我们目的是为了让这个logP(所有样本)最大化,但是损失函数是要让其最小化。

  所以在前加负值就是LR的损失函数
L(y^,y)=mi=1(ylogy^+(1y)log(1y^)) L ( y ^ , y ) = − ∑ i = 1 m ( y l o g y ^ + ( 1 − y ) l o g ( 1 − y ^ ) )

为何使用逻辑对数损失函数?

  答:假如采用平方和损失函数是非凸函数,无法使用梯度下降法去求得全局最低点

  所以逻辑回归采用这个特殊的逻辑对数损失函数,是凸函数,可利用梯度下降法取得全局最低点

逻辑回归的成本函数

  成本函数: J(w,b)=1mmi=1(ylogy^+(1y)log(1y^)) J ( w , b ) = − 1 m ∑ i = 1 m ( y l o g y ^ + ( 1 − y ) l o g ( 1 − y ^ ) )

1m 1 m 是为了计算方便,人为进行的缩放

损失函数的优化方法

  迭代尺度法, 梯度下降法,牛顿法或者拟牛顿法.牛顿法或者拟牛顿法一般收敛速度更快

LR为什么用sigmoid函数??为什么

因为LR是伯努利分布,遵循广义线性分布,所以预测的输出的期望就是伯努利分布本身发生的概率,也就正好推出来sigmoid函数的形式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值