外行人都能看得懂的机器学习,错过了血亏!

前言

只有光头才能变强git

没错,这篇主要跟你们一块儿入门机器学习。做为一个开发者,”人工智能“确定是听过的。做为一个开发面试者,确定也会见过”机器学习“这个岗位(反正我校招的时候就遇到过)。github

可能还会听过或者见过“深度学习”、“神经网络”等等这些很是火的名词,那你对这些术语了解多少呢?面试

相信你们这几天在朋友圈也能够看到这照片:算法

核心AI代码

// 经过if else 以人工穷举的方式来伪装实现智能机器人聊天网络

但愿阅读完本文中后,你们能够对这些术语和机器学习有必定的了解。机器学习

1、术语介绍

首先咱们来简单看看人工智能、深度学习、机器学习这些术语和它们之间的关系到底是怎么样的。性能

1.1人工智能

不知道听到“人工智能”你们会联想到什么,可能大多数都会想到科幻电影的机器人。学习

《人工智能》电影的剧照

咱们看来看看维基百科的定义:测试

人工智能(英语:Artificial Intelligence,缩写为 AI)亦称机器智能,指由人制造出来的机器所表现出来的智能。一般人工智能是指经过普通计算机程序的手段实现的人类智能技术。人工智能

人工智能也能够分红两类:

  • 强人工智能:强人工智能观点认为“有可能”制造出“真正”能推理(Reasoning)和解决问题的智能机器,而且,这样的机器将被认为是具备知觉、有自我意识的
    • 像绝大多数科幻电影中的机器人就是在这范畴
  • 弱人工智能:弱人工智能观点认为“不可能”制造出能“真正”地推理和解决问题的智能机器,这些机器只不过“看起来”像是智能的,可是并不真正拥有智能,也不会有自主意识。
    • 咱们目前阶段的人工智能,其实都是弱人工智能。

1.2机器学习

不知道听到“机器学习”你们会联想到什么。Emmm...反正我就是从字面的意思去理解:“机器能够自我学习”。

首先咱们看一下维基百科是怎么说的:

机器学习是实现人工智能的一个途径,即以机器学习为手段解决人工智能中的问题。机器学习在近30多年已发展为一门多领域交叉学科,涉及几率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科

简单来讲:机器学习能够经过大量的数据或者以往的经验自动改进计算机程序/算法

什么是机器学习

生成完模型f(x)以后,咱们将样例数据丢进模型里边,就能够输出结果:

输入样例进模型,输出结果

咱们说机器学习能够自我学习,是由于咱们会将样例数据也会丢到“历史数据”中,这样生成模型就会有必定的改动,从而达到“自我学习”的效果。

1.3它们之间的关系

等等,咱们好像还没讲深度学习呢。咱们从上面机器学习的介绍也能够知道,机器学习已发展为一门多领域交叉学科,机器学习中就有好多个经典的算法,其中就包含了神经网络(深度学习可当作是神经网络的升级版)。因为近几年深度学习发展迅猛,一些特有的学习手段相继被提出,因此愈来愈多的人将其单独看做一种学习的方法。

《机器学习 周志华》:

所谓深度学习,狭义地说就是“不少层”的神经网络,在若干测试和竞赛下,尤为涉及语音、图像等复杂对象的引用中,深度学习取得优越的性能。

因此咱们能够总结出人工智能、机器学习、深度学习之间的关系是这样的:

  • 机器学习,是实现人工智能的重要方法。
  • 深度学习,是实现机器学习的技术。

之间的关系

想要了解更多,可参考:

2、机器学习入门

经过上面咱们能够简单认为机器学习就是:利用计算机从历史数据找出规律,把这些规律用到将来不肯定场景的决策中。

下面咱们再来学习一下机器学习的一些入门知识。

2.1机器学习的术语

特征、样本、数据集、标记这些术语的说明:

特征、样本、数据集、标记这些术语的说明

特征(属性)所张成的空间叫作特征空间

特征空间

例如咱们把“色泽”、"根蒂“、”敲声“做为三个坐标轴,则它们张成一个用于描述西瓜的三围空间,每一个西瓜均可在这个空间中找到本身的坐标位置。因为空间中的每一个点对应一个坐标向量,咱们也把一个示例称为“特征向量”。

特征向量

回到咱们上面的图,再来说讲“训练数据”、“训练”、“标记”:

“训练数据”、“训练”、“标记”的术语解释

2.2机器学习的分类

通常机器学习又能够分红如下几类:

  • 监督学习
  • 半监督学习
  • 非监督学习
  • 加强学习

2.2.1监督学习

监督学习:训练数据(Training Data)能够告诉咱们要找的那个模型的输入(Input)与输出(Output,也就是咱们说的label)之间有什么样的关系。

  • 给出的数据都有“答案”或“标记”

训练数据:"Java3y公众号"->好的公众号 , "Java4y公众号"->很差的公众号。
输出结果:好的公众号或者很差的公众号

在监听学习下又分为两种算法:

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

回归例子:知道前几天的PM2.5数值,预测一下明天的PM2.5数值。

回归例子

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

判断是垃圾邮件仍是正常邮件

多分类例子:将新闻帖子分类成不一样的类别。

分类成不一样的类别

2.2.2非监督学习

非监督学习:训练数据(Training Data)没有对应“答案”或“标记”

训练数据:"Java3y公众号" "Java4y公众号" "Java5y公众号" "Java6y公众号" "yyy公众号" "xxx公众号" "zzz公众号"
输出结果:("Java3y公众号" "Java4y公众号" "Java5y公众号" "Java6y公众号") ("yyy公众号" "xxx公众号" "zzz公众号") 分门类别

对没有“标记”的数据进行分类-聚类分析

对没有“标记”的数据进行分类-聚类分析

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

非监督学习的意义

非监督学习的意义

非监督学习的意义

2.2.3半监督学习

理解了监督学习和非监督学习,对于半监督学习就很容易理解了。

一部分数据有“标记”或者“答案”,另外一部分数据没有

  • 由于各类缘由产生的标记缺失。

部分有label,部分没有label

一般都会使用非监督学习手段对数据进行处理(特征提取、降维),以后再只用监督学习手段作模型的训练和预测。

2.2.4加强学习

根据周围环境的状况,采起行动,根据采起行动的结果,学习行动方式

加强学习

每次行动,就给此次的行动评分,算法会根据评分来评估下一次的行动是好仍是坏,最终不断改进。

给每次的行动评分

例子:Alpha Go下每步棋的时候都会评估本身此次下得怎么样,经过最终的结果不断改进下的每步棋。

2.3机器学习的其余分类

除了咱们上面所说的监督学习、非监督学习、半监督学习、加强学习以外,机器学习也能够分红:

  • 在线学习:及时将样例数据做为训练数据对模型进行训练。
    • 须要增强对数据进行监控(有可能样本数据是脏数据,这样就破坏咱们的模型)
  • 离线(批量)学习:定时将样例数据做为训练数据对模型进行训练。
    • 不能很快的适应环境的变化

还有:

  • 参数学习:一旦学到了参数,就再也不须要原有的数据集。经过调参数就行了。
  • 非参数学习:不对模型进行过多的假设,非参数不表明没参数。

最后

机器学习的核心在于算法上,这篇只是对机器学习的一个简单的入门,但愿能对你们有所帮助。

机器学习资源,可关注个人公众号,回复“机器学习”便可领取。

  • 有周志华《机器学习》电子版。吴恩达、李宏毅视频及笔记

乐于分享和输出干货的Java技术公众号:Java3y。

帅的人都关注了

文章的目录导航

相关文章
相关标签/搜索