机器学习简介(2)

监督学习
在本章节中,我们将学习监督学习,并讨论一些成本函数和梯度下降。 我们还将学习2种简单算法:
线性回归(用于回归)、Logistic回归(用于分类)。了解监督学习的第一件事是每个样本数据点x都有预期的输出或标签y,换句话说,您的训练由x(i),y(i)对组成。

例如,考虑下表:
机器学习简介(2)
该表(或培训集)显示了房屋的大小及其价格。 因此,大小为2104英尺的房屋价格为460。想法是我们可以使用这样的数据来创建模型,这些模型可以预测来自不同输入(例如:英尺的大小)的某些结果(即:价格)。

线性回归
回归是关于从某些输入返回连续的标量数。 我们将学习的模型或假设将根据线性规则预测值。 但是,有时线性模型不足以捕获数据的基本性质。

机器学习简介(2)

基本上,线性回归会尝试创建一条适合训练数据的直线,例如:
机器学习简介(2)

监督学习的全部思想是我们尝试从训练集中学习最佳参数(在这种情况下为theta)。
成本函数
在讨论如何学习假设的参数(也称为权重)之前,我们需要知道如何评估当前的权重集是否已经做好。 完成这项工作的功能称为损失或成本功能。 基本上,它将返回介于0(无错误)和无穷大(真的很差)之间的标量值。
下面给出了此类功能的示例:
机器学习简介(2)

这个特定的成本函数称为均方误差损失,实际上对于回归问题非常有用。
在训练过程中,我们希望通过不断更改theta参数来最大程度地减少损失。 此曲面函数的另一个不错的功能是它是一个凸函数,因此可以保证不超过一个最小值,这也是全局最小值。 这使我们更容易进行优化。

梯度下降
梯度下降是一种简单的算法,它将尝试查找函数的局部最小值。 我们使用梯度下降来最小化损失函数。 在梯度下降时要观察的一个重要特征是,它经常会陷于遇到的第一个局部最小值中。 但是,不能保证它找到的局部最小值是最佳的(全局)最小值。
机器学习简介(2)
梯度下降需要您要最小化的函数的一阶导数。 因此,如果我们想通过更改参数来最小化某些功能,则需要针对这些参数派生此功能。
需要注意的一件事是,该算法将在训练集中的所有样本上执行,因此对于较大的数据集无法很好地扩展。

正则化
这是一种方法,它可以通过强制您的假设参数具有很小的值并强制模型使用所有可用参数来帮助进行过度拟合。 要使用正则化,您只需要在培训期间在成本/损失功能中添加一个额外的术语即可。 下面是一个带有附加正则项的均方误差损失函数示例。
机器学习简介(2)
也是交叉熵损失函数的正规化版本:
机器学习简介(2)
非线性假设
有时我们的假设需要具有非线性项才能预测更复杂的分类/回归问题。 例如,我们可以将Logistic回归与二次项结合使用来捕获这种复杂性。 如前所述,这不适用于大量功能。
机器学习简介(2)
例如,如果我们想使用逻辑回归对100x100灰度图像进行分类,则需要5000万个参数来包含二次项。 要进行如此数量的功能训练,至少需要多出10倍的图像(5亿张),以避免过拟合。 而且计算成本将非常高。