内行人都能看得懂的机器学习,错过了血亏
作者头像
  • 2019-10-30 13:36:23 5

前言

光头也能变强

这篇文章主要为大家介绍机器学习的基础知识。作为一名开发者,“人工智能”这个词应该不会陌生。同样,在招聘面试中,“机器学习”这个职位也常常出现。

大家可能还听说过“深度学习”、“神经网络”等热门词汇,那么你对这些术语了解多少呢?

最近几天,朋友圈里经常可以看到一张照片:

// 通过if-else语句手动实现智能机器人聊天功能

希望通过阅读本文,大家能够对这些术语和机器学习有一个基本的了解。

一、术语解释

接下来,我们简单了解一下人工智能、深度学习、机器学习这些术语及其相互之间的关系。

1.1 人工智能

当提到“人工智能”时,大家可能会想到科幻电影中的机器人。

让我们来看看维基百科的定义:

人工智能(Artificial Intelligence,简称AI)指的是由人类制造的机器表现出的智能。通常,人工智能通过通用计算机程序实现人类智能技术。

人工智能可以分为两大类:

  • 强人工智能:认为有可能制造出真正能推理和解决问题的智能机器,并且这种机器被认为是有意识和自我意识的。大部分科幻电影中的机器人属于这一范畴。
  • 弱人工智能:认为不可能制造出真正能推理和解决问题的智能机器,这些机器只是看起来像有智能,但并没有真正的智能和自主意识。现阶段的人工智能大多是弱人工智能。

1.2 机器学习

当我们提到“机器学习”时,很多人会认为这是指机器能够自我学习。

维基百科对机器学习的定义是:

机器学习是实现人工智能的一种方法,即通过机器学习手段解决人工智能中的问题。在过去三十多年中,机器学习已经发展成为一门多学科交叉的学科,涵盖了概率论、统计学、逼近论、凸分析、计算复杂性理论等多个领域。

简而言之,机器学习可以通过大量数据或过去的经历自动改进计算机程序或算法。

生成模型f(x)之后,我们将样本数据输入模型,就可以得到输出结果:

我们说机器学习可以自我学习,是因为我们将样本数据也加入到“历史数据”中,这样生成的模型会有所改变,从而实现“自我学习”的效果。

1.3 它们之间的关系

我们还没有提及深度学习。从机器学习的介绍可以看出,机器学习已经发展成为一个多学科交叉的领域,其中包含了许多经典算法,包括神经网络(深度学习可以视为神经网络的升级版)。近年来,深度学习迅速发展,一些独特的学习方法不断涌现,因此越来越多的人将其视为一种独立的学习方法。

《机器学习 周志华》:

所谓深度学习,广义上就是“多层”的神经网络。在语音、图像等复杂对象的应用中,深度学习表现出优异的性能。

综上所述,人工智能、机器学习、深度学习之间的关系可以总结为:

  • 机器学习是实现人工智能的重要手段。
  • 深度学习是实现机器学习的技术之一。

想了解更多关于人工智能、机器学习和深度学习的区别,可以参考以下链接:

https://www.zhihu.com/question/57770020

二、机器学习入门

通过以上内容,我们可以简单地认为机器学习就是利用计算机从历史数据中找出规律,并将这些规律应用于未来不确定场景的决策中。

接下来,我们再学习一些机器学习的基础知识。

2.1 机器学习的术语

特征、样本、数据集、标记等术语的定义:

特征(属性)所构成的空间被称为特征空间。

例如,我们将“色泽”、“根蒂”、“敲声”作为三个坐标轴,则它们构成一个用于描述西瓜的三维空间。每个西瓜都可以在这个空间中找到自己的位置。由于空间中的每个点对应一个坐标向量,我们也称一个实例为“特征向量”。

回到之前的图示,我们再来解释一下“训练数据”、“训练”、“标记”等概念。

2.2 机器学习的分类

一般情况下,机器学习可以分为以下几种类型:

  • 监督学习
  • 半监督学习
  • 无监督学习
  • 强化学习
2.2.1 监督学习

监督学习是指训练数据(Training Data)可以告诉我们模型的输入(Input)与输出(Output,也就是我们所说的标签)之间的关系。

提供的数据都有明确的答案或标签:

  • 训练数据:“Java3y公众号”->好的公众号,“Java4y公众号”->不好的公众号。输入结果:好的公众号或不好的公众号

在监督学习中有两种算法:

  • 回归:结果是一个连续的数值(scalar),而不是类别。
  • 分类:为训练数据进行分类(多分类)。二分类:类别只有两种结果(YES或NO)。

回归例子:根据前几天的PM2.5数值,预测明天的PM2.5数值。

二分类例子:判断一封邮件是垃圾邮件还是正常邮件。

多分类例子:将新闻帖子分类为不同的类别。

2.2.2 无监督学习

无监督学习是指训练数据没有对应的答案或标签。

训练数据:“Java3y公众号”、“Java4y公众号”、“Java5y公众号”、“Java6y公众号”、“yyy公众号”、“xxx公众号”、“zzz公众号”。输入结果:(“Java3y公众号”、“Java4y公众号”、“Java5y公众号”、“Java6y公众号”)(“yyy公众号”、“xxx公众号”、“zzz公众号”)进行分类。

对没有标签的数据进行分类——聚类分析。

聚类分析例子:在以前,中国移动有三个品牌:神州行、动感地带、全球通。我们给一堆SIM卡交给学习算法训练,不告诉它每张SIM卡的具体品牌,最终可以将这些SIM卡分类出来。

2.2.3 半监督学习

了解了监督学习和无监督学习后,半监督学习就容易理解了。

一部分数据有标签或答案,另一部分数据没有。

由于各种原因导致标签缺失。通常会使用无监督学习手段对数据进行处理(特征提取、降维),然后只用监督学习手段进行模型的训练和预测。

2.2.4 强化学习

根据周围环境的状态采取行动,根据行动的结果学习行动方式。

每次行动都会进行评分,算法会根据评分来评估下一次行动的好坏,从而不断优化。

例子:Alpha Go在每一步棋时都会评估当前的棋局,通过最终的结果不断优化每一步棋。

2.3 机器学习的其他分类

除了上面提到的监督学习、无监督学习、半监督学习和强化学习外,机器学习还可以分为:

  • 在线学习:实时将样本数据作为训练数据对模型进行训练。需要对数据进行监控(样本数据可能是脏数据,这会影响模型)。
  • 离线(批量)学习:定期将样本数据作为训练数据对模型进行训练。不能很快适应环境的变化。

还有:

  • 参数学习:一旦学到参数,就不需要原有的数据集,只需调整参数即可。
  • 非参数学习:不对模型进行过多假设,非参数并不意味着没有参数。

最后

机器学习的核心在于算法。这篇文章只是对机器学习的一个简单入门,希望能对大家有所帮助。

如需更多资源,请私信联系我。

文章目录导航:

https://github.com/ZhongFuCheng3y/3y

欢迎关注,我们会陆续发布一些知识点总结,减少您的阅读时间,一起交流面试经验!每月随机抽取20名粉丝进入高级技术交流群(大量资料、BAT员工)。

    本文来源:图灵汇
责任编辑: :
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
血亏内行人错过机器学习
    下一篇