分类问题经典算法 | 二分类问题 | Logistic回归:梯度下降

目录

  • [一. 损失函数](#一. 损失函数)
    • [1. 交叉熵损失函数](#1. 交叉熵损失函数)
    • [2. 梯度下降](#2. 梯度下降)

一. 损失函数

Logistic回归算法公式推导篇中,我们通过对似然函数求对数,得到 l ( θ ) l(\theta ) l(θ):
l ( θ ) = l n L ( θ ) = ∑ i = 1 M { y ( i ) l n h θ ( x ( i ) ) + ( 1 − y ( i ) ) l n 1 − h θ ( x ( i ) ) } l(\theta )=ln\left L(\\theta)\\right =\sum_{i=1}^{M}\left \{y^{(i)}lnh_{\\theta}(x\^{(i)} )+(1-y^{(i)})ln1-h_{\\theta}(x\^{(i)} ) \right \} l(θ)=lnL(θ)=i=1∑M{y(i)lnhθ(x(i))+(1−y(i))ln1−hθ(x(i))}

公式解释1: l ( θ ) l(\theta ) l(θ)

 

对于似然函数,其含义可以解释为:

用已知的观测数据(x值、y值),在某个事件发生概率最大时候,求函数的参数

 

究竟上述的这个事件发生概率有多大呢?当然是概率越接近1越好,越大越好

结合对似然函数的描述,当似然函数取最大时,模型最优,那么此时我们就可以定义损失函数 :
J ( θ ) = − l ( θ ) = ∑ i = 1 M { − y ( i ) l n h θ ( x ( i ) ) − ( 1 − y ( i ) ) l n 1 − h θ ( x ( i ) ) } J(\theta)=-l(\theta)=\sum_{i=1}^{M}\left \{-y^{(i)}lnh_{\\theta}(x\^{(i)} )-(1-y^{(i)})ln1-h_{\\theta}(x\^{(i)} ) \right \} J(θ)=−l(θ)=i=1∑M{−y(i)lnhθ(x(i))−(1−y(i))ln1−hθ(x(i))}

公式解释2: J ( θ ) J(\theta ) J(θ)

 

对于损失函数这样定义不太理解的同学,看这里!!!

 

明确我们预测的目的:

对于一个样本的预测,我们希望模型能预测真实标签的概率越接近1越好,预测的越准确越好

上述目的如果套用至似然函数中,我们就可以说:

对于观测数据(有1有0),我希望模型预测真实标签的概率越接近1越好

若我对似然函数取反,他的含义就变得非常符合我们对于损失函数的要求,即损失越小越好:

对于观测数据,此时我们的期望就变成了,预测真实标签的概率越接近0越好,预测的准确率越低越好;

 

而事件(预测的准确率越低越好)发生的概率,从预测目的来说,我们希望越低越好,即损失函数越小越好

其实,从数学层面讲,似然函数求最大值就等价于求公式前加负号的最小值

1. 交叉熵损失函数

上述定义的损失函数,是非常著名的交叉熵(CrossEntropy)损失函数 ,该函数为凸函数,表示为:
C o s t ( h θ ( x ) , y ) = { − l n ( h θ ( x ) ) , y = 1 − l n ( 1 − h θ ( x ) ) , y = 0 Cost(h_{\theta}(x),y)=\left\{\begin{matrix}-ln(h_{\theta}(x)),y=1 \\-ln(1-h_{\theta}(x)),y=0\end{matrix}\right. Cost(hθ(x),y)={−ln(hθ(x)),y=1−ln(1−hθ(x)),y=0

2. 梯度下降

在定义模型的损失函数后,通过对损失求导来更新梯度,梯度更新公式:
θ i ′ = θ i − α ∂ J ∂ θ i {\theta _{i} }' =\theta _{i}-\alpha \tfrac{\partial J}{\partial \theta _{i}} θi′=θi−α∂θi∂J

其中,损失函数的梯度值为 ∂ J ( θ ) ∂ θ j = ∑ i = 1 M h θ ( x ( i ) ) − y ( i ) ∗ x j ( i ) \frac{\partial J(\theta )}{\partial \theta {j} }=\sum{i=1}^{M}h_{\\theta}(x\^{(i)} )-y\^{(i)} \ast x_{j}^{(i)} ∂θj∂J(θ)=i=1∑Mhθ(x(i))−y(i)∗xj(i)

推导过程在Logistic回归算法 公式推导篇中


感谢阅读🌼

如果喜欢这篇文章,记得点赞👍和转发🔄哦!

有任何想法或问题,欢迎留言交流💬,我们下次见!

祝愉快🌟!


相关推荐
深频率5 分钟前
上线一年就撤:微软关掉Outlook的AI邮件助理
人工智能·1024程序员节
irislinAmelia7 小时前
缺陷检测AI关键点在哪
人工智能·嵌入式硬件·1024程序员节
Ai-_Man7 小时前
Meta Muse还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·c#·1024程序员节
安托智造7 小时前
MBD:从二维图纸到三维模型的制造革命(下)
大数据·人工智能·制造·mbd
火山引擎开发者社区7 小时前
VeOps 深度调查:让 AI 排障从“能用”走向“可靠”
人工智能
梓豪csd8 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
王中阳Go8 小时前
两个入口答案不一致先别调模型:6 行入口口径对账表(附脚本)
人工智能·后端·python·大语言模型·1024程序员节
武天旭8 小时前
AI安全--AI大模型的隐私保护与法律法规
人工智能·安全
Solange__8 小时前
影视预演怎么用AI生成3D场景?从分镜、Blockout到镜头交付的完整流程
人工智能·游戏·3d·ai·自然语言处理·aigc·游戏策划
冬奇Lab8 小时前
一次 Skill 评测的复盘:我推翻了一份现成的模型选型结论,然后自己造了个评测平台
人工智能·llm·agent