模型表示
这是我们第一个学习的算法,线性回归算法。这节我们就介绍一下这个算法的概况,以便于我们更加了
解监督学习过程完整的流程。
让我们先通过一个例子开始:
这个例子是预测住房价格,我们要使用一个数据集,数据集包括某一个市的住房价格。在这里,我们要
根据不同房屋尺寸所售出的价格,画出我们的数据集。比如如果你的朋友的房子是1250平方尺大小,
你要告诉他们这房子能卖多少钱。那么,你可以做的一件事就是构建一个模型,也许是条直线,从这
个数据模型上来看,也许你可以告诉你的朋友,他能以大约 220000(美元)左右的价格卖掉这个房子。
这就是监督学习算法的一个例子。
这个之所以被称为监督学习是因为对于每个数据来说,我们都给出了“正确的答案”,即告诉我们,根据
我们的房子大小来说,房子的实际价格是多少。而且,更具体的说,这是一个回归问题。
回归:我们根据之前的数据预测出一个准确的输出值,对于这个例子就是价格。
同时还有另外一种常见的监督学习的例子,叫做分类问题,当我们想要预测离散的输出值时,例如,
我们正在寻找一个 一个蛋蛋是好的还是坏的这就是0/1离散输出的问题。更进一步说,在监督学习中我
们有一个数据集,这个数据集被称为训练集(Training Set)。
我们将要用来描述这个回归问题的标记如下: 𝑚 代表训练集中实例的数量
𝑥 代表特征/输入变量
𝑦 代表目标变量/输出变量
(𝑥, 𝑦) 代表训练集中的实例
(𝑥(𝑖), 𝑦(𝑖)) 代表第𝑖 个观察实例
ℎ 代表学习算法的解决方案或函数也称为假设(hypothesis)
这就是一个监督学习算法的工作方式,,我们可以看到这里有我们的训练集里房屋价格我们把它送给
我们的学习算法,学习算法的工作了,然后输出一个函数,通常表示为小写 ℎ表示。ℎ 代表
hypothesis(假设),ℎ表示一个函数,输入是房屋尺寸大小,就像你朋友想出售的房屋,因此 ℎ 根据输
入的 𝑥值来得出 𝑦 值,𝑦 值对应房子的价格 因此,ℎ 是一个从𝑥 到 𝑦 的函数映射。
我将选择最初的使用规则ℎ代表 hypothesis,因而,要解决房价预测问题,我们实际上是要将训练集
“喂”给我们的学习算法,进而学习得到一个假设ℎ,然后将我们要预测的房屋的尺寸作为输入变量输入
给ℎ,预测出该房屋的交易价格作为输出变量输出为结果。那么,对于我们的房价预测问题,我们该如
何表达 ℎ?
一种可能的表达方式为:ℎ𝜃(𝑥) = 𝜃0 + 𝜃1𝑥,因为只含有一个特征/输入变量,因此这样的问
题叫作单变量线性回归问题。如果有多个变量,那我们的问题自然就可以推广到多变量线性回归,道
理都是一样的。
代价函数
首先介绍下什么是代价函数,这个东西贯穿机器学习中的很多东西,不想按照百度的内容进行讲解,
只说一下我自己的理解以及我所理解的他的作用:
代价函数就是用于找到最优解的目的函数,它的作用也是如此。
既然有了线性回归问题这个概念,我们就可以通过代价函数弄清楚如何找到一条最有可能的直线与我
们的数据相拟合。如图:
在线性回归中我们有这样一个训练集,m代表训练样本的数量,比如m=47。
而我们的假设函数,也就是预测的函数,是这样的线性函数形式:ℎ𝜃(𝑥) = 𝜃0 + 𝜃1x.
我们现在要做的就是要为我们模型选择合适的参数:θ0和θ1,在房价问题这个例子中便是直线的
斜率和在y轴上的截距。
选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际
值之间的差距(下图中蓝线所指)就是建模误差(modeling error)。
我们的目标就是找到合适的参数,使得所选择的直线与我们的数据最拟合。
即使得代价函数最
最小。
我们可以绘制一个等高线图(可以理解为将高度相等的线连接起来成一个平面),
三个坐标分别为𝜃0和𝜃1 和𝐽(𝜃0, 𝜃1):
该图是不是特别显而易见的可以看出一个使得 𝐽(𝜃0, 𝜃1) 最小的点。
代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。我们之所以要求出误差的平方
和,是因为误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合理的选择。还有其他
的代价函数也能很好地发挥作用,但是平方误差代价函数可能是解决回归问题最常用的手段了。
代价函数的理解
下面讲一下如何更好地理解代价函数。
希望通过一些例子带来更直接的感受。看看代价函数长什么样、
代价函数的样子,在等高线图是下图的模样,则可以看出三维空间中存在一个使得J(θ0,θ1)最小的点。
将等高线图转化为二维图中则是上图第二个样子。代价函数最小的点就是两条蓝线交汇的点。
这些图形只是帮助我们更好地理解代价函数的具体情况,更好地理解这些代价函数J所表达的值是什么
样的,它们对应的假设是什么样的,以及什么样的假设对应的点,更接近于代价函数J的最小值。
我们真正需要的是一种有效的算法,能够自动找出使代价函数J取最小值的参数θ0和θ1来。
下一篇介绍找出该参数的算法----梯度下降。解决线性回归问题