学习笔记——机器学习--逻辑回归理论推导

本文深入介绍了逻辑回归的基本原理,从线性回归的概念出发,详细解释了如何利用sigmoid函数进行二分类预测,并通过极大似然估计法求解参数。

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

  在介绍Logistic Regression之前我们先简单说一下线性回归,,线性回归的主要思想就是通过历史数据拟合出一条直线,用这条直线对新的数据进行预测
线性回归的公式如下:

y=hθ(x)=θ0+θ1x1+θ2x2++θnxn=θTx(532)(532)y=hθ(x)=θ0+θ1x1+θ2x2+⋯+θnxn=θTx

  而对于Logistic Regression来说,其思想也是基于线性回归(Logistic Regression属于广义线性回归模型)。其公式如下:

hθ(x)=g(θTx)=11+eθTx       g(z)=11+ez(533)(534)(533)hθ(x)=g(θTx)=11+e−θTx(534)       g(z)=11+e−z

  被称作sigmoid函数,我们可以看到,Logistic Regression算法是将线性函数的结果映射到了sigmoid函数中。
sigmoid的函数图形如下:


这里写图片描述

  可以看到,sigmoid的函数输出是介于(0,1)之间的,中间值是0.5,于是之前的公式hθ(x)hθ(x)的含义就很好理解了,因为hθ(x)hθ(x)输出是介于(0,1)之间,也就表明了数据属于某一类别的概率,例如 :
         hθ(x)<0.5hθ(x)<0.5则说明当前数据属于A类;
         hθ(x)>0.5hθ(x)>0.5则说明当前数据属于B类。
  所以我们可以将sigmoid函数看成样本数据的概率密度函数。有了上面的公式,我们接下来需要做的就是怎样去估计参数θθ
  首先我们来看,θθ函数的值有特殊的含义,它表示hθ(x)hθ(x)结果取1的概率,因此对于输入x分类结果为类别1和类别0的概率分别为:

P(y=1|x;θ)=hθ(x)P(y=0|x;θ)=1hθ(x)(535)(536)(535)P(y=1|x;θ)=hθ(x)(536)P(y=0|x;θ)=1−hθ(x)

根据上式,接下来我们可以使用概率论中极大似然估计的方法去求解损失函数,首先得到概率函数为:

P(y|x;θ)=(hθ(x))y×(1hθ(x))1y(537)(537)P(y|x;θ)=(hθ(x))y×(1−hθ(x))1−y

  因为样本数据(m个)独立,所以它们的联合分布可以表示为各边际分布的乘积,取似然函数为:

L(θ)=Πmi=1P(y(i)x(i);θ)        =Πmi=1(hθ(x(i)))y(i)×(1hθ(x(i)))1y(i)(538)(539)(538)L(θ)=Πmi=1P(y(i)|x(i);θ)(539)        =Πmi=1(hθ(x(i)))y(i)×(1−hθ(x(i)))1−y(i)

取对数似然函数:

l(θ)=log(L(θ))=i=1mlog((hθ(x(i)))y(i))+log((1hθ(x(i)))1y(i))                        =i=1my(i)log(hθ(x(i)))+(1y(i))log((1hθ(x(i)))(540)(541)(540)l(θ)=log(L(θ))=∑i=1mlog⁡((hθ(x(i)))y(i))+log((1−hθ(x(i)))1−y(i))(541)                        =∑i=1my(i)log⁡(hθ(x(i)))+(1−y(i))log((1−hθ(x(i)))

给出损失函数J(θ)=l(θ)J(θ)=l(θ),对J(θ)J(θ)求偏导数

θjJ(θ)=θj(i=1my(i)log(hθ(x(i)))+(1y(i))log((1hθ(x(i))))              =i=1m(y(i)hθ(x(i))(1y(i))1hθ(x(i)))θjhθ(x(i))               =i=1m(y(i)g(θTx(i))(1y(i))1g(θTx(i)))θjg(θTx(i))(542)(543)(544)(542)∂∂θjJ(θ)=∂∂θj(∑i=1my(i)log⁡(hθ(x(i)))+(1−y(i))log((1−hθ(x(i))))(543)              =∑i=1m(y(i)hθ(x(i))−(1−y(i))1−hθ(x(i)))∂∂θjhθ(x(i))(544)               =∑i=1m(y(i)g(θTx(i))−(1−y(i))1−g(θTx(i)))∂∂θjg(θTx(i))

因为

g(θTx)=11+eθTx(545)(545)g(θTx)=11+e−θTx

所以

θjg(θTx(i))=θj(11+eθTx(i))=eθTx(i)(1+eθTx(i))2θjθTx(i)(546)(546)∂∂θjg(θTx(i))=∂∂θj(11+e−θTx(i))=−−e−θTx(i)(1+e−θTx(i))2⋅∂∂θjθTx(i)

θjJ(θ) =i=1m(y(i)g(θTx(i))(1y(i))1g(θTx(i)))(eθTx(i)(1+eθTx(i))2θjθTx(i))               =i=1m(y(i)g(θTx(i))(1y(i))1g(θTx(i)))g(θTx(i))(1g(θTx(i)))θjθTx(i)               =i=1m(y(i)g(θTx(i))(1y(i))1g(θTx(i)))g(θTx(i))(1g(θTx(i)))θj(θ0+θ1x(i)1+θ2x(i)2+θjx(i)j+θnx(i)n)               =i=1m(y(i)(1g(θTx(i)))g(θTx(i))(1y(i)))x(i)j               =i=1m(y(i)hθ(x(i)))x(i)j(547)(548)(549)(550)(551)(547)∂∂θjJ(θ) =∑i=1m(y(i)g(θTx(i))−(1−y(i))1−g(θTx(i)))(−−e−θTx(i)(1+e−θTx(i))2⋅∂∂θjθTx(i))(548)               =∑i=1m(y(i)g(θTx(i))−(1−y(i))1−g(θTx(i)))g(θTx(i))(1−g(θTx(i)))∂∂θjθTx(i)(549)               =∑i=1m(y(i)g(θTx(i))−(1−y(i))1−g(θTx(i)))g(θTx(i))(1−g(θTx(i)))∂∂θj(θ0+θ1x1(i)+θ2x2(i)+⋯θjxj(i)⋯+θnxn(i))(550)               =∑i=1m(y(i)(1−g(θTx(i)))−g(θTx(i))(1−y(i)))⋅xj(i)(551)               =∑i=1m(y(i)−hθ(x(i)))⋅xj(i)


从而迭代θ至收敛即可:

θj:=θj+αi=1m(y(i)hθ(x(i)))x(i)jθj:=θj+α∑i=1m(y(i)−hθ(x(i)))⋅xj(i)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值