社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

干货 | 机器学习没有你想的那么复杂

CDA数据分析师 • 6 年前 • 493 次点击  

点击上方蓝字关注我们

作者 | Anish Phadnis

翻译 | Mika

本文为 CDA 数据分析师原创作品,转载需授权


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


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


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


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



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


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


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


深度学习


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


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


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


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


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


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


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


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


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


能解决哪些问题


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


监督学习


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


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


无监督学习


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


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


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



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


强化学习


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



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


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


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


强化学习每次都让我惊叹不已。


机器学习的应用


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


自然语言处理(NLP)


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


计算机视觉(CV)


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



分析健康数据


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


关键要点

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

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

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

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

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


原文链接:

https://blog.goodaudience.com/machine-learning-teaching-machines-to-learn-61b0f3eaaba8


CDA 课程咨询丨赵老师

联系电话:13381275813
扫描二维码

更多精彩文章

在过去的一年里,我是如何自学数据科学的

做数据分析,Python和R究竟哪个更强?

数据科学家:在实际工作后我深刻认识到的五点

机器学习太难?一文带你掌握机器学习的必备基础知识

9 大实际用例,让你重新认识区块链

我是如何通过Web爬虫找工作的

手把手教你用Python分析电影 | 以《蚁人2》为例

Python能用来做什么?以下是Python的三大主要用途



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/8tg6aeMPPx
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/25786