机器学习中,计算机常应用统计学习技术自动识别数据集内的模式。这些技术可以用来作出高度准确的预测。本文以一个房屋资料的数据集为示例,图解如何建一个能够区分纽约市和旧金山的房子的机器学习模型。
一些直观特征
上图表示两地房屋的海拔数据,你可能会认为海拔240英尺以上的房子看来应该是位于旧金山的。这是我们凭直觉所能作出的初步预测。
增加维度
所以加上每平方英尺价格这个维度后,我们的图变成了散点图,从散点图可以看到,海拔较低的房屋中,单价相对高的房子应该是纽约市的。从这些数据中我们可以作出这样的预测:在海拔低于或等于240英尺的房子中,如果每平方英尺价格高于1776美元,那么这栋房子应该位于纽约市。
机器学习中,数据集内的维度又称特征,预测器或变数。
划分边界
这种利用数据找出合理的分界线的方法是统计学习的基础。
但是,左下角哪些海拔低,单价也低的房子该怎么分类呢?我们需要更多的特征数据。
如图,我们把每两个维度的关系都制成散点图,从图中可以看出数据的规律,但分界线不明显。
机器学习
在数据中寻找模式是机器学习的特长。机器学习方法可以使用统计学习找出最佳分界线。
接下来我们将介绍一种叫决策树的机器学习方法。决策树会逐一分析数据集里的维度,是一种合理可行的机器学习方法。
寻找更好的分界特征
让我们回顾最初的海拔数据图,想想怎样找到更好的分界特征。显然,换个角度,把原来的海拔图变为矩形图可以更直观地看出数据里的规律,例如每个海拔上房子的数量趋势。
从矩形图中可以看出,纽约市海拔最高的房子大约是240英尺,但大多数房子都位于海拔较低的地方。
第一个分支
在机器学习中,这些条件被称为分支。分支根据某些维度值把数据分成两个支路,这个值被称为分割点。在这个分割点左边的数据被归入一类,右边的被归入另一类。分割点即是决策树的分界。
权衡
上面的饼状图里绿色的部分就是错误划分到旧金山的房子,这些分错的样本叫做假负类。
但是,如果一个分割点把所有的旧金山的房子都正确划分,那它就会同时错误地把许多纽约市的房子也包括进来,这类错误叫做假正类。
最佳分割点
如上图所示,一个特征的最佳分割点还不能完全正确地把旧金山和纽约的房子区分开来。
递归
新分支的最佳分割点取决于各边的数据。例如,在左边海拔较低的分支,最佳分割维度是每平方英尺价格,分割点在$1061 per sqft,在右边海拔较高的分支,最佳分割维度是房价,分割点在$514500。
栽培决策树
我们甚至可以继续增加分支,直到决策树的准确度达到100%。这样,决策树末梢的所有分类结果都纯粹地属于旧金山或纽约。
决策树的这些末梢又叫叶节点。决策树模型对每个叶节点里的数据(房子)的分类取决于其中的多数派。
作出预测
这些数据叫做训练数据,因为它们是用来训练模型的。由于我们这个决策树是用这些训练数据训练出来的,所以这个决策树分类训练数据的准确率当然是100%。
用真实数据测试
理想情况下,决策树对测试数据的分类的准确性应该和训练数据的结果差距不大。在这个例子中,我们的模型得到了89.7%的正确率,如此看来这个决策树做得不算很好。
这些错误是由于过拟合。我们的决策树把训练数据的每个差别特征都看作是同等重要的分界条件,但其中有些特征是不相关的。过拟合是机器学习的一个基本概念,我们会在以后的文章中更详细讨论。
扼要重述
- 机器学习使用统计学习方法识别模式,从数据集中挖掘分界条件,从而作出预测。
- 决策树是机器学习作预测的方法之一,决策树使用if-then语句进行分界并在数据中找出模式。
- 当作分界的差别特征关系不大时,容易发生过拟合。可以用测试数据来检查模型的过拟合程度。