热线电话:13121318867

登录
首页精彩阅读干货 | 机器学习没有你想的那么复杂
干货 | 机器学习没有你想的那么复杂
2018-11-09
收藏

 

作者 | Anish Phadnis
翻译 | Mika
本文为 CDA 数据分析师原创作品,转载需授权


人脑是最神奇的。你知道我更感兴趣的是什么吗?是我们的学习能力。我们如何能够适应并学习全新的技能,然后应用到日常生活之中呢?

我有一个6岁的弟弟,我看着他从懵懵懂懂的小婴儿逐渐长大。他学会了如何爬行、走路、跑;如何学会说话,理解简单的语法和简单的数学。

本文中我就要谈谈如何让机器复制这种学习的能力。

假设我想教机器如何区分狗和猫。这很简单,我的弟弟很容易就能做到。但是如何将其编程在机器上呢?我们不能简单的认为,所有的猫都是尖耳朵,或所有的狗都有毛。如果我们试图用代码写下所有猫狗间的差异,从而来解决这个问题,那么这是非常繁琐的,而且成功的可能性很低。

通过机器学习,算法能够理解猫与狗之间的差异,而无需刻意进行编程。它不需要我们去指导应该如何区分猫和狗。算法只需要看许多不同的猫和狗图像,并学习当中的区别。

这与我弟弟学会辨别猫狗很类似。不需要告诉他猫狗的差异,只需要告诉他,这张图是狗,这张图是猫。随着时间的推移,小孩子就能慢慢了解猫狗的分别是什么样了。

总而言之,机器学习能够让机器学会如果执行任务,而无需明确地编程。


深度学习

我们知道机器学习是什么,那么深层学习到底是什么呢?

很简单,深度学习只是机器学习中的一个领域。

深度学习只是机器学习的一个子集

深度学习算法被称为神经网络,它以人脑为模型,模仿人类学习的方式。

让我们以区分猫狗的例子来理解神经网络的运行原理。从本质上讲,神经网络接收输入,这里也就是猫狗的图像;然后得出输出,即标签为猫或狗的图像。在输入和输出之间,隐藏层从图像中提取特征。例如,这张图中有长鼻子,锋利的牙齿,尾巴等,然后通过这些信息预测图像为猫还是狗。


神经网络

有时候这些特征很重要,比如狗的鼻子比猫长;而有时特征并不重要。为了解决这个问题,神经网络给某些特征赋予了比其他特征更多的权重,即如果一张图像中的动物鼻子较长,则更有可能是狗。最终大量的特征汇集在一起,神经网络通过足够的特征判断图像是否是狗,如果是的话则输出这张图是是狗。

但是如果出错了呢?当然,神经网络无法一开始就准确无误。神经网络判断图像为猫,然而实际上是狗,这是学习的地方。

那这时会怎样呢?它进入隐藏层,神经网络决定将相应的权重放在相应的功能上。如果出错,网络必须进行调整,从而得出正确的结果。经过反复的调整,最终神经网络将能够分辨出两者间的差异。

我实际上能够构建这样的神经网络,并得出95%的准确率。结果并不完美,但仍然是惊人的。


机器学习能解决哪些问题

机器学习中,有3个不同的分支,它们都分别解决不同类型的问题。


监督学习

监督学习是我到目前为止在向你解释的,因为它是最容易理解的。给出输入,并得知输出是什么。我们有猫的图像,而且知道它被标记为猫。通过给合适的特征赋予合适的权重,从而得出正确的结果,即图像为猫。

这就类似你在复习细胞生物学测试。你在在测试自己是否掌握了细胞不同部分的功能。你正在学习细胞结构,即输出,并将其与输出——细胞各部分的功能相匹配。这就是你在学习从输入到输出的过程。


无监督学习

无监督学习是一个数据集,但当中没有标签或没有正确的答案。当中只有数据点,无监督学习的目的是找出数据中的模式,并帮助得出结论。

举一个简单的例子。给监督学习算法一个正方形,告诉它是正方形,然后在给出一个三角形,告诉它这是三角形,诸如此类。接着它会理解是正方形是什么样的,三角形又是什么样的。

而在无监督的学习问题中,它只会给出一堆形状,而不会被告知它这些是形状。在这种情况下,无监督学习算法将相似的形状组合在一起,可能是边的数量相同的形状,具有相同区域的形状,具有相似颜色的形状等等。接着它会找到基础模式能够将形状分类。

这就是无监督学习算法如何尝试在数据点中找到模式的例子。算法确定这是数据点之间的最佳分割,因为所有黄点与其他黄点最相似,所有红点与其他红点最相似,并且所有蓝点与其他蓝点相似。


强化学习

这实际上是我在机器学习中最喜欢的主题,也是我在编程方面投入时间最多的部分。最吸引我的就是以下视频中的这种行走机器人。

强化学习是理解如何在环境中让奖励最大化奖励的智能体。在以上视频中,当智能体能够行走时就将获得奖励。为了将奖励最大化,它将尽可能长时间地行走。

智能体通过测试所有可能的腿部动作来实现行走。智能体会因此获得奖励,因此它会继续行并重复这一行动。

这很类似当我六岁的弟弟学走路时,妈妈会在他迈步时会鼓掌和欢呼。当他摔倒时他会停止让他跌倒的行动,并继续采取获得妈妈鼓掌欢呼的步骤。最终,他学会了跑。

强化学习每次都让我大吃一惊。


应用
让我们来谈谈机器学习在现实中的应用。


自然语言处理(NLP
计算机通过0和1中说话,我们用文字说话。我们的谈话方式与计算机的谈话方式之间存在差距,我们必须训练计算机来理解我们的语言。使用NLP,计算机不仅能够转录单词,而且能够从中提取意义,甚至能以某种语调进行对话!有了Siri,Alexa和Cortana等助手,与智能手机交谈最终会像在手机上使用键盘一样普遍。


计算机视觉(CV)

NLP让计算机具有通话能力,CV让计算机能够看到。这被应用在自动驾驶汽车中,用于检测不同的物体,如其他汽车、行人以及道路上的车道。这能够让计算机从摄像机中提取信息。这还可以用于简单的人脸识别和检测算法,正如Facebook上使用的那样。


分析健康数据


想象一下,Mark每天都在他家附近的公园里散步,但突然有一天他摔倒了,心脏病发作了。心脏病像许多其他疾病一样是非常突然的,几乎没有任何预兆。我们身体中的某些模式预示着即将发生的某些健康方面的问题。通过使用Fitbits等设备能够来跟踪我们身体的健康数据,从而能够分析这些数据并提前开始进行预测。通过分析健康数据,在Mark心脏病发作前一周,医生们就能够知道,并及时提供他需要的帮助。


关键要点
机器学习能够机器学习如何执行任务,而且无需明确地编程。

深度学习机器学习的一个子集,它使用称为神经网络的特定算法,该算法是以人脑为模型的。

监督学习具有输入和输出,其目的是弄清楚如何从输入到输出。无监督学习具有数据点,其目的只是在数据中找到模式。

强化学习是机器人在物理和虚拟世界中学习如何走路、跳跃和执行其他人类行为的方式。

机器学习深度学习的潜力是无限的,它将以前所未有的方式彻底改变世界。


数据分析咨询请扫描二维码

最新资讯
更多
客服在线
立即咨询