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

目录

  • 一. 损失函数
    • 1. 交叉熵损失函数
    • 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)}ln[h_{\theta}(x^{(i)} )]+(1-y^{(i)})ln[1-h_{\theta}(x^{(i)} )] \right \} l(θ)=ln[L(θ)]=i=1M{y(i)ln[hθ(x(i))]+(1y(i))ln[1hθ(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)}ln[h_{\theta}(x^{(i)} )]-(1-y^{(i)})ln[1-h_{\theta}(x^{(i)} )] \right \} J(θ)=l(θ)=i=1M{y(i)ln[hθ(x(i))](1y(i))ln[1hθ(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=1ln(1hθ(x))y=0
在这里插入图片描述

2. 梯度下降

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

其中,损失函数的梯度值为 ∂ 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)} θjJ(θ)=i=1M[hθ(x(i))y(i)]xj(i)

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


感谢阅读🌼
如果喜欢这篇文章,记得点赞👍和转发🔄哦!
有任何想法或问题,欢迎留言交流💬,我们下次见!

祝愉快🌟!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/503511.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

laravel ApiResponse接口统一响应封装

一&#xff0c;新增接口返回码配置文件 在config中新增配置文件apicode.php <?phpreturn [ apicodes>[/*** Message("OK")* 对成功的 GET、PUT、PATCH 或 DELETE 操作进行响应。也可以被用在不创建新资源的 POST 操作上*/HTTP_OK > 200,/*** Message(&qu…

优化云的 10 种方法...

云优化是正确选择正确的资源并将其分配给工作负载或应用程序的过程&#xff0c;确保资源得到有效利用并优化性能。这是为了确保您充分利用云基础设施。这包括确保您没有过度配置&#xff08;或者实际上配置不足&#xff09;资源&#xff0c;并确保您为正确的任务使用正确的服务…

职场的过早优化

过早优化&#xff0c;指的是还没弄清楚需求未来的变化的走向的时候&#xff0c;忽略了更重要的问题。 放在职业发展上&#xff1a;你在没有积累足够职场资源&#xff08;眼界、能力、人脉等等&#xff09;&#xff0c;也没有对职业发展形成清晰认知的时候&#xff0c;就过早地进…

UE学习笔记--解决滚轮无法放大蓝图、Panel等

我们发现有时候创建蓝图之后&#xff0c;右上角的缩放是1&#xff1a;1 但是有时候我们可能需要放的更大一点。 发现一直用鼠标滚轮像上滚动&#xff0c;都没有效果。 好像最大只能 1&#xff1a;1. 那是因为 UE 做了限制。如果希望继续放大&#xff0c;我们可以按住 Ctrl 再去…

Python读取hbase数据库

1. hbase连接 首先用hbase shell 命令来进入到hbase数据库&#xff0c;然后用list命令来查看hbase下所有表&#xff0c;以其中表“DB_level0”为例&#xff0c;可以看到库名“baotouyiqi”是拼接的&#xff0c;python代码访问时先连接&#xff1a; def hbase_connection(hbase…

精品SSM的选修课管理系统选课签到打卡

《[含文档PPT源码等]精品基于SSM的选修课管理系统设计与实现[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功&#xff01; 软件开发环境及开发工具&#xff1a; Java——涉及技术&#xff1a; 前端使用技术&#xff1a;HTM…

软考中级 软件设计师备考经验

考试介绍 软考中级的软件设计师需要考两个部分&#xff0c;选择题和大题&#xff0c;每科满分75&#xff0c;需要在同一次考试中两科同时大于等于45分才算通过。考试的内容包括计算机组成原理、数据结构、数据库、专业英语、信息安全、计算机网络等&#xff0c;范围比较广但考…

Linux技巧|centos7|重新认识和学习egrep和grep命令

前言&#xff1a; 相信提高文本检索工具&#xff0c;大家脑海里肯定有很多工具会自动跳出来&#xff0c;比如&#xff0c;grep&#xff0c;egrep&#xff0c;sed&#xff0c;cat&#xff0c;more&#xff0c;less&#xff0c;cut&#xff0c;awk&#xff0c;vim&#xff0c;vi…

【airtest】自动化入门教程(二)airtest操作

目录 一、touch 二、wait 三、swipe 四、exists 五、text 六、keyevent 七、snapshot 八、sleep 九、断言 9.1 assert_exists 9.2 assert_not_exists 9.3 assert_equal 9.4 assert_not_equal 前言&#xff1a;本文主要针对aritest部分的基础操作,aritest是一个跨平…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 3月2日,星期六

每天一分钟&#xff0c;知晓天下事&#xff01; 2024年3月2日 星期六 农历正月廿二 1、 气象局&#xff1a;3月份仍有5次冷空气影响我国&#xff1b;全国多地或提前入春。 2、 央行&#xff1a;将外籍来华人员移动支付单笔交易限额由1000美元提高到5000美元。 3、 神舟十七号航…

ABAP - OOALV 单元格 F4实现

方式一:使用标准数据表&#xff0c;FIELDCAT字段设置值 gs_fieldcat-ref_table X. "列可编辑gs_fieldcat-ref_table MARA. "F4 参考表gs_fieldcat-ref_field MATNR. "F4 参考字段 方式二.使用自定义数据 &#xff0c;实现效果如下图…

达梦数据库基础操作(四):数据表 CRUD 功能

达梦数据库基础操作(四)&#xff1a;数据表 CRUD 功能 1. 数据表 CRUD 功能 1.1 插入数据 # 使用 INSERT INTO 语句向 department 表插入数据记录。 INSERT INTO department VALUES(666, 数据库产品中心); # 使用 INSERT INTO 语句向 employee 表插入数据记录。 INSERT INTO …