【经典】机器学习可视化演示

【新智元导读】机器学习应用统计学习技术,自动识别数据集内的模式。这些技术可以用来作出准确性很高的预测。决策树是机器学习作预测的常见方法之一,本文以一个房屋资料数据集为示例,用可视化图阐释了如何建一个能够区分房屋地理位置的决策树模型。虽然原文发布已有一段时间,然而每次看来仍然震撼,强烈推荐:http://www.r2d3.us/visual-intro-to-machine-learning-part-1/

机器学习中,计算机常应用统计学习技术自动识别数据集内的模式。这些技术可以用来作出高度准确的预测。本文以一个房屋资料的数据集为示例,图解如何建一个能够区分纽约市和旧金山的房子的机器学习模型。

一些直观特征

假设我们需要凭数据预测一栋房屋是位于旧金山还是纽约市,应该怎样做呢?在机器学习学科里,这是一种分类任务(classification task)

如果你到过旧金山,你可能会知道其地貌是高低不平的丘陵地带。那么房屋的海拔数据或许能区分这两座城市的房屋。

上图表示两地房屋的海拔数据,你可能会认为海拔240英尺以上的房子看来应该是位于旧金山的。这是我们凭直觉所能作出的初步预测。

增加维度

增加一个维度(dimension)能让我们发现更多差别特征。例如,纽约市的房子每平方英尺价格显然要比旧金山的贵得多。

所以加上每平方英尺价格这个维度后,我们的图变成了散点图,从散点图可以看到,海拔较低的房屋中,单价相对高的房子应该是纽约市的。

从这些数据中我们可以作出这样的预测:在海拔低于或等于240英尺的房子中,如果每平方英尺价格高于1776美元,那么这栋房子应该位于纽约市。

机器学习中,数据集内的维度又称特征(features)预测器(predictors)变数(variables)

划分边界

我们可以把海拔(>242ft)和每平方英尺单价(>$1776)作为分界线上面的散点图上画出来。图上绿色的部分(海拔>242ft)可以归类为旧金山的房子,蓝色的部分(平方英尺单价>$1776,海拔≤242ft)归类为纽约的房子。

这种利用数据找出合理的分界线的方法是统计学习的基础。

但是,左下角哪些海拔低,单价也低的房子该怎么分类呢?我们需要更多的特征数据。

我们用来建机器学习模型的房屋数据集里有七个维度。在机器学习中,建模的过程又称训练模型(training a model)

如图,我们把每两个维度的关系都制成散点图,从图中可以看出数据的规律,但分界线不明显。

机器学习

在数据中寻找模式是机器学习的特长。机器学习方法可以使用统计学习找出最佳分界线。

接下来我们将介绍一种叫决策树(decision tree)的机器学习方法。决策树会逐一分析数据集里的维度,是一种合理可行的机器学习方法。

寻找更好的分界特征

让我们回顾最初的海拔数据图,想想怎样找到更好的分界特征。显然,换个角度,把原来的海拔图变为矩形图(histogram)可以更直观地看出数据里的规律,例如每个海拔上房子的数量趋势。

从矩形图中可以看出,纽约市海拔最高的房子大约是240英尺,但大多数房子都位于海拔较低的地方。

第一个分支

决策树使用“如果-则”语句(if-then statements)来定义数据中的规律。例如,如果一栋房子的海拔高于某个数据,则该房子位于旧金山。

在机器学习中,这些条件被称为分支(forks)。分支根据某些维度值把数据分成两个支路(branches),这个值被称为分割点(split point)。在这个分割点左边的数据被归入一类,右边的被归入另一类。分割点即是决策树的分界。

权衡

选择分割点时需要权衡。我们最初选择的分割点(海拔240ft)就把很多旧金山的房子错误划分为纽约市的了。

上面的饼状图里绿色的部分就是错误划分到旧金山的房子,这些分错的样本叫做假负类(false negative)

但是,如果一个分割点把所有的旧金山的房子都正确划分,那它就会同时错误地把许多纽约市的房子也包括进来,这类错误叫做假正类( false positives)

最佳分割点

最佳的分割点应该使每个分支的分类结果尽可能均质(homogeneous)。统计学中有几种方法可以用来计算最佳分割点。

如上图所示,一个特征的最佳分割点还不能完全正确地把旧金山和纽约的房子区分开来。

递归

为了增加另一个分割点,算法在第一个分支后的子数据集中重复上述过程。机器学习中,这种重复叫做递归(recursion),是训练模型时常用的方法。

新分支的最佳分割点取决于各边的数据。例如,在左边海拔较低的分支,最佳分割维度是每平方英尺价格,分割点在$1061 per sqft,在右边海拔较高的分支,最佳分割维度是房价,分割点在$514500。

栽培决策树

增加分支意味着增加新信息,从而提高决策树的预测准确性(prediction accuracy)。在本例中,增加一层决策树的准确性提高到84%。再加几层,准确性达到96%

我们甚至可以继续增加分支,直到决策树的准确度达到100%。这样,决策树末梢的所有分类结果都纯粹地属于旧金山或纽约。

决策树的这些末梢又叫叶节点(leaf nodes)。决策树模型对每个叶节点里的数据(房子)的分类取决于其中的多数派。

作出预测

训练好的决策树模型通过把数据集里的每一栋房子(图示的点/数据)从根部顺着分支走到叶节点进行分类,叶节点属于哪一类,这个数据就属于哪一类。每条路径都有决定预测分类的规则(if-then语句)。

这些数据叫做训练数据(training data),因为它们是用来训练模型的。由于我们这个决策树是用这些训练数据训练出来的,所以这个决策树分类训练数据的准确率当然是100%。

用真实数据测试

用真实数据测试是指用决策树未见过的数据(previously-unseen data)来做分类任务,这类数据叫做测试数据(test data)

理想情况下,决策树对测试数据的分类的准确性应该和训练数据的结果差距不大。在这个例子中,我们的模型得到了89.7%的正确率,如此看来这个决策树做得不算很好。

这些错误是由于过拟合(overfitting)。我们的决策树把训练数据的每个差别特征都看作是同等重要的分界条件,但其中有些特征是不相关的。过拟合是机器学习的一个基本概念,我们会在以后的文章中更详细讨论。

扼要重述

  1. 机器学习使用统计学习方法识别模式,从数据集中挖掘分界条件,从而作出预测。
  2. 决策树是机器学习作预测的方法之一,决策树使用if-then语句进行分界并在数据中找出模式。
  3. 当作分界的差别特征关系不大时,容易发生过拟合。可以用测试数据来检查模型的过拟合程度。

感谢两位原作者,到这里(再次领略)机器学习之美:

原文地址:http://www.r2d3.us/visual-intro-to-machine-learning-part-1/

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2016-11-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

Kaggle大赛:债务违约预测冠军作品解析

48030
来自专栏腾讯大数据的专栏

腾讯数平精准推荐 | OCR技术之检测篇

本文将主要介绍数平精准推荐团队的文本检测技术。

6K120
来自专栏机器之心

前沿 | 使用Transformer与无监督学习,OpenAI提出可迁移至多种NLP任务的通用模型

OpenAI 的系统分为两阶段,首先研究者以无监督的方式在大型数据集上训练一个 Transformer,即使用语言建模作为训练信号,然后研究者在小得多的有监督数...

14400
来自专栏AI科技大本营的专栏

经典重译 | 来自华盛顿大学教授的机器学习“内功心法”

本文最初发表在 《ACM通讯》2012年第10辑。作者是华盛顿大学教授,著名的机器学习专家 Pedro Domingos。作者2016年凭借畅销书《终极算法》而...

34970
来自专栏马卓然的专栏

【 SPA大赛 】数据测试与特征工程的优化思路

大家好,我们是吃茶少年团队,这是我们团队第一次参加比赛。由于没什么经验,走了很多很多的弯路,我们在比赛中跟随大佬亦步亦趋地摸索前进。目前成绩在24名,写下这篇比...

39800
来自专栏AI科技大本营的专栏

知乎大神周博磊:用“Network Dissection”分析卷积神经网络的可解释性

当地时间 7 月 22 日,备受瞩目的 CVPR 2017 最佳论文在夏威夷会议中心揭晓。本届 CVPR 2017 共有两篇最佳论文(分别被康奈尔和清华团队、以...

52070
来自专栏大数据挖掘DT机器学习

李航博士:浅谈我对机器学习的理解

李航博士,华为技术有限公司 诺亚方舟实验室 首席科学家 ? 算算时间,从开始到现在,做机器学习算法也将近八个月了。虽然还没有达到融会贯通的地步,但至少在熟悉了算...

47790
来自专栏CDA数据分析师

基于R语言的梯度推进算法介绍

简介 通常来说,我们可以从两个方面来提高一个预测模型的准确性:完善特征工程(feature engineering)或是直接使用Boosting算法。通过大量数...

26270
来自专栏目标检测和深度学习

VALSE 2018年度进展报告 | 物体检测与识别

11420
来自专栏机器之心

学界 | CVPR 2018接收论文公布,上海交通大学6篇论文简介

机器之心报道 作者:吴欣 不久之前,CVPR 2018 论文接收列表公布。据机器之心了解,上海交通大学电子系人工智能实验室倪冰冰教授课题组有 6 篇论文入选,本...

66080

扫码关注云+社区

领取腾讯云代金券