移动平台深度神经网络实战:原理、架构与优化
上QQ阅读APP看书,第一时间看更新

2.1 机器学习的主要任务

机器学习算法种类繁多,但是归结起来最终完成的工作其实也就是那么几种,本节就介绍一下机器学习的一些主要任务。

机器学习中最重要的应该是监督学习。我们知道大部分监督学习方法分为训练和预测两个步骤,训练时需要使用一组训练样本,每个训练样本包含一组特征和标注,然后使用特定方法生成一个模型。在预测阶段,模型根据输入特征输出一个对应的值。根据模型输出类型差异可以将监督学习划分为分类和回归,这也是机器学习中最常见的两类任务了。

分类的输出是一个或者多个离散的值,如果每次输出一个离散值,那么就是单标签分类,比如通过人的特征预测性别就是一个单标签分类任务。如果每次需要输出一组离散的值,那么就是多标签分类,最典型的例子就是预测电影类型,我们可以将同一部电影归类到不同类别下,这种分类不是非此即彼的。

回归的输出是一个连续值,这种任务更通俗的说法就是“拟合”。从几何意义上来说就是寻找一个拟合样本点的超平面(如果样本的特征和标注是n维,那么样本特征就是n - 1维),比如数学里学过的最简单的线性回归就是一种回归任务。

除了监督学习外,还有一类学习方法是无监督学习。无监督学习训练样本只需要特征,不需要标注,根据具体学习任务不同,输出五花八门。无监督学习常见的任务有聚类、关联分析、特征降维、特征选择和异常检测等。

聚类没有所谓的训练和预测过程,直接根据输入样本输出分好组的样本集合,每组内的样本是聚类算法认为应该属于同一类的。聚类算法可以发现部分样本大概属于同一类别,但是聚类之后需要我们为这些分类人为标注标签。虽然聚类效果不如分类精准,但是可以作为分类标注的前期准备,因此往往使用在监督学习的数据预处理中。如果聚类算法准确率足够高,那我们就可以在聚类结果的基础上调整分组与标注,为标注工作节省大量的人力成本。

关联分析的训练样本比较特殊,每一个样本中包含的是在该样本中出现的项目,目的是分析样本中项目的关联关系。关联分析一般是输出那些会同时出现的项目。如果只是预测项目是否出现,那么一般就是频繁项集任务;如果还要考虑项目出现的因果关系,那么就需要采用更复杂的关联分析算法。

特征降维的输出是降维后的样本特征。特征降维的本质是将原始特征空间映射到一个低维度的特征空间中,降维后的特征空间必须能够完整表达原始特征空间,也就是说每个原始特征都会在降维后的特征空间中找到对应的特征点。特征降维,一方面可以降低计算复杂度,另一方面可以提高机器学习模型的泛化能力,提高模型预测精度。

特征选择和特征降维很相似,只不过特征选择往往是直接过滤掉不要的特征,保留必要的特征,而特征降维本质上会保留所有原始特征。特征选择的目的是提高模型预测精度。

异常检测的目的是从输入数据中找出可能存在异常的特征,如果存在则需要剔除这些异常数据。

除了传统的监督学习和无监督学习外还有一类任务是强化学习。强化学习和前面提到的都不太一样,一般是指在没有标注的情况下,让学习器对预测的结果进行评估的方法。通过这样的自我评估,学习器为得到正确结果将会不断地进行学习。但是,强化学习的目的最后还是逃不过上面提过的那些任务,比如回归、分类、聚类、特征选择和降维等。