本篇文章将深入探讨机器学习中的三个关键概念:线性回归(Linear Regression)、成本函数(Cost Function)和梯度下降(Gradient Descent)。这些概念构成了许多机器学习算法的基础。理解这些概念对于理解更高级的机器学习知识,如例如神经网络至关重要。
与任何机器学习问题一样,我们首先要回答一个特定的问题。在本例中:马克正在考虑出售他2400平方英尺的房子,需寻求帮助,以便确定他房子卖多少价格合适。

首先,在马克的社区里寻找类似的房子。稍加搜索后,我们找到了附近三栋房子的列表,并查看它们的售价。当然,典型的数据集会包含数千甚至数万个数据点,但为了简单起见,我们只使用这三栋房子。


把这3个房子的面积和价格图形化:

通过检查数据,我们发现房屋价格与其面积呈线性关系。为了对这种关系进行建模,我们可以使用一种名为“线性回归”的机器学习技术。这需要在散点图上绘制一条最能代表数据点模式的线。我们的模型可能如下所示:

现在使用这条线,我们可以说一栋面积为 2400 平方英尺的房子应该卖到..…约26万美元。

现在最大的问题是:我们如何确定最适合我们数据的线?
本来可以画一条稍微偏离的线,像这样:

或者更糟糕的是,像这样:

我们可以清楚地看到,它们并不像第一行那样适合我们的数据。为了找到最佳价格线,我们首先需要用数学方法表示出一条糟糕的价格线是什么样子的。
让我们以这条“糟糕”的价格线为例,根据这条线,一栋2000平方英尺的房子应该卖到14万美元左右,而我们知道它的实际售价是30万美元:

它也与所有其他值有显著不同:

平均而言,这条线路节省约 94,000 美元(50,000 美元 + 160,000 美元 + 72,000 美元 / 3)。这里有一句更好的话:

这条线平均偏差约 44,000 美元,效果好多了。这 44,000 美元被称为使用这条线的成本。
成本函数:
成本指的是这条线与实际数据的偏差程度。最佳线是与实际数据的偏差最小或成本最低的线。
为了找出哪条线是最佳线,我们需要使用成本函数。
利用平均绝对误差 (MAE)成本函数来确定实际房价与预测房价之间的偏差。这基本上计算了实际房价(表示为 y,因为它代表 y 轴上的值)与预测房价(表示为 ŷ)之间的偏差的平均值。用数学公式MAE表示如下:

在计算 MAE 时使用绝对值,是因为它们确保预测值与实际值之间的差值始终为正,无论预测值是高还是低。这可以公平地比较不同预测值之间的误差,因为如果不取绝对值,正负差值会相互抵消。
根据机器学习算法和具体问题,可以采用各种类型的成本函数。对于上面的问题,我们不使用MAE,而是采用一种常用的方法——均方误差 (MSE),它计算预测房价与实际房价之差平方的平均值。

最终,任何成本函数的目的都是最小化其值并尽可能地降低成本。
直线方程:
在深入探讨线性回归之前,我们先回顾一下基础知识。以下是一条直线的示例:y = 1 + 2x。第一个数字称为截距,它告诉我们这条线开始时应该有多高。

第二个告诉我们直线的角度(或者用专业术语来说,斜率):

现在我们理解了方程的原理,只需要确定斜率和截距这两个值的最优值,就能得到线性回归问题的最佳拟合线。
为了更简单起见,我们假设斜率的值已经神奇地变成了
0.069。因此我们的线性回归线方程是:

要获得特定面积房屋的预测价格,我们只需代入截距值和期望房屋面积即可。例如,对于面积为 1000 平方英尺²、截距为0 的房屋……

得到的预测房价是 69,000 美元。因此,现在我们要做的就是找到截距的最优值,从而得到线性回归模型。
一种选择(我们很快就会发现它相当繁琐,而且没什么意思)是使用蛮力,我们反复猜测截距的值,画一条LR线,然后计算MSE。仅仅为了实验,让我们尝试一下这种方法。
首先猜测截距的随机值(让我们从 0 开始)并绘制 LR 线:

然后我们计算这条线的MSE:

为了直观地理解,让我们在图表上绘制截距值和相应的MSE :

接下来,我们将测试截距
的另一个值(假设为25),绘制相应的线,并计算MSE。

我们可以使用不同的截距值(= 0、25、50、75、100、125、150 和 175)继续此过程,直到得到如下所示的图表:

从图上绘制的点可以看出,截距设为 100 时,MSE最低。然而,在 75 到 100 之间可能存在另一个截距值,这会导致更低的MSE。一种寻找最小MSE 的缓慢而痛苦的方法是,像下面这样不断地插入和填充一堆截距值:

尽管我们付出了努力,但仍无法确定是否找到了最低的MSE值。测试多个截距值的过程既繁琐又低效。幸运的是,梯度下降法可以通过更高效的方式找到最优解来解决这个问题。
原文:https://medium.com/data-science/back-to-basics-part-uno-linear-regression-cost-function-and-gradient-descent-590dcb3eee46