【吴恩达机器学习笔记】五、逻辑回归

news2024/11/28 6:51:06

✍个人博客:https://blog.csdn.net/Newin2020?spm=1011.2415.3001.5343
📣专栏定位:为学习吴恩达机器学习视频的同学提供的随堂笔记。
📚专栏简介:在这个专栏,我将整理吴恩达机器学习视频的所有内容的笔记,方便大家参考学习。
📝视频地址:吴恩达机器学习系列课程
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪

五、逻辑回归

1. 逻辑回归

接下来我们要讲的是关于分类的算法,可以大致分为两个部分,首先要讲的是第一个部分只有两个标签的分类,后面我们会讲到第二部分多标签的分类。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AtK6dcFi-1669596006305)(吴恩达机器学习.assets/image-20211102183253875.png)]

只有两个标签的分类应该很好理解,无非就是将两个类别放在计算机中就变成了判断0和1,0我们就称为负样本(Negative Class),而1我们就称为正样本(Positive Class)

下面我们举个例子,用线性回归来进行分类,看看效果如何。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Or4lstM2-1669596006309)(吴恩达机器学习.assets/image-20211102183624037.png)]

我们可以看到,通过输入样本,计算机就会自动拟合出一条曲线,阈值在0.5的地方,这样看起来效果似乎不错,但是有没有想过,如果有个样本特立独行远离了这些“大群体”,那这条曲线会受到什么影响。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d6iMGczE-1669596006312)(吴恩达机器学习.assets/image-20211102183819720.png)]

可以看到,整条曲线因为一个样本,与原有曲线相差甚大,所以我们一般不会用线性回归进行分类,不光是因为上面这个例子,它还有一个让人琢磨不透的地方就是,即使你输入的样本都是0或1,它的预测值竟然会大于1或者小于0。基于上面这些问题,接下来的主角就登场了,下面将会用到Logistic回归去进行分类。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gOD1P5jl-1669596006315)(吴恩达机器学习.assets/image-20211102184258199.png)]

名字看起来是用来解决关于回归的问题,但实际上它是一种分类算法,这是因为一些历史原因所致。

逻辑回归(Logistic Regression)模型

这个模型所用的函数是Sigmoid function(Logistic function),而Sigmoid funciton得到的的结果都会分布在0和1之间,公式如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lUoi98P1-1669596006317)(吴恩达机器学习.assets/image-20211103110114957.png)]

下面我将给出这个模型的解释。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4n3QuE1P-1669596006326)(吴恩达机器学习.assets/image-20211103111334652.png)]

我们可以假设hθ(x)代表输入值是x且y=1的概率,上面就是一个例子,可以看到输入x1后,hθ(x)=0.7即当x1输入后,有70%的概率是恶性肿瘤。

并且我们还有一点需要注意,P(y = 1|x;θ)代表的意思是在x的情况下,参数是θ且y=1的概率。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pRLgaU3c-1669596006331)(吴恩达机器学习.assets/image-20211103111644921.png)]

我们再对上面进行一下小结,我们可以设定一个规则,当hθ(x)≥0.5时,y=1,并且通过图像观察可以得到θTx≥0;相反当hθ(x)<0.5时,y=0,并且可以得到θTx<0。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GpB9KR4z-1669596006336)(吴恩达机器学习.assets/image-20211103112650359.png)]

2. 决策界限

决策边界(Decision Boundary)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lOvhHWfH-1669596006338)(吴恩达机器学习.assets/image-20211103114350522.png)]

这个决策边界就是上图的那条红线,用来划分y=1和y=0的界限,由g中的函数公式得到,上面例子得到的边界是线性的。

但是如果特征变多了,决策边界就不像一条直线那么简单,它可能就是非线性的曲线了,就如下面这个例子:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6PdfbhJH-1669596006339)(吴恩达机器学习.assets/image-20211103122802511.png)]

小结

决策边界与之前的线性回归不同,它的曲线并不是由给出的数据集所决定,而是当θ给出后,它就已经决定了。

3. 代价函数

在做完上面的铺垫后,这节课要讲的就是在其他条件都给定的情况下,如何得到θ值。

Logistic回归代价函数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y4c651Jo-1669596006343)(吴恩达机器学习.assets/image-20211103220031993.png)]

从这个公式可以看出,代价函数中当y=1和当y=0时的式子不太一样,我们先来看当y=1时的情况。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C0G5ZaE2-1669596006345)(吴恩达机器学习.assets/image-20211103124605418.png)]

你会发现在y=1的情况下,当hθ(x)等于1时cost为0,这就是我们想得到的结果,反过来当hθ(x)为0时,cost根本得不到值,并且hθ(x)趋近于0时,cost会非常的大从而被排除,所以就能得到到hθ(x)=0时y不可能为1的结果。接下来再来看看当y=0时的情况。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6vzyrAmy-1669596006347)(吴恩达机器学习.assets/image-20211103125039097.png)]

从图中可以看到,y=0的图像与y=1的图像对称,所以得到的结论也是完全相反,即当hθ(x)=0时,cost为0是最小的,而当hθ(x)等于1时,cost同样也取不到,hθ(x)趋向1时cost也会变得非常的大从而被排除,所以就能得到hθ(x)=1时y不可能为0的结果。

从上面来看,我们就能理解为什么当y=0时hθ(x)<0.5而当y=1时hθ(x)≥0.5了。

接下来,我将为你介绍如何去简化上面代价函数的式子,如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eMpM3ws8-1669596006348)(吴恩达机器学习.assets/image-20211103221354536.png)]

你可以将y=0和y=1的情况带入式子,就可以得到一个整合的式子,我们可以验证一下,当把y=1和y=0分别带入这个式子可以得到两个式子,跟上面提到的两个式子完全相同,因为y和1-y总有一边会消为0。

所以弄清楚其中原理后,我们就要像之前一样,要去找到θ的最优值即当J(θ)最小时候的θ。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2DRr1rJL-1669596006351)(吴恩达机器学习.assets/image-20211103221835459.png)]

而我们现在又可以用到梯度下降的算法来计算θ的最优值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UW3rJBmT-1669596006354)(吴恩达机器学习.assets/image-20211103222157113.png)]

将式子带入,化简之后得:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lhxS9xLx-1669596006355)(吴恩达机器学习.assets/image-20211103222235390.png)]

到这里你可能会有疑问,这不是跟之前线性回归的梯度下降公式一毛一样吗,但实际上并不是,因为logistic回归的假设函数h(θ)与线性回归的完全不一样,所以带入式子会得到两个不一样的结果。但是因为两者都是用到了梯度下降算法,所以两者的特征值如果相差过大,都可以用特征缩放来缩小特征值,从而使梯度下降收敛更快。

小结

logistic回归是一种非常强大,甚至是全世界运用最广泛的一种分类算法。

4. 高级优化

上面我们是通过给到θ然后计算J(θ)以及它对θ的偏导数值然后带入梯度下降的算法得到最优值,但是当数据变得非常多时,梯度下降的效率就会大打折扣,所以还有其他更好的算法可以计算θ最优值时收敛的更快,但同时也会更加复杂。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bbbgldkG-1669596006357)(吴恩达机器学习.assets/image-20211105110334354.png)]

如上面所示,共轭梯度算法(Conjugate gradient)、BFGS和L-BFGS三个算法收敛的速度会更快,而且你不用手动的去计算α,他们会自动计算给出最优α,但是缺点就是太过于复杂。现实中,不用去深入了解这些算法的细节,除非你是数值专家,你只需要知道怎么去用,怎么写代码就够了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u0Ael1dL-1669596006358)(吴恩达机器学习.assets/image-20211105151735849.png)]

而总结起来就是首先我们要给出θ的值,然后写出代价函数的代码区计算J(θ)与其对θ的偏导数,然后用高级优化算法去得出最优解。

5. 多元分类

接下来我们来讲讲用逻辑回归来进行多分类,下面举几个例子来解释什么是多分类:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GLEMF6cy-1669596006360)(吴恩达机器学习.assets/image-20211105112745458.png)]

你可以将它想象成你有一个邮件,它可以自动的去分到工作、朋友、家人和爱好其中的类别当中,这就是多分类问题,当然你也可以想象成其它例子,就如上面的看病或者天气例子,所以在图像上也会有所不同。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ns3YwFIu-1669596006362)(吴恩达机器学习.assets/image-20211105113454565.png)]

我们就拿三元分类作为例子:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YW8nX4eK-1669596006364)(吴恩达机器学习.assets/image-20211105113916845.png)]

我们可以将三个类别分别设为y=1、y=2和y=3,然后得出三个分类器,每一个拟合器对应着一个类别,分别对每个分类器进行训练,然后测量对应类别的概率。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kHiWv8cX-1669596006367)(吴恩达机器学习.assets/image-20211105114224749.png)]

小结

一对多的分类问题,就是通过对每一个类别训练一个分类器,分别得到不同的h(θ),这样当输入x的时候,我们就将x分别输入每一个分类器进行计算其概率值,最终h(θ)值最大的那个分类器所对应的类别即是我们要分入的类别。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Hack The Box】linux练习-- Horizontall

HTB 学习笔记 【Hack The Box】linux练习-- Horizontall &#x1f525;系列专栏&#xff1a;Hack The Box &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4c6;首发时间&#xff1a;&#x1f334;2022年11月27日&#x1f334; &…

Spring Cloud和Dubbo有哪些区别?

Spring Cloud Spring Cloud是⼀个微服务框架&#xff0c;提供了微服务领域中的很多功能组件&#xff0c;并且Spring Cloud是⼀个⼤⽽全的框架 Dubbo Dubbo⼀开始是⼀个RPC调⽤框架&#xff0c;核⼼是解决服务调⽤间的问题 对比&#xff1a; Dubbo则更侧重于服务调⽤&#x…

Nuxt 3.0.0正式发布,集成Element Plus、Ant Design Vue和Arco Design Vue脚手架

发布说明 Nuxt 是使用简便的 Web 框架&#xff0c;用于构建现代和高性能的 Web 应用&#xff0c;可以部署在任何运行 JavaScript 的平台上。 Nuxt 3.0 11天前正式发布了稳定版&#xff0c;3.0 基于 Vue 3&#xff0c;为 TypeScript 提供了 “一等公民” 支持&#xff0c;并进行…

java面试强基(13)

前文链接(61条消息) java面试强基&#xff08;12&#xff09;_一个风轻云淡的博客-CSDN博客https://blog.csdn.net/m0_62436868/article/details/128047427?spm1001.2014.3001.5501 何为反射&#xff1f;反射机制优缺点&#xff1f; ​ 它赋予了我们在运行时分析类以及执行类…

Jenkins部署与基础配置(1)

5 Jenkins 部署与基础配置 IP地址角色172.18.8.19jenkins-master172.18.8.29jenkins-node1172.18.8.39jenkins-node2 [rootjenkins-master ~]# tail -n1 .bashrc PS1\[\e[1;32m\][\[\e[0m\]\[\e[1;32m\]\[\e[1;33m\]\u\[\e[34m\]\h\[\e[1;31m\] \w\[\e[1;32m\]]\[\e[0m\]# [r…

ISCTF新生赛(引用传递简单社工)

猫和老鼠 反序列化题目&#xff1a; <?php //flag is in flag.php highlight_file(__FILE__); error_reporting(0);class mouse { public $v;public function __toString(){echo "Good. You caught the mouse:";include($this->v);}}class cat {public $a;p…

05 Pod:如何理解这个Kubernetes里最核心的概念?

文章目录1 为什么要有pod?2. 为什么Pod 是 Kubernetes 的核心对象&#xff1f;3. 如何用YAML描述Pod?3.1 Pod的基本组成部分3.1.1 最重要的 spec.containers 字段使用3.1.1.1为什么要定义容器启动时要执行的命令&#xff1f;4. 如何使用kubectl 操作Pod?4.1 创建pod4.2 删除…

数据结构与算法之查找算法

数据结构与算法——查找算法 本文将不断更新查找有关算法&#xff0c;由于精力有限&#xff0c;因此本博文将分多次更新&#xff0c;感谢您的关注 文章目录数据结构与算法——查找算法1. 二分法查找&#xff08;折半查找&#xff09;1.1 算法叙述1.2 实例说明2. 插值查找&#…

【ML特征工程】第 8 章 :自动化特征化器:图像特征提取和深度学习

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

[2022-11-26]神经网络与深度学习第5章 - 循环神经网络(part 2)

contents循环神经网络(part 2) - 梯度爆炸实验写在开头解决方式概览梯度爆炸实验梯度打印函数思考&#xff1a;什么是范数、L2范数、为什么要打印梯度范数复现梯度爆炸现象使用梯度截断解决梯度爆炸问题思考&#xff1a;梯度截断解决梯度爆炸问题的原理&#xff1f;写在最后循环…

搭建MinIO容器

文章目录1 问题背景2 资源准备3 安装Docker服务4 关闭防火墙5 以Docker方式安装MinIO6 访问MinIO1 问题背景 玩一个前后端的项目&#xff0c;需要用到对象存储器&#xff0c;于是使用开源的MinIO。期间以Docker方式搭建遇到某些坑&#xff0c;此处仅以博客的方式记录下来 2 资源…

【通信原理课设--基于MATLAB/Simulink的2ASK数字带通传输系统建模与仿真】Simulink的使用介绍以及在本实验中的使用

目录 Simulink的简要介绍 Simulink的使用流程 进入Simulink 进入模型编辑窗口 ​ 建立一个新的文件 根据求需建立模型 对选择的模块进行参数设置 本次课程设计需要使用Simulink做ASK的仿真处理&#xff0c;那么下面就一起学习了解一下Simulink吧&#xff01; Simuli…

全球经济自由度1995-2021最新版绿色金融指数2001-2020

&#xff08;1&#xff09;全球经济自由度指数 1995-2021 1、数据来源&#xff1a;美国传统基金会 2、时间跨度&#xff1a;1995-2021 3、区域范围&#xff1a;全球 4、指标说明&#xff1a; 经济自由度指数&#xff0c;是由《华尔街日报》和美国传统基金会发布的年度报告…

爱站网关键词挖掘工具-长尾关键词挖掘站长工具

长尾词挖掘免费工具&#xff0c;为什么我们要使用长尾词挖掘免费工具&#xff0c;我们只要找准关键词就等于掌握了流量。 关键词可应用于任何平台&#xff1a;不管是网站、短视频、自媒体等&#xff01; 比如说用户A经常看体育领域的内容&#xff0c;平台就会给A打上体育领域标…

LeetCode刷题---19. 删除链表的倒数第 N 个结点(双指针-快慢指针)

文章目录一、编程题&#xff1a;142. 环形链表 II&#xff08;双指针-快慢指针&#xff09;1.题目描述2.示例1&#xff1a;3.示例2&#xff1a;4.示例3&#xff1a;5.提示&#xff1a;6.进阶&#xff1a;二、解题思路1.思路2.复杂度分析&#xff1a;3.算法图解三、代码实现总结…

[附源码]计算机毕业设计springboot班级事务管理论文2022

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

MQTT协议

1.MQTT基础知识学习 MQTT协议基础知识视频学习资源:太极创客 太极创客的MQTT基础篇博文目录链接:零基础入门学用物联网 – MQTT基础篇 – 目录 备注:建议先学习一下MQTT的基础知识后再学习下面章节部分的内容。 2.MQTT服务器的搭建 MQTT服务器的搭建步骤如下: 使用docker pull…

【vue + echarts】图表自适应缩放(跟随浏览器的窗口缩放,项目侧边栏折叠后的窗口缩放),图表重绘

效果图: 先清楚两个东西,浏览器窗口的缩放和项目侧边栏折叠后窗口的缩放,这两个是不一样的 第一种,浏览器窗口缩放后,当前窗口会放大了或者缩小了,这时会走浏览器缩放的代码部分, 第二种,而项目侧边栏折叠后窗口的缩放,虽然项目里面的窗口缩放了,但是,浏览器的窗口并没有发生…

tACS恢复老年人认知控制能力的EEG功能和DTI结构网络机制

认知控制能力是大多数日常任务中的关键能力&#xff0c;与年龄相关的认知控制能力下降威胁到个人的独立性。作者之前在老年人和年轻人中都发现&#xff0c;经颅交流电刺激&#xff08;tACS&#xff09;可以改善认知控制&#xff0c;在远离受刺激部位和频率之外的神经区域观察到…

使用python玩转二维码!速学速用!⛵

&#x1f4a1; 作者&#xff1a;韩信子ShowMeAI &#x1f4d8; Python3◉技能提升系列&#xff1a;https://www.showmeai.tech/tutorials/56 &#x1f4d8; 本文地址&#xff1a;https://showmeai.tech/article-detail/398 &#x1f4e2; 声明&#xff1a;版权所有&#xff0c;…