吴恩达《机器学习》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.mfbz.cn/a/119920.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

消息代理与事件代理:何时使用它们

选择正确的工具来满足异步处理需求的技术指南 作为后端开发人员,有一天你需要回答这个问题: 我需要构建一个使用分布式队列的异步应用程序,我应该使用哪个代理? 作为工程师,我们的本能是列出我们了解或希望熟悉的工具&…

汇编-变量

.386 .model flat,stdcall option casemap:none.data sum DWORD 0 ;创建一个全局变量,取名sum,初始化0 sum1 DWORD ? ;创建一个全局变量sum1,无初始化 ;问号(?)初始化值使得变量未被初始化,这意味着在运行时才会为该变量分配一个值 ;变量名…

【Git】Git 学习笔记_操作远程仓库

1. SSH 配置和克隆仓库 ssh-keygen -t rsa -C "xxxqq.com"回车后出现以下内容,直接回车: Generating public/private rsa key pair. Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa): (按回车键) Enter pass…

指针进阶(3)

文章目录 9. 指针和数组笔试题解析10. 指针笔试题 9. 指针和数组笔试题解析 在做题之前,我们再次明确一下数组名的理解: 数组名是数组首元素的地址,但是有2个例外: sizeof(数组名),这里的数组名表示整个数组&#xff…

[黑马程序员Pandas教程]——Pandas数据结构

目录: 学习目标认识Pandas中的数据结构和数据类型Series对象通过numpy.ndarray数组来创建通过list列表来创建使用字典或元组创建s对象在notebook中不写printSeries对象常用API布尔值列表获取Series对象中部分数据Series对象的运算DataFrame对象创建df对象DataFrame…

pytorch之relu激活函数

目录 1、relu 2、relu6 3、leaky_relu 4、ELU 5、SELU 6、PReLU 1、relu ReLU(Rectified Linear Unit)是一种常用的神经网络激活函数,它在PyTorch中被广泛使用。ReLU函数接受一个输入值,如果该值大于零,则返回该…

python的format函数的用法及实例

目录 1.format函数的语法及用法 (1)语法:{}.format() (2)用法:用于格式化字符串。可以接受无限个参数,可以指定顺序。返回结果为字符串。 2.实例 (1)不设置位置&…

浮点数存储

//浮点数存储 int main() {int n 9;//00000000 00000000 00000000 00001001//0 00000000 00000000000000000001001//S E(8bit) M(23bit)//E-126//M0.000000000000000000001001// 0.000000000000000000001001 *2^-126float* pFloat (float*)&n;printf("n的值…

挖掘非结构化数据潜能——向量数据库的探索之路

“ 摸着石头过河,一直向前,不断尝试 ” 整理 | 小白 出品|极新 IDC 预测,到 2025 年,中国的数据量将增长到 48.6ZB,80% 是非结构化数据,并且将成为全球最大的数据圈。在我们的日常生活中&…

python使用pysqlcipher3对sqlite数据库进行加密

python对很多项目都需要对sqlite数据库的数据进行加密,最流行的加密方式是使用pysqlcipher3,当前使用的python版本为3.7,本博文是直接使用pysqlcipher3在项目上的应用,使用的是已编译好的pysqlcipher3包,如果你需要pys…

Jmeter_逻辑控制器

逻辑控制器 控制取样器执行顺序的组件实现(分支 循环) 分类 1、如果(if) 控制器 分支实现 2、forEach控制器 循环往复实现 3、循环控制器 循环往复实现 如果(if) 控制器 需求1:测试计划中定义一个 http 请求访问百度,但是该请求不是无条件执行的,…

【uniapp小程序下载】调用uni.uploadfile方法在调试工具里是没有问题的,但是线上版本和体验版就调用不成功,真机调试也没问题

把你的下载地址前缀添加到合法域名就解决了 在调试工具里成功了是因为勾选了下面这项 下面是我的下载并打开函数 methods: {// 下载downloadFileFn(data) {if (this.detailsObj.currentUserBuy) {uni.downloadFile({// data是路径url: https:// data,success(res) {//保存到本…

linux地址空间

地址空间 内存空间示意图虚拟地址空间虚拟地址进程地址空间生命周期图解为什么要有地址空间呢? 小结 内存空间示意图 进程是在内存中运行的,为了便于管理,不同的数据会存储在不同的区域,因此内存就被分为几部分,如下图…

新的iLeakage攻击从Apple Safari窃取电子邮件和密码

图片 导语:学术研究人员开发出一种新的推测性侧信道攻击,名为iLeakage,可在所有最新的Apple设备上运行,并从Safari浏览器中提取敏感信息。 攻击概述 iLeakage是一种新型的推测性执行攻击,针对的是Apple Silicon CPU和…

独立键盘接口设计(Keil+Proteus)

前言 软件的操作参考这篇博客。 LED数码管的静态显示与动态显示(KeilProteus)-CSDN博客https://blog.csdn.net/weixin_64066303/article/details/134101256?spm1001.2014.3001.5501实验:用4个独立按键控制8个LED指示灯。 按下k1键&#x…

Elasticsearch:RAG vs Fine-tunning (大语言模型微调)

如果你对 RAG 还不是很熟悉的话,请阅读之前的文章 “Elasticsearch:什么是检索增强生成 - RAG?”。你可以阅读文章 “Elasticsearch:在你的数据上训练大型语言模型 (LLM)” 来了解更多关于如何训练你的模型。在今天的文章中&#…

Git 内容学习

一、Git 的理解 Git是一个分布式版本控制系统(Distributed Version Control System,简称 DVCS),用于对项目源代码进行管理和跟踪变更。分为两种类型的仓库:本地仓库和远程仓库。 二、Git 的工作流程 详解如下&#x…

CATIA环境编辑器用不了时创建项目快捷方式

CATIA环境编辑器用不了时创建项目快捷方式 一、参考适用情况示例二、 解决步骤(一) 先正确放置winb_64部署包(二) 添加环境文件(三) 修改加入的环境文件(四) 复制本机CATIA快捷方式后重命名(五) 修改快捷方式目标的值 一、参考适用情况示例 二、 解决步骤 (一) 先正确放置winb…

社区分享|杭银消费金融基于MeterSphere开展接口自动化测试

杭银消费金融有限公司(以下简称“杭银消费金融”)成立于2015年12月,是经中国银保监会批准,由杭州银行作为主发起人,联合滴滴出行、中国银泰等企业组建的持牌消费金融机构,注册资本为25.61亿元。杭银消费金融…

关于Alibaba Cloud Toolkit 下载配置以及后端自动部署

idea中File-Settings-Plugins 搜索Alibaba Cloud Toolkit点击下载,下载完成重启 1、点击 Tools-Alibaba Cloud-Deploy to Host 部署到主机 2、配置服务器ip、jar包启动命令、服务器jar存放位置 3、设置服务器ip用户名密码,点击测试连接情况 4、配置脚本…