一、机器学习基础知识

时间:2024-03-31 13:26:37

原文地址:https://gitbook.cn/gitchat/column/5ac2f0509e924a1dc029dd84/topic/5ac2feab9e924a1dc029e362 写的很不错,排版也很好。

机器学习基础知识

引言

谈到人工智能、深度学习,相信目前 IT 互联网领域的从业者应该都是耳熟能详的。但是大家都知道,其实人工智能早已出现为什么等到本世纪初再一次大火起来呢?人工智能、深度学习以及机器学习之间的关系到底又是什么样的呢?

首先,为什么最近几年人工智能概念再次火爆原因主要有以下几个方面:

  • 计算能力的提升:随着计算机软硬件技术的发展,GPU 从以前的图像处理专用硬件转而到大规模高度并行单元计算的使用,并且从软件算法层面分布式 GPU 集群的使用,使得以前几个月甚至根本完成不了的模型训练任务今天都能够在很短的时间内完成;

  • 更加优化的算法:以深度神经网络为基础的算法原理得到进一步的改进,使得深度学习算法无论是应用方向还是优化精度上都取得了质的飞跃;

  • 大数据时代的到来:随着移动互联网的到来,以前产生互联网数据都只是 PC 端上网产生,而现在几乎人人都在使用各种 App 无时无刻不在产生着互联网数据,数据量的增加,更加促进了深度学习这种需要大量数据训练的算法的应用。以前数据量少,算法训练很容易过拟合。
    接下来回答第二个问题:人工智能、机器学习以及深度学习是什么样的关系?

接下来回答第二个问题:人工智能、机器学习以及深度学习是什么样的关系?
一、机器学习基础知识
图1 机器学习在人工智能中的地位

从上面的图中我们可以知道:人工智能的领域范围最广,深度学习领域最窄。也就是说,机器学习是人工智能的子领域,而深度学习又是机器学习的一个分支!因此我们可以看出机器学习在 AI 领域的重要地位了。

既然目前深度学习那么火,那么为什么还要学习机器学习而不是直接学习深度学习呢?我相信很多初学者应该都会有这方面的疑惑或者思维误区。正所谓“基础不牢,地动山摇”讲得就是这个道理,如果只是看看深度学习的效果,我相信只要你会 Python,从市面上买一本 TensorFlow 相关的实战书本就能够跑出一个实验,体会出深度学习的强大效果和能力。但是这不叫懂深度学习,甚至可以说没有入门。因为机器学习算法的奥妙在于算法优化和调优,因此不懂得它背后的原理,遇到新问题你是没法做得出好的效果的。而且书本上的数据集一般是公开数据集,算法的最优参数早已给出,不需要你去通过理论或者实践去探索。但是现实工作中遇到的问题往往都是新的问题,大家都没遇到过的,这时候就需要你对算法又很深入的理解才能做出来了。

机器学习中的基本问题

序言中我们讲到了为什么要从机器学习开始学习。本节开始我们就应该从基本概念入手,介绍一下机器学习的基本概念,为将来学习具体的机器学习算法打好基础。

机器学习的特点

机器学习的特点主要归纳为以下几点:

  1. 机器学习算法以数据和特征为基础,是数据驱动的科学;
  2. 机器学习的目标是对数据进行预测与分析;
  3. 机器学习以模型方法为中心,并利用统计学习的方法构建模型,并且利用构建好的模型对未知的数据进行预测和分类;
  4. 机器学习是以概率论、统计学、信息论、计算理论、最优化以及计算机科学等多领域交叉的学科,因此要想在机器学习上有所成绩,必须要有深厚的数学基础。

机器学习的对象

机器学习中最重要的概念就是特征,而特征是最后需要输入到模型中进行训练的多维数据向量,它是来自于各种不同类型的数据(如数字、文本、图像、音频、视频等)转换,这个转换的过程就是机器学习与数据挖掘领域很重要的一个步骤:“特征工程”。

机器学习的分类

严格意义上的机器学习算法应该分为四大类:有监督学习、无监督学习、半监督学习、强化学习。

  • 有监督学习
    有监督学习是指进行训练的数据既包含特征向量又包含类别标签信息。也就是说,在训练的时候我们是知道每个样本所示的类别或者回归算法中的结果。这样,我们算法的训练过程就会根据类标对参数进行调整,就好比学习的过程被监督了一样,而不是漫无目的的学习。因此,我们就应该知道监督的意义了:学习的过程有类标作为指导算法参数调整的过程。

  • 无监督学习
    搞清楚了有监督学习的含义,相信大家很容易明白什么叫无监督学习。相对于有监督学习,无监督学习过程中训练数据集只有每个数据实例的特征向量而没有其所属的标签结果。因此,无监督学习算法就不叫作分类,而往往都叫做聚类:“特征相似的聚集在一起”!

  • 半监督学习
    半监督学习其实是一种结合有监督学习和无监督学习的学习方式,它是近年来的研究热点,主要想解决的问题是样本很难收集或者有类标的样本很少,绝大多数的样本缺失类标值的情况。这时候我们无法利用有监督学习直接进行训练,但是我们又想充分利用类标的信息。因此,半监督学习是一种介于有监督和无监督的一种折中方案。
    一、机器学习基础知识
    图2 典型半监督训练过程

  • 强化学习
    所谓强化学习就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大,强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统 RLS(Reinforcement Learning System)如何去产生正确的动作。由于外部环境提供的信息很少,RLS 必须靠自身的经历进行学习。通过这种方式,RLS 在行动-评价的环境中获得知识,改进行动方案以适应环境。

机器学习的要素

李航老师在《统计学习方法》中将机器学习的三要素总结为:模型、策略和算法。其大致含义如下:

  • 模型:其实就是机器学习训练的过程中所要学习的条件概率分布或者决策函数。

  • 策略:就是使用一种什么样的评价,度量模型训练过程中的学习好坏的方法,同时根据这个方法去实施的调整模型的参数,以期望训练的模型将来对未知的数据具有最好的预测准确度。

  • 算法:算法是指模型的具体计算方法。它基于训练数据集,根据学习策略,从假设空间中选择最优模型,最后考虑用什么样的计算方法去求解这个最优模型。

李航老师的总结非常好,但是我个人认为应该再添加一个应该就更加完善了,那就是:特征。因为机器学习界流行的一句话:数据和特征决定了机器学习算法的上界,而模型和算法只是逼近这个上界而已。这句话也充分说明了一个事实:无论你的机器学习算法模型的识别效果多么准确,如果没有好的特征的话,也等于白搭。换句话说,数据和特征确定了以后,算法最好能做到怎么样基本上已经确定了。此时好与坏算法的差别可能就在于谁更接近基于这个数据和特征的效果上限。

因此,我对机器学习算法要素总结为:特征、模型、策略和算法。

机器学习建模过程

模型的求解

假设输入特征变量记为 X,输出变量记为 Y,他们对应的具体取值分别记为 x 和 y,输入变量 X 可以是标量也可以是向量。本系列课程中除非特殊声明,否则特征向量都是列向量,因此输入实例 x 的列向量可以表示为:
一、机器学习基础知识

一、机器学习基础知识

经验风险与结构风险

在《模型的求解》小节中,我们求解模型函数 f(x)的过程使用的原则是经验风险最小化(Empirical Risk Minimization ERM)。实际上在真正的常见算法的实现过程中却使用的是另一种原则,结构风险最小化(Structral Risk Minimization SRM)。

  • 经验风险最小化
    使用《模型的求解》小节中的方法求解出来的最小化损失函数对应的参数 θ 就叫做经验风险最小化。该策略认为经验风险最小的模型就是最优的模型,也即:
    一、机器学习基础知识

其中 F是假设空间。统计学中的极大似然估计(Maximum Likelihood Estimation MLE)就是经验风险最小化的一个典型的例子。当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化与极大似然估计等价(参与文末参考文献[1])。虽然在样本数量足够大的情况下,经验风险最小化求解出来的模型能够取得不错的预测效果,但是当训练数据集也就是样本容量比较小时,基于经验风险最小化训练出来的模型往往容易过拟合。

  • 结构风险最小化
    与经验风险最小化对应的叫做结构风险最小化。结构风险最小化是为了防止过拟合而提出来的一种策略,它与正则化等价。结构风险在经验风险的基础上加上表示模型复杂度的正则化项或者罚项。其定义如下
    一、机器学习基础知识
    其中 J(f)为模型的复杂度,它的值应该随着模型 f 的复杂度的增加而增大,这样才能起到抑制模型复杂度的作用。 λ≥0 是系数,它的作用是起到折中经验风险和模型复杂度的。实践证明,结构风险小的模型往往队训练数据以及未知的测试数据都具有较好的预测效果。

参考文献

[1] 李航. 统计学习方法[M]. 清华大学出版社, 2012. [2] 周志华. 机器学习 : = Machine learning[M]. 清华大学出版社, 2016.