【机器学习】如何向外行解释机器学习和数据挖掘

对于那些非计算机科学行业的人,你会如何向他们解释机器学习和数据挖掘? 斯坦福大学的印度学生、机器学习爱好者 Pararth Shah 在2012年12月22日的回复,非常经典,得赞数有 3700+。

买点芒果去

假设有一天你准备去买点芒果。有个小贩摆放了一车。你可以一个一个挑,然后小贩根据你挑的芒果的斤两来算钱(在印度的典型情况)。显然,你想挑最甜最熟的芒果对吧(因为小贩是按芒果的重量来算钱,而不是按芒果的品质来算钱的)。可是你准备怎么挑呢?你记得奶奶和你说过,嫩黄的芒果比暗黄的甜。所以你有了一个简单的判断标准:只挑嫩黄的芒果。你检查各个芒果的颜色, 挑了些嫩黄的,买单,走人,爽不?

可没那么简单...

生活是很复杂的

你回到家,开始慢慢品尝你的芒果。你发现有一些芒果没有想的那么甜。你焦虑了。显然,奶奶的智慧不够啊。挑芒果可不是看看颜色那么简答的。经过深思熟虑(并且尝了各种不同类型的芒果),你发现那些大个儿的,嫩黄的芒果绝对是甜的,而小个儿,嫩黄的芒果,只有一半的时候是甜的(比如你买了100个嫩黄的芒果,50个比较大,50个比较小,那么你会发现50个大个儿的芒果是甜的,而50个小个儿的芒果,平均只有25个是甜的)。你对自己的发现非常开心,下次去买芒果的时候你就将这些规则牢牢的记在心里。但是下次再来到市集的时候,你发现你最喜欢的那家芒果摊搬出了镇子。于是你决定从其它卖芒果的小贩那里购买芒果,但是这位小贩的芒果和之前那位产地不同。现在,你突然发现你之前学到的挑芒果办法(大个儿的嫩黄的芒果最甜)又行不通了。你得从头再学过。你在那位小贩那里,品尝了各类芒果,你发现在这里,小个儿、暗黄的芒果其实才是最甜的。

没多久,你在其它城市的远房表妹来看你。你准备好好请她吃顿芒果。但是她说芒果甜不甜无所谓,她要的芒果一定要是最多汁的。于是,你又用你的方法品尝了各种芒果,发现比较软的芒果比较多汁。

之后,你搬去了其它国家。在那里,芒果吃起来和你家乡的味道完全不一样。你发现绿芒果其实比黄芒果好吃。

再接着,你娶了一位讨厌芒果的太太。她喜欢吃苹果。你得天天去买苹果。于是,你之前积累的那些挑芒果的经验一下子变的一文不值。你得用同样的方法,去学习苹果的各项物理属性和它的味道间的关系。你确实这样做了,因为你爱她。

有请计算机程序出场

现在想象一下,最近你正在写一个计算机程序帮你挑选芒果(或者苹果)。你会写下如下的规则:

if(颜色是嫩黄 and 尺寸是大的 and 购自最喜欢的小贩): 芒果是甜的 if(软的): 芒果是多汁的

等等等等。

你会用这些规则来挑选芒果。你甚至会让你的小弟去按照这个规则列表去买芒果,而且确定他一定会买到你满意的芒果。

但是一旦在你的芒果实验中有了新的发现, 你就不得不手动修改这份规则列表。你得搞清楚影响芒果质量的所有因素的错综复杂的细节。

如果问题越来越复杂, 则你要针对所有的芒果类型,手动地制定挑选规就变得非常困难。你的研究将让你拿到芒果科学的博士学位(如果有这样的学位的话)。

可谁有那么多时间去做这事儿呢。

有请机器学习算法

机器学习算法是由普通的算法演化而来。通过自动地从提供的数据中学习,它会让你的程序变得更“聪明”。

你从市场上的芒果里随机的抽取一定的样品(训练数据), 制作一张表格, 上面记着每个芒果的物理属性, 比如颜色, 大小, 形状, 产地, 卖家, 等等。(这些称之为特征)。

还记录下这个芒果甜不甜, 是否多汁,是否成熟(输出变量)。你将这些数据提供给一个机器学习算法(分类算法/回归算法),然后它就会学习出一个关于芒果的物理属性和它的质量之间关系的模型。

下次你再去市集, 只要测测那些芒果的特性(测试数据),然后将它输入一个机器学习算法。算法将根据之前计算出的模型来预测芒果是甜的,熟的, 并且/还是多汁的。

该算法内部使用的规则其实就是类似你之前手写在纸上的那些规则(例如, 决策树),或者更多涉及到的东西,但是基本上你就不需要担心这个了。

瞧,你现在可以满怀自信的去买芒果了,根本不用考虑那些挑选芒果的细节。更重要的是,你可以让你的算法随着时间越变越好(增强学习),当它读进更多的训练数据, 它就会更加准确,并且在做了错误的预测之后自我修正。但是最棒的地方在于,你可以用同样的算法去训练不同的模型, 比如预测苹果质量的模型, 桔子的,香蕉的,葡萄的,樱桃的,西瓜的,让所有你心爱的人开心:)

这,就是专属于你的机器学习,是不是很酷啊。

机器学习:让你的算法更聪明, 所以你就可以偷懒喽

原文发布于微信公众号 - 数据科学与人工智能(DS_AI_shujuren)

原文发表时间:2015-11-25

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据小魔方

函数|多条件求和——SUMPRODUCT函数

今天跟大家分享一个在多条件求和方面特别厉害的函数——SUMPRODUCT。 ▼ 也许大家对sum函数都很熟悉,知道它强大的求和功能。单数如果遇到多条件的求和场景...

2864
来自专栏专知

【Code】关关的刷题日记22——Leetcode 53. Maximum Subarray

关小刷刷题 22——Leetcode 53. Maximum Subarray 题目 Find the contiguous subarray within a...

3017
来自专栏海天一树

小朋友学算法(15):计算年份的天干地支

十天干:甲、乙、丙、丁、戊、己、庚、辛、壬、癸; 十二地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。

923
来自专栏后端技术探索

算法之经典背包问题分析与实例

我们人类是一种贪婪的动物,如果给您一个容量一定的背包和一些大小不一的物品,裝到背包里面的物品就归您,遇到这种好事大家一定不会错过,用力塞不一定是最好的办法,...

951
来自专栏编程之旅

算法时间复杂度

很多程序员,做了很长时间的编程工作却始终都弄不明白算法的时间复杂度的估算,这是很可悲的一件事情。因为弄不清楚,所以也就从不深究自己写的代码是否效率底下,是不是可...

831
来自专栏小樱的经验随笔

令人称奇的简单证明:五种方法证明根号2是无理数

令人称奇的简单证明:五种方法证明根号2是无理数     我喜欢各种各样的证明。人们很难想到这样一些完全找不到突破口的东西竟然能够证明得到。说“没有突破口”还不够...

2878
来自专栏苦逼的码农

动态规划进阶篇1---背包问题

给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为C。问应如何选择装入背包的物品,使得装 入背包中物品的总价值最大?

1.6K3
来自专栏专知

【专知-关关的刷题日记20】Leetcode 119. Pascal's Triangle II

题目 Given an index k, return the kth row of the Pascal's triangle. For example, g...

3499
来自专栏计算机视觉与深度学习基础

Leetcode 149 Max Points on a Line

Given n points on a 2D plane, find the maximum number of points that lie on the...

26210
来自专栏ATYUN订阅号

赫尔辛基大学AI基础教程:搜索和游戏(2.3节)

在本节中,我们将研究一个经典的AI问题:游戏。为了清晰起见,我们将重点关注的最简单的场景是双人游戏,如井字棋和国际象棋等完全信息游戏。

923

扫码关注云+社区

领取腾讯云代金券