第 2 章:线性回归模型
吴恩达机器学习课程,第二章。
2.1 示例
我们还是以房价问题为例。
我们的目标是构建一个模型,当我获得一个面积的时候,我应该给这个房子的估价是多少?这是单变量回归问题,我们最容易想到的就是线性回归。
2.2 线性回归
线性回归是非常典型的监督学习,我们预先给出 “正确答案”,然后让模型预测 对应的未知的 。
面积(平方英尺) | 房价(1000$) |
---|---|
2104 | 400 |
1600 | 330 |
2400 | 369 |
1416 | 232 |
1985 | 300 |
1534 | 315 |
1427 | 199 |
1380 | 212 |
1494 | 242 |
... | ... |
假设我们的数据有 条,定义
为第 条数据。对于我们的数据集,其 就对应 。
当我们估计一个 时,我们得到的值是 的估计值,即
我们需要的模型即为 ,那么我们应该如何确定我们的 呢。我们这一节以线性模型为例,所以 应该是一个一次函数,我们把参数 和 放在 的下面来表示这是一个参数而非变量。 也被称为系数或权重。
定义 像上面这样,数据使用线性预测函数来建模被称为 线性回归,当数据 如上所示维度为一时,线性回归也可以称为 单变量线性回归。
2.3 损失函数
我们在预测时,我们需要知道预测值和目标值误差有多大,我们可以简单地衡量出来
当我们需要知道这个模型效果的好坏时,我们往往要计算平方误差
我们除以 的原因是希望误差不会随着数据量额增大而持续变大,而上面的式子能够很好地衡量出这个直线对数据的拟合误差。
我们在机器学习中通常会将其除以 ,这只是为了让计算整洁,对结果没有任何影响。我们一般将误差函数记作 ,将 带入上式
2.4 损失函数的直观理解
回顾我们的工作:
项目 | 值 |
---|---|
模型 | |
参数 | |
损失函数 | |
目标 |
我们进行一些化简:如果我们直接取 ,即让直线经过原点,这个问题就变得简单一些。
我们只需要得到
设我们有三个点 、 和 ,我们尝试拟合这三个点,我们不断尝试 的值,然后计算损失值并由此绘制函数图像。
我们的目标是通过寻找 的值,使其最小。通过图像,我们发现我们的示例最小值在 处(如上图)。
2.5 可视化损失函数
让我们回到最初的优化目标
事实上,如果我们想可视化 ,这将会是一个三维的函数(表现为曲面),
我们可以通过它来绘制等高图,等高线上的每一个点的损失值都相同。
在本节的 Jupyter Notebook 你可以看到交互式的演示。
现在让我们回到主题,什么是机器学习?就是让机器自动地寻找解决问题的最优方法,我们应该提供一个有效算法,让我们不用手动计算每一处的损失值,让机器能够自动地去发现最小的损失值。
下面我们将介绍梯度下降,这不仅仅能解决单变量线性回归问题,也能够解决人工智能中最大最复杂的模型优化问题。