吴恩达《机器学习》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. 预测:在预测时,将输入数据输入所有分类器中,并选择具有最高概率的分类器作为最终预测结果。

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

参考资料

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

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

相关推荐
OpenBayes贝式计算4 天前
解决视频模型痛点,TurboDiffusion 高效视频扩散生成系统;Google Streetview 涵盖多个国家的街景图像数据集
人工智能·深度学习·机器学习
OpenBayes贝式计算4 天前
OCR教程汇总丨DeepSeek/百度飞桨/华中科大等开源创新技术,实现OCR高精度、本地化部署
人工智能·深度学习·机器学习
够快云库5 天前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
starlaky5 天前
Django入门笔记
笔记·django
勇气要爆发5 天前
吴恩达《LangChain LLM 应用开发精读笔记》1-Introduction_介绍
笔记·langchain·吴恩达
B站_计算机毕业设计之家5 天前
电影知识图谱推荐问答系统 | Python Django系统 Neo4j MySQL Echarts 协同过滤 大数据 人工智能 毕业设计源码(建议收藏)✅
人工智能·python·机器学习·django·毕业设计·echarts·知识图谱
悠哉悠哉愿意5 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
勇气要爆发5 天前
吴恩达《LangChain LLM 应用开发精读笔记》2-Models, Prompts and Parsers 模型、提示和解析器
android·笔记·langchain