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

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

参考资料

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

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

相关推荐
不只会拍照的程序猿26 分钟前
《嵌入式AI筑基笔记02:Python数据类型01,从C的“硬核”到Python的“包容”》
人工智能·笔记·python
happymaker06261 小时前
web前端学习日记——DAY04
前端·学习
vx_biyesheji00012 小时前
Python 全国城市租房洞察系统 Django框架 Requests爬虫 可视化 房子 房源 大数据 大模型 计算机毕业设计源码(建议收藏)✅
爬虫·python·机器学习·django·flask·课程设计·旅游
solicitous2 小时前
遇到一个口头机遇
学习·生活
湘美书院--湘美谈教育3 小时前
湘美谈教育湘美书院网文研究:人工智能与微型小说选集
人工智能·深度学习·神经网络·机器学习·ai写作
观书喜夜长4 小时前
大模型应用开发学习-基于 LangChain 框架实现的交互式问答脚本
python·学习
中屹指纹浏览器4 小时前
2026指纹浏览器性能瓶颈分析与优化技巧
经验分享·笔记
FPGA小迷弟5 小时前
FPGA 时序约束基础:从时钟定义到输入输出延迟的完整设置
前端·学习·fpga开发·verilog·fpga
zh路西法5 小时前
【宇树机器人强化学习】(七):复杂地形的生成与训练
python·深度学习·机器学习·机器人
雷工笔记5 小时前
随笔|走!跳楼去!
笔记