2.1 机器学习简介

> 人工智能、机器学习与深度学习

首先我们先来看一下下面这张图。

人工智能(Artificial Intelligence)就是用机器模拟人的意识和思维。

机器学习(Machine Learning)则是实现人工智能的一种方法,是人工智能的子集。

深度学习(Deep Learning)就是深层次神经网络,是机器学习的一种实现方法,是机器学习的子集。

在20世纪50年代中期,人工智能开始兴起。到了20世纪80年代,机器学习开始繁荣起来,在这张图中的垃圾邮件分类就属于机器学习。到2010年左右,深度学习得到了极大的发展,把人工智能推向了新的高潮,最常见的深度学习有图片分类等等。

> 机器学习

机器学习是人工智能的一个分支,它是实现人工智能的一个核心技术,即以机器学习为手段解决人工智能中的问题。

机器学习是通过一些让计算机可以自动“学习”的算法并从数据中分析获得规律,然后利用规律对新样本进行预测。

机器学习如果用形式化的语言进行描述,就是对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么就称这个计算机程序在从经验E学习。

人类在学习中是什么样的呢?我们可以举一个简单的例子:一个小宝宝,他的妈妈买回来一个苹果并告诉他这是苹果,那么他就会对苹果有所认知,第二天,他的妈妈买了一个不同样子的苹果,但是告诉他这个还是苹果,那么他就会对苹果有新的认知,经过认识不同种类的苹果,小宝宝对苹果形成了自己的认知,可以去判断什么样的东西是苹果。他能根据自己的经验总结出一个规律,然后对于新看到的物品可以去判断它是否是苹果,其他的水果也是同理。这样就完成了一个人类学习的过程。

对于机器学习来说,它需要大量的历史数据,而且同时需要告诉它正确的分类结果,比如什么是香蕉,什么是苹果。经过这样的训练,它会形成一个模型,当有新的数据进来,它会根据模型算出这个物品到底属于什么样的类别。

其实人类学习的过程和机器学习的过程很类似,人类就是通过各种各样的经验归纳出规律,当有新问题产生时,通过头脑运作产生相应的结果。而机器是通过历史数据做训练,形成一个训练好的模型,当有新的数据输进来,通过这个训练好的模型做计算,得到的结果就是预测出来的新的未知属性。

> 机器学习典型求解问题类型

机器学习可以分为有监督学习、无监督学习、半监督学习、强化学习。

> 有监督学习

有监督学习(Supervised Learning)指的是事先需要准备好输入与正确输出(区分方法)相配套的训练数据,让计算机进行学习,以便当它被输入某个数据时能够得到正确的输出(区分方法)。

有监督学习需要有大量的训练数据,不仅仅是输入,还需要区分方法,也就是需要正确的数据标签。

> 无监督学习

无监督学习(Unsupervised Learning)的目的是让计算机自己去学习怎样做一些事情,所有数据只有特征而没有标记。

无监督学习被运用于仅仅提供输入用数据、需要计算机自己找出数据内在结构的场合。其目的是让计算机从数据中抽取其中所包含的模式及规则。

> 半监督学习

介于有监督学习和无监督学习之间的是半监督学习(Semi-supervised Learning)

半监督学习的训练数据一部分有标记,另一部分没有标记,而没有标记数据的数量常常远大于有标记数据的数量。

半监督学习的基本规律是:数据的分布必然不是完全随机的,通过结合有标记数据的局部特征以及大量没有标记数据的整体分布,可以得到比较好的分类结果。

> 强化学习

强化学习(Reinforcement Learning)是解决计算机从感知到决策控制的问题,从而实现通用人工智能。

强化学习是以目标为导向的。它的训练是从一张白纸的状态开始,经由许多个步骤来实现某一维度上的目标最大化。简单的来说,就是在训练过程中,不断地去尝试,错误就惩罚,正确就奖励,由此训练得到的模型在各个状态环境中都最好。

对于强化学习来说,它虽然没有标记,但有一个延迟奖励与训练相关,通过学习过程中的激励函数获得某种从状态到行动的映射。

强化学习强调如何基于环境而行动,以取得最大化的预期利益。

强化学习一般适用于游戏、下棋等需要连续决策的领域。

> 无监督机器学习的典型应用模式

前面提到过,无监督机器学习是不需要标记的,比如屏幕中有一大堆点,我们需要进行聚类,即所谓的“物以类聚,人以群分”,使得这些点被分成了下图中的三组。它常见的算法是K-Means算法。

在无监督学习中还有一个典型的场景是关联规则抽取。最常见的是超市物品的摆放。超市中的物品摆放通常是有一定讲究的,他们通过分析超市里的销售数据发现,啤酒和纸尿裤同时被购买的概率比较大,超市就根据这个情况调整了货物的摆放,在啤酒边上放上了纸尿裤,在原本卖纸尿裤的货架附近放上了啤酒,这样一来确实促进了购买力。

> 有监督机器学习的典型应用模式

预测问题主要针对的是连续的数据。

下图是Google机器学习速成课程中的一个例子,它反映了每分钟虫鸣和温度之间的关系,而这个规律可以用一条直线来表示。那么机器学习所做的事情,就是去确定这条直线的截距和斜率。针对这些连续数据,我们可以根据所建立好的模型,用每分钟虫鸣数来预测所对应的温度。它常见的算法是线性回归、Gradient Boosting、AdaBoost、神经网络算法。

分类问题主要针对的是离散的数据。

下图我们可以看成一个工厂所加工的螺丝,它有重量和长度,而最终大量的坐标数据(螺丝)被分为两类,一类是红色的,代表合格品;还有一类是蓝色的,代表残次品。它们被一条虚线明显的分隔开来。如果给出一颗新的螺丝,我们可以根据它所落在的位置来判断它是否合格,因此实现了一个二分类的应用。它常见的算法是逻辑回归、决策树、KNN、随机森林、支持向量机、朴素贝叶斯、神经网络算法。

Last updated