熟读高数才能理解机器学习?不,初中数学就够了

1.  导读

谁说理解机器学习必须要熟读高数?

近日,数据科学Kyle在Medium发布博客表示,理解机器学习在做的事情,有初中数学知识足矣。

这篇博客简洁易懂、幽默风趣,在Medium上几天内获得600多赞。量子位将文章翻译整理如下,与大家分享:

当下理解我们人工智能的方式通常比较极端,要么通过媒体,越来越耸人听闻的观点让人难以想象。要么通过文献,充满晦涩语言和特定术语的论文让人难以理解。

理解AI的正确姿势应该在两个极端之间,这就需要你在新闻或文献之外理性判断,对于一般人来说,至少应该知道AI是什么。

这几乎是没有门槛的,我认为理解AI,中学数学知识就足够了。这篇文章我将简化人工智能中的数学,带你拨开云雾看本质。

在这里给大家推荐一个python系统学习q群:250933691有免费开发工具以及初学资料,(数据分析,爬虫,AI,  机器学习,神经网络)每天有老师给大家免费授课,欢迎一起交流学习

2.  简单版AI和机器学习概念

能模仿人类的智慧,这是最具代表性的AI的定义。

AI可以有多重“形态”,从虚拟游戏里的机器人、谷歌DeepMind开发的下围棋程序AlphaGo,到现实世界里索菲亚这样的人型机器人,这都是AI“寄生”的场所。

那AI和相关报道中经常提到的机器学习和深度学习是什么关系,请看下面这张图:

 

熟读高数才能理解机器学习?不,初中数学就够了_第1张图片

人工智能(AI):泛指任何可以让计算机模拟人类智慧的技术,可以通过逻辑、if-then等规则、决策树和机器学习(包括深度学习)等方法实现。

机器学习:AI的一个子分类,让机器通过真实世界的数据去“学习”,而非单调执行预先设定的规则。

深度学习:机器学习的子类,包含一系列算法。机器通过多层神经网络去处理数据,自己学习去执行任务。在语言和图像识别等任务中经常看到。

发现了么,机器学习的最大特色之一,就是它的“学习”方式不同了。这里的“学习”,其实也没有看起来那样有未来感,你在初中可能就已经接触过了。

如果你看过《黑镜》里类似的桥段,就比较容易将现在AI可视化成一个有意识的实体,一个有思想、感觉、可以做出复杂决策的物体。

在媒体的报道中这种观念更为普遍,甚至经常会把AI人格化,然后将其与电影《终结者》里的天网(Skynet)和《黑客帝国》里的Matrix相提并论。

 

熟读高数才能理解机器学习?不,初中数学就够了_第2张图片

实际上这都不是真的。在现阶段AI就是数学。有时是高难度的数学,有时需要扩展到计算机科学、统计学等其他领域的知识。但AI的核心是一种数学函数。

也就是说,机器学习可以从y=mx+b这个方程式来理解。如下图所示,我们已经知道了x值y值,此时需要让一台计算机通过输入(x)和输出(y)去思考两者之间的关系,推断出m和b的值。

 

熟读高数才能理解机器学习?不,初中数学就够了_第3张图片

这个公式推断起来不难吧,y=1x+1,小学生也会做。就是这样,我们创造一个公式来描述所给的数据,这大体上也是机器学习在做的事情。

这之间最有趣的部分就是,怎样教机器选择最适合这些数据的公式。一旦找到这其中的关联,你还可以将它用图表的形式表现出来。

 

熟读高数才能理解机器学习?不,初中数学就够了_第4张图片

3.  你不懂的数学,拿给机器去做吧

y=1x+1是个非常简单的例子,我们需要机器学习最主要的原因是,人类无法在数百万量级的数据点中找到合适的公式,这就是计算机要去做的事了。

无论如何,必须有足够多的数据才能找到正确的公式。如果我们仅仅有x=1和y=2两个数据点,输出的函数也是千变万化的,可能是y=2x,可能是y=x+1,,也可能是y=([x+1]*5–9)⁵ + 1等等。

根据少量数据构建公式,然后把它用到更多数据上,这个公式可能会出现大量错误。

并且,现实世界总不可能一直这么完美。在下面这个动图中可以看到,机器会在一堆数据中进行取舍,探索怎样最大化去满足这些数据,进而才去创造公式。

和数学课上那些规律输入和输出值不同,真实世界的数据更不可预测,也更“参差不齐”。

 最佳公式

当面对一堆变量时,人类找出合适公式的可能性更小了。只有x和y很容易,但如果y受x的1次方、2次方、100次方的影响呢?

人类就hold不住了,但计算机可以。

4.  现实生活中的机器学习和AI

来看一个现实生活中的例子。我在制药领域工作,就举个癌症相关数据集的例子好了。

这个数据集中有两个关于肿瘤大小的输入变量,即半径和周长,以及两个潜在的输出,即良性肿瘤和恶性肿瘤。用我们上述思路来考虑,这事就是这样的:

y:诊断结果,可以是0(良性)或1(恶性)

x1:半径

x2:周长

每个x都有一个位置的m,先称之为“某数”吧

b:依然是一个未知数

那么这个线性方程长什么样?其实和上面的例子也没什么太大区别:

诊断结果=(某数1×半径)+(某数2×周长)+b

这样看来,这道题已经脱离了人类能力的范围了,所以不用费时间去找这么多变量与结果的关系了,我们可以让机器去做,这之间就是机器学习!

在这里给大家推荐一个python系统学习q群:250933691有免费开发工具以及初学资料,(数据分析,爬虫,AI,  机器学习,神经网络)每天有老师给大家免费授课,欢迎一起交流学习

你可能感兴趣的:(python)