吴恩达《机器学习》6-4->6-7:代价函数、简化代价函数与梯度下降、高级优化、多元分类:一对多

一、代价函数

逻辑回归的代价函数是用来度量模型预测与实际结果之间的差异的。与线性回归使用均方误差不同,逻辑回归使用的代价函数在数学上更为复杂。为了理解逻辑回归的代价函数,首先要明白逻辑回归的假设函数:

ℎ𝜃(𝑥) = 1 / (1 + 𝑒^(-𝜃^𝑇𝑋))

这个函数将输入𝑥映射到0到1之间的概率值,表示𝑥属于正类别的概率。代价函数的定义如下:

𝐽(𝜃) = −1/𝑚 ∑ [𝑦⁽ⁱ⁾ log(ℎ𝜃(𝑥⁽ⁱ⁾)) + (1 − 𝑦⁽ⁱ⁾) log(1 − ℎ𝜃(𝑥⁽ⁱ⁾))]

其中,𝑚表示训练样本的数量,𝑥⁽ⁱ⁾是第𝑖个训练样本,𝑦⁽ⁱ⁾是该样本的实际类别标签(0或1),ℎ𝜃(𝑥⁽ⁱ⁾)是模型的预测概率。

这个代价函数的特点是:当实际类别为1且模型的预测概率接近1时,代价趋近于0;当实际类别为1但模型的预测概率接近0时,代价增加;当实际类别为0且模型的预测概率接近0时,代价趋近于0;当实际类别为0但模型的预测概率接近1时,代价增加。这个函数的设计使得模型更加关注正确分类的样本,并且对误分类的样本有明显的代价。

二、梯度下降

为了拟合逻辑回归模型的参数𝜃,使用梯度下降算法。梯度下降的目标是最小化代价函数𝐽(𝜃)。梯度下降的更新规则如下:

Repeat { 𝜃𝑗 := 𝜃𝑗 - 𝛼(1/𝑚) ∑ [(ℎ𝜃(𝑥⁽ⁱ⁾) - 𝑦⁽ⁱ⁾)𝑥𝑗⁽ⁱ⁾] (for all 𝑗) }

这个规则中,𝜃𝑗表示参数向量𝜃的第𝑗个分量,𝛼是学习率,𝑚是训练样本的数量。通过反复更新参数𝜃,梯度下降算法寻找最小化代价函数的参数值。

需要注意的是,梯度下降算法可以同时更新所有参数𝜃,而不需要使用for循环逐个更新。这种向量化的实现通常更加高效。

三、特征缩放

与线性回归一样,逻辑回归中的特征缩放也可以加速梯度下降的收敛速度。如果特征之间的范围差异很大,应用特征缩放可以确保梯度下降更快地找到最优解。

四、高级优化方法

梯度下降回顾

梯度下降是一种常见的优化算法,用于最小化代价函数。在这种方法中,需要手动选择学习率,这通常需要一些试验和调整。梯度下降在处理大规模问题时可能会收敛缓慢。

高级优化算法

除了梯度下降,还存在一些高级优化算法,它们更加复杂,但通常具有更快的收敛速度。以下是其中一些高级优化算法的介绍:

  1. 共轭梯度法:共轭梯度法是一种迭代方法,通常无需手动选择学习率。它通过在每次迭代中选择一个共轭的搜索方向,从而实现更快的收敛。

  2. BFGS(变尺度法):BFGS是一种拟牛顿法,它通过估计Hessian矩阵的逆来更新参数。这个算法通常比梯度下降更快,但需要更多的计算资源。

  3. L-BFGS(限制变尺度法):L-BFGS是BFGS的一种限制版本,它在内存消耗方面更加高效。这个算法特别适合大规模问题。

这些高级优化算法的一个主要优点是,它们通常无需手动选择学习率,因为它们内部使用线性搜索算法来自动选择适当的学习率。这使得算法更加智能,能够更快地找到最优解。

五、多元分类:一对多方法

多类别分类问题也是机器学习中的一个常见挑战。需要经常将数据分为多个不同的类别。一对多(one-vs-all)分类方法是一种应对多类别问题的策略。

一对多分类方法

一对多分类方法的核心思想是将多类别问题转化为多个二元分类问题。具体步骤如下:

  1. 数据集准备:首先,需要一个包含多个类别的训练集,每个类别都用不同的数值标识。

  2. 二元分类器:为每个类别训练一个二元分类器,将该类别标记为正向类,其他类别标记为负向类。

  3. 训练:使用逻辑回归或其他二元分类算法为每个类别建立一个分类器。

  4. 预测:在预测时,将输入数据输入所有分类器中,并选择具有最高概率的分类器作为最终预测结果。

这种方法使得多类别分类问题变得更容易解决,适用于各种应用,如邮件分类、疾病诊断和天气预测。

参考资料

[中英字幕]吴恩达机器学习系列课程

黄海广博士 - 吴恩达机器学习个人笔记

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

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

相关文章

激光雷达和人工智能

几十年来,激光雷达一直是许多行业中非常有用的工具,但直到最近,随着人工智能(AI)解决方案的引入,我们才开始认识到它的真正潜力。激光雷达,又称光探测和测距,是一种遥感技术。它利用…

React构建组件的方式有哪些?区别?

一、是什么 组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式 在React中,一个类、一个函数都可以视为一个组件 在之前文章中,我们了解到组件所存在的优势: 降低整个系统的耦合度&am…

nginx下载安装和日志切割

目录 一、nginx安装配置 1.nginx版本 2.nginx安装配置 3.查看安装后的nginx 4.配置PATH变量 二、日志切割 1.给当前日志文件重命名 2.等待 3.写bash脚本 4.查看日志结果 5.加入crontab定时任务 结语 一、nginx安装配置 1.nginx版本 nginx如今分为商业版&#xff0…

imagettftext(): Could not find/open font 解决办法

问题:Captcha验证码不能正常显示,是因为使用GD库imagettftext()函数时,报“Warning: imagettftext(): Could not find/open font in ”警告 。 网上的解决方法: 将font路径的相对路径 转成 绝对路径即可 $fontfile "./fonts/*.ttf&q…

MaHDE

FHM means ‘fitness hierarchical mutation’,DGS means ‘directed global search’,ELS means ‘elite local search’ 辅助信息 作者未提供代码

使用数据分析,识别设备异常

设备健康监测系统在工业领域中扮演着至关重要的角色,它能够帮助企业及时发现设备异常,预防故障,提高设备使用寿命和生产效率。而异常诊断技术则是设备健康监测系统中的核心部分,能够实现对设备异常情况的准确判断。根据设备状态数…

高校为什么需要企业数据库?

随着信息化数字化的发展,企业数据库已经成为高校不可或缺的一部分。企业数据库一般整合了多维度企业数据信息。比如,艾思依托丰富的数据沉淀和领先的模型算法,打造“1N”产业大数据平台,包含“1个企业数据中心”一一涵盖全国2.4亿…

【uniapp】解决在H5谷歌浏览器下 u-input 标签 设置只读后,click事件不生效

【问题描述】 谷歌浏览器更新后,h5模式下原本的input外层view中的click事件不触发了?? 但是更换浏览器后就可以,打包app也是正常可以触发的,本来是没打算兼容h5,既然遇到了就记录一下~ 【解决办法】 使u–input里写上readonly&…

【python海洋专题四十】海洋指数画法--单色填充图

【python海洋专题四十】海洋指数画法–单色填充图 【python海洋专题四十】海洋指数画法–单色填充图 数据:AMO_index 图像展示: 图片 往期推荐 图片 【python海洋专题一】查看数据nc文件的属性并输出属性到txt文件 【python海洋专题二】读取水深nc文件并水深地形图 【p…

[PHP]得推跑腿O2O系统 v3.41

得推跑腿系统是一个以phpMySQL进行开发的主要针对本地跑腿服务的O2O系统,支持wap\\小程序\\App。 主要功能模块: 用户端: 1.跑腿任务发布 2.跑腿任务管理追踪 3.在线支付 4.常用地址管理 跑腿端: 1.跑腿任务抢单 2.跑腿员认证 3.…

2023年Q3乳品行业数据分析(乳品市场未来发展趋势)

随着人们生活水平的不断提高以及对健康生活的追求不断增强,牛奶作为优质蛋白和钙的补充品,市场需求逐年增加。 今年Q3,牛奶乳品市场仍呈增长趋势。根据鲸参谋电商数据分析平台的相关数据显示,2023年7月-9月,牛奶乳品市…

数据结构: 哈希桶

目录 1.概念 2.模拟实现 2.1框架 2.2哈希桶结构 2.3相关功能 Modify --Insert --Erase --Find 2.4非整型数据入哈希桶 1.仿函数 2.BKDR哈希 1.概念 具有相同地址的key值归于同一集合中,这个集合称为一个桶,各个桶的元素通过单链表链接 2.模拟实现 2.1框架 a.写出…

2.3.3 交换机的RSTP技术

实验2.3.3 交换机的RSTP技术 一、任务描述二、任务分析三、具体要求四、实验拓扑五、任务实施1.交换机的基本配置。2.开启交换机的STP。3.配置SW3A和SW3B上STP的优先级。将SW3A配置为根交换机,SW3B配置为备用根交换机。4.配置SW2A和SW2B的边缘接口 六、任务验收七、…

使用基于swagger的knife4j自动生成接口文档

添加swagger依赖springfox&#xff0c;添加knife4j依赖 <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId> </dependency> <dependency><groupId>com.github.xiaoymin</group…

postman中文乱码

在header中添加这两个&#xff1a; Content-Type application/json;charsetUTF-8 Accept application/json;charsetUTF-8

Mac下flutter工程配置Gitlab cicd打包(暂时仅限android侧)

写的太粗糙&#xff0c;可能不太适合完全不懂的同学&#xff0c;但是实在没时间&#xff0c;而且也不太会写&#xff0c;权当做一个记录吧&#xff0c;对了还没有搞docker这些&#xff0c;还在持续学习中 1.GitLab Runner&#xff08;打包机&#xff09; 注意:需要有对应的权…

MySQL基础操作

注:mysql是大小写不敏感的. 1.数据库基础操作(展示) //1.展示当前数据库 show databases;//2.创建数据库 create database 数据库名;//3.使用数据库 use 数据库名;//4.删除数据库 drop database 数据库名;2.SQL中基本类型 2.1 数值类型(整数和浮点型) 注:decimal和numeric…

asp.net生产线远程故障诊断系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net 生产线远程故障诊断系统是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用 c#语言开发 asp.net生产线远程故障诊断…

搭建自己的MQTT服务器,实现设备上云(Ubuntu+EMQX)

一、EMQX介绍 这篇文章教大家在ECS云服务器上部署EMQX,搭建自己私有的MQTT服务器,配置EMQX实现设备上云,设备数据转发,存储;服务器我采用的华为云的ECS服务器,系统选择Ubuntu系统。 Windows版本的看这里: https://blog.csdn.net/xiaolong1126626497/article/details/1…

伐木猪小游戏

欢迎来到程序小院 伐木猪 玩法&#xff1a;控制小猪点击屏幕左右砍树&#xff0c;不能碰到树枝&#xff0c;考验手速与眼力&#xff0c;记录分数&#xff0c;快去挑战伐木吧^^。开始游戏https://www.ormcc.com/play/gameStart/199 html <script type"text/javascript…