机器学习资料

机器学习启蒙-线性回归

2020-10-07  本文已影响0人  shui水mo墨

前言

最近在网上找到一本亚马逊的技术大佬写的机器学习入门书籍,总共100多页,刚好最近在学习机器学习相关的知识,就顺便翻译下,就当学习笔记了。
原书下载路径如下:
ml_primer

翻译目录(会不定时更新)
机器学习启蒙1.1-线性回归
机器学习启蒙1.2-逻辑回归

第一节 线性回归

在本节中,我们将研究一种最常见并且使用最广泛的机器学习技巧:线性回归
线性回归是一种非常直观的监督学习算法,就像他的名字所言,他是一种回归技术。这意味着,它使用的是连续的被标记的数据,例如汽车价格或房间温度。此外,正如其名称所言,线性回归试图找到线去拟合这些数据。这是什么意思呢?

动机

想象你得到了一组包含汽车的数据集,其中对于每辆汽车,你都有汽车行驶的公里数及其价格。与此同时,假设你在尝试训练一个机器学习系统,这个系统使用每辆汽车行驶的公里数和价格数据。
在这里,对于某个确定的汽车,行驶的英里数为输入,汽车的价格作为输出, 这组数据可以表示为(X,Y)坐标。将他们绘制在直角坐标系中,就像下图一样。

图1

从图中可以看出,行驶里程与价格之间似乎存在线性关系。如果我们尝试使用线段去拟合这些数据,它看起来像下面这张图片。


图2

我们可以将汽车价格数据集的模型描述为以下形式的数学函数:F(X)= A1·X + A0。这里A1和A0称为权重。这些是决定我们的线型函数在不同输入上的行为的值。所有监督学习算法都有一组权重,这些权重确定算法在不同输入上的行为方式,确定正确的权重实际上是我们所谓的学习的核心。

假设上述线性拟合与权重A1 = 5和A0 = 0.5有关。 现在,如果将A0值更改为类似A0 = −2的值,则可能会得到下图的线性拟合。


图3

或想象一下,我们认为行驶的里程数与汽车的价格之间存在更陡峭的关系。换句话说,我们认为A1值(此处确定线的斜率)应该是较大的值,例如8。然后,线性拟合如图4所示。


图4
训练范例

这些多种多样的线性拟合也带来了一些问题:普通情况下,我们应该怎样做才能得到该模型甚至任何机器学习模型的权重呢?我们实际上如何学习该模型或任何机器学习模型的权重? 特别是,我们如何利用具有正确标记的汽车数据集?

训练和评价机器学习模型需要一个被称作成本函数的东西。在监督学习的情况下,成本函数是对我们模型输出的预测值偏离真实值多少的一种衡量。理想情况下,我们希望两者之间的偏差较小,因此我们希望最小化成本函数的值。用于评估线性回归模型的常见成本函数称为最小二乘法成本函数。 假设我们的数据集中有n个数据点。
例如,[(X1,Y1),(X2,Y2),...,(Xn,Yn)]。
如果我们正在使用函数F(X),则最小二乘回归模型将寻求最小化:

成本函数,又叫代价函数

我们的预测输出(F(X))与真实输出(Y)之间的偏差定义为残差。 最小二乘成本函数正试图最小化残差平方和(在这种情况下乘以一个常数)。
在此重要的是要注意,F(X)是模型权重的函数。 在我们的上面的激励示例中,F(X)是关于A1和A0的函数。 产生我们的最佳模型的A1和A0的值,是让C(X)达到最小值的值。

我们如何通过实际计算实现成本最小值的权重呢? 在这里,与所有机器学习模型一样,我们有两个选择:分析或数值方案。 在解析解决方案中,我们寻求找到最佳值的精确闭合形式表达式。 在这种特殊情况下,这涉及使用标准微积分学演算优化。 我们将关于权重的成本函数梯度(只是奇特的导数)取值,将这些梯度设置为0,然后求解实现0梯度的权重。
这项技术之所以出色,是因为一旦我们为封闭形式的表达式计算了梯度 ,就可以为任何新数据获得最佳权重值。 在这里,我们能够开发具有最小二乘成本函数的线性回归的分析解决方案。
但是,并非所有模型都具有格式良好的梯度表达式,以便于我们求解问题的全局最优值。 对于这些问题,我们必须转向数值方法。 数值方法通常涉及逐步更新过程,该过程以迭代方式使权重更接近其最佳值。在这里,我们再次针对所有权重计算梯度,然后对每个权重A应用以下更新:

权重更新

我们将这些更新继续应用一定的迭代次数,直到权重值收敛为止,我的意思是说,它们从一个迭代到下一个迭代的变化不会太大。 这个非常重要的数值优化过程被称为梯度下降。
请注意,在上面的梯度下降表达式中,我们将这个神奇的alpha(α)值乘以了梯度。Alpha是机器学习中超参数的一个例子。 此超参数alpha的值确定对权重进行更新的速度。 我们可以自由调整该值,以使梯度下降更快地收敛。
许多机器学习算法都有自己的超参数,我们可以对其进行调整和微调,以在算法中获得更好的性能。 对于某些算法(例如深度学习)而言,超参数调整是一项非常重要的任务,它会极大地影响我们构建的系统的性能。
对于具有最小二乘成本的线性回归,我们可以保证梯度下降最终会收敛到最佳权重值。 但是,某些优化问题并不能保证这一点,我们所能期望的最好是梯度下降收敛到接近全局最优的水平。 具有这种行为的模型的一个突出示例是深度学习模型,我们将在以后更深入地讨论。
要记住的重要一点是,在我们提出的原始线性模型中,我们只有两个权重,即A1和A0。 但是,我们真的会确信汽车的价格是行驶的英里数和以立方英尺为单位的后备箱空间决定的吗?
现在,如果我们要训练线性回归模型,我们的数据集将必须包含行驶的英里数,行李箱空间的大小以及每辆汽车的价格。 在线性回归模型中,我们现在还将具有三个权重:A0,A1和A2。
此外,我们的数据现在是在三维的坐标系里面,而不是在二维的直角坐标系里面。但是,我们可以使用相同的最小二乘成本函数去优化模型。当我们增加特征的数量的时候,相同的基本算法考虑因素也适用于一些注意事项,我们将在讨论偏方差权衡时讨论这些注意事项。

线性拟合何时拟合?

线性回归什么时候可以很好地被用作建模算法? 实际上,事实证明,当数据的输入和输出之间确实存在线性关系时,线性回归最有效。 例如,之前我们的汽车价格数据,如下图所示。
同时线性回归可能不是一个好的建模选择。
在构建机器学习系统时,我们需要确定一些因素。 首先,我们需要从数据中提取正确的特征。 这一步至关重要!实际上,这一步骤是如此重要,以至于数十年来,许多人工智能论文的贡献只是用于特定问题领域的不同功能集。着深度学习的兴起,这种风格的论文变得不那么流行了。
选择特征后,我们需要选择合适的建模算法。例如,如果我们认为输入和输出之间存在线性关系,则线性回归可能有意义。 但是,如果我们认为一条线没有意义,那么我们将选择一个对数据的基础结构具有不同假设的不同模型。我们将在后面的部分,研究许多其他类型的模型,并假设这些模型与数据有关联。

Tips

优化线性回归模型是一个凸问题,这是一种说法,认为存在可解决最优解的易处理方法。 两种常用技术包括推导闭式答案和推导成本函数的梯度,以通过梯度下降使用迭代更新。 对模型权重的随机猜测不能保证找到最佳或接近最佳的解决方案。

上一篇下一篇

猜你喜欢

热点阅读