机器学习

机器学习比较
从大量现象中提取反复出现的规律与模式。这一过 程在人工智能中的实现就是机器学习。

机器学习中,数据并非通常意义上的数量值,而是对于对象某些性质的描述。被描述的性 质叫作属性,属性的取值称为属性值,不同的属性值有序排列得到的向量就是数据,也叫实 例。

根据线性代数的知识,数据的不同属性之间可以视为相互独立,因而每个属性都代表了一个 不同的维度,这些维度共同张成了特征空间

每一组属性值的集合都是这个空间中的一个点,因而每个实例都可以视为特征空间中的一个 向量,即特征向量。

在实际的机器学习任务中,输出的形式可能更加复杂。根据输入输出类 型的不同,预测问题可以分为以下三类。

  • 分类问题:输出变量为有限个离散变量,当个数为 2 时即为最简单的二分类问题;
  • 回归问题:输入变量和输出变量均为连续变量;
  • 标注问题:输入变量和输出变量均为变量序列

一个算法既不可能和所有训练数据符合得分毫不差,也
不可能对所有测试数据预测得精确无误。因而误差性能就成为机器学习的重要指标之一。

误差可以进一步分为训练误差和测试误差两类。

  • 训练误差指的是学习器在训练数据集上的误差,也称经验误差;
  • 测试误差指的是学习器在新样本上的误差,也称泛化误差。

测试误差则反映了学习器对未知的测试数据集的预测能力,是机器学习中的重 要概念。实用的学习器都是测试误差较低,即在新样本上表现较好的学习器

过拟合出现的原因通常是学习时模型包含的参数过多,从而导致训练误差较低但测试误差较 高。

与过拟合对应的是欠拟合。如果说造成过拟合的原因是学习能力太强,造成欠拟合的原因就 是学习能力太弱,以致于训练数据的基本性质都没能学到。如果学习器的能力不足,甚至会 把黑猩猩的图像误认为人,这就是欠拟合的后果。

在模型选择中,为了对测试误差做出更加精确的估计,一种广泛使用的方法是交叉验证。交 叉验证思想在于重复利用有限的训练样本,通过将数据切分成若干子集,让不同的子集分别 组成训练集与测试集,并在此基础上反复进行训练、测试和模型选择,达到最优效果。

调参,也就是对算法参数进行设定,是机 器学习中重要的工程问题,这一点在今天的神经网络与深度学习中体现得尤为明显。

在人类的学习中,有的人可能有高人指点,有的人则是无师自通。在机器学习中也有类似的
分类。根据训练数据是否具有标签信息,可以将机器学习的任务分成以下三类。

  • 监督学习:基于已知类别的训练数据进行学习;
  • 无监督学习:基于未知类别的训练数据进行学习;
  • 半监督学习:同时使用已知类别和未知类别的训练数据进行学习。

根据学习方法的不同,监督学习可以分为生成方法与判别方法两类。

线性回归

  • 线性回归假设输出变量是若干输入变量的线性组合,并根据这一关系求解线性组合中的最优系数;
  • 最小二乘法可用于解决单变量线性回归问题当误差函数服从正态分布时,它与最大似然估计等价;
  • 多元线性回归问题也可以用最小二乘法求解,但极易出现过拟合现象;
  • 岭回归和LASSO回归分别通过引入二范数惩罚项和一范数惩罚项抑制过拟合。

朴素贝叶斯方法

  • 朴素贝叶斯方法利用后验概率选择最佳分类,后验概率可以通过贝叶斯定理求解;
  • 朴素贝叶斯方法假定所有属性相互独立,基于这一假设将类条件概率转化为属性条件概率的乘积;
  • 朴素贝叶斯方法可以使期望风险最小化;
  • 影响朴素贝叶斯分类的是所有属性之间的依赖关系在不同类别上的分布。

逻辑回归

  • 逻辑回归模型是对线性回归的改进,用于解决分类问题;
  • 逻辑回归输出的是实例输入每个类别的似然概率,似然概率最大的类别就是分类结果;
  • 在一定条件下,逻辑回归模型与朴素贝叶斯分类器是等价的;
  • 多分类问题时可以通过多次使用二分类或者Softmax回归解决。

决策树

  • 决策树是包含根节点、内部节点和叶节点的树结构,通过判定不同属性的特征来解决分类问题
  • 决策树的学习过程包括特征选择、决策树生成、决策树剪枝三个步骤;
  • 决策树生成的基础是特征选择,特征选择的指标包括信息增益、信息增益比和基尼系数;
  • 决策树的剪枝策略包括预剪枝和后剪枝。

支持向量机

  • 线性可分支持向量机通过硬间隔最大化求出划分超平面,解决线性分类问题;
  • 线性支持向量机通过软间隔最大化求出划分超平面,解决线性分类问题
  • 非线性支持向量机利用核函数实现从低维原始空间到高维特征空间的转换,在高维空间上解决非线性分类问题
  • 支持向量机的学习是个凸二次规划问题,可以用SMO算法快速求解

集成学习

  • 集成学习使多个学习器来获得比每个单独学习器更好的预测性能,包括序列化方法和并行化方法两类;
  • 多样性要求集成学习中的不同个体学习器之间具有足够的差异性;
  • 序列化方法采用Boosting机制,通过重复使用概率分布不同的训练数据实现集成,可以降低泛化误差中的偏差;
  • 并行化方法采用Bagging机制,通过在训练数据中多次自助抽取不同的采样子集实现集成,可以降低泛化误差中的方差。

聚类分析

  • 聚类分析是一种无监督学习方法,通过学习没有分类标记的训练样本发现数据的内在性质和规律;
  • 数据之间的相似性通常用距离度量,类内差异应尽可能小,类间差异应尽可能大;
  • 根据形成聚类方式的不同, 聚类算法可以分为层次聚类、原型聚类、分布聚类、密度聚类等几类;
  • 聚类分析的一个重要应用是对用户进行分组与归类。

降维分析

  • 主成分分析利用正交变换将可能存在相关性的原始属性转换成一组线性无关的新属性,并通过选择重要的新属性实现降维
  • 主成分分析的解满足最大方差和最小均方误差两类约束条件,因而具有最大可分性和最近重构性;
  • 特征选择则是选取原始特征中的一个子集用于学习任务,是另一种主要的降维技术;
  • 特征选择的关键问题是对特征子集的评价, 主要的特征选择算法包括包裹法、过滤法和嵌入法。