简答题

决策树

决策树如何进行“剪枝”处理?

答:有预剪枝和后剪枝两种方法。预剪枝是指在决策树生成过程中面对每个节点在划分前先进行估计,若当前节点的划分不能带来决策树泛化性能提升,则停止划分并将当前节点作为叶节点。后剪枝是先从训练集生成一颗完整的决策树,然后自底向上地对非叶节点进行考察,若将该节点对应的子树替换为叶节点能带来决策树泛化性能提升,则将该子树替换为叶节点。

试析使用“最小训练误差”作为决策树划分选择的缺陷。

答:我认为可能存在以下问题:

  1. 容易过拟合。最小训练误差作为标准倾向于选择那些能够完美拟合训练数据的模型,这往往会导致模型在新的、未见过的数据上表现不佳。这是因为模型学习到了训练数据中的噪声,而不仅仅是数据背后的真实关系。
  2. 陷入局部最优。仅仅关注最小化当前划分的训练误差,可能会导致整体解决方案达到局部最优,而不是全局最优。
  3. 数据不平衡。当数据集中某些类别的样本远多于其他类别时,使用最小训练误差作为标准可能会导致决策树偏向于多数类。这种情况下,模型可能会忽略那些对整体性能贡献较小但对少数类别非常重要的特征。

试证明对于不含冲突数据(即特征向量完全相同但标记不同)的训练集,必存在与训练集一致(即训练误差为0)的决策树。

答:首先根据决策树的定义和构造方式,构造决策树从根节点开始,递归地选择最优属性进行划分,直到满足以下任一条件为止:

  1. 所有的样本都属于同一个类别,无需进一步划分。
  2. 没有剩余的属性可以用于进一步划分样本,此时,将这些样本中最多的类别作为该叶节点的类别。
  3. 没有剩余的样本,这种情况下,通常将父节点样本中最多的类别作为该叶节点的类别。

在题目的假设中,由于不含有冲突数据,因此不存在任何两个样本在所有属性上都相同而类别标签不同。这意味着总是可以通过足够细致的划分,将每个叶节点对应到一组具有相同特征向量且标记相同的样本集合。

此外,由于不存在冲突数据,因此此过程可以重复进行直到到每个叶节点的样本都具有相同的类别标签。通过这种方法,能够保证每个叶节点都精确地对应于具有相同特征向量和相同标记的样本集合,从而实现训练误差为 0

贝叶斯

简述朴素贝叶斯的优缺点

优点:

  • 简单,易于实现,计算量小,计算效率高
  • 所需要的样本数较少
  • 善于处理分类问题

缺点:

  • 现实世界中独立性假设往往不成立
  • 模型过于简单,拟合能力差。

线性模型

试分析在什么情况下,式 不必考虑偏置项

解:以下⼏种情况

  1. 数据在预处理的的时候本身已经中⼼化
  2. 特征⼯程中,特征空间已经包含常数项
  3. L1 正则化
  4. 某些应⽤的先验知识已经表明函数必然经过原点

梯度下降法找到的⼀定是下降最快的⽅向么

解:梯度下降法确实能够找到局部某点上下降最快的⽅向,但是不代表全局最优的⽅向。

判断下列说法是否正确,并说明理由。

  1. 逻辑回归是监督机器学习的算法.
  2. 逻辑回归主要⽤来做回归。
  3. 在训练逻辑回归模型之前,对特征进⾏标准化是必须的。

解:逻辑回归确实是监督机器学习的算法,但是其本质是分类任务⽽不是回归。对特征进⾏标准化(或归⼀化)不是必须的,但这样做通常是推荐的做法,特别是当特征的量级相差很⼤时。

使⽤ OvR 和 MvM 将多分类任务分解为⼆分类任务求解时,试述为何⽆需专⻔针对类别不平衡性进⾏处理

因为 OvR 或者 MvM 在输出结果阶段,是对各个⼆分类器的结果进⾏汇总,汇总的这个过程就会消除不平衡带来的影响(因为总和总是1)。

集成学习

试析 Bagging 通常为何难以提升朴素贝叶斯分类器的性能

朴素贝叶斯分类器通常具有低方差和高偏差的特点,而 Bagging 主要关注降低方差,在易受样本扰动的学习器上效果明显。因此效果不好。

Bagging 假设基分类器之间应该是相互独立的,但朴素贝叶斯分类器的基本假设是属性之间的独立性。

Bagging 通常适用于样本容量较大的情况,但在小样本情况下,由于每个子数据集的训练样本数量有限,可能会导致基分类器之间的差异性不足以产生有效的模型多样性,进而限制了 Bagging 的效果。

如何增强集成学习中个体学习器的多样性

  • 数据样本扰动:给定初始数据集,可从中产生不同的数据子集,再利用不同的数据子集训练不同的个体学习器。数据样本扰动通常是基于采样法。例如 Bagging 中使用的自助采样,在 AdaBoost 中使用序列采样
  • 输入属性扰动:训练样本通常由一组属性描述,不同的子空间提供了观察数据的不同视角。从不同子空间训练出的个体学习器必然有所不同。著名的随机子空间算法就依赖于输入属性扰动,该算法从初始属性集中抽取出若干个属性子集,再基于每个属性子集训练一个基学习器。
  • 输出表示扰动:基本思路是对输入表示进行操纵以增强多样性。可对训练样本的类标记稍作变动,如“翻转法”随机改变一些训练样本的标记;也可对输出表示进行转化,如“输出调制法”将分类样本转化为回归输出后构建个体学习器;还可将原任务拆解为多个可同时求解的子任务。
  • 算法参数扰动:基学习算法一般都有参数需要进行设置,例如神经网络的隐藏层神经元数,初始连接权值等,通过随机设置不同的参数,产生差别较大的个体学习器。