机器学习基础考试复习

机器学习基础考试复习

只适用于媒工duhui的机器学习课

西瓜书学习笔记

中国大学MOOC-《机器学习》_视频课程及pdf笔记 提取码:jf10

中国大学MOOC-《模式识别及机器学习》_视频课程及pdf笔记 提取码:2g76

author: 梁君牧

简答题:

  1. SVM方法中支持平面上把两类类别分别分开来的超平面的向量点称作支撑向量

  2. K-medoids算法不通过计算簇中所有样本的平均值得到簇的中心,而是通过选取原有样本中的样本点作为代表对象代表这个簇。

  3. 函数的梯度方向是函数变化最快的方向

  4. 信息增益表示得知特征X信息而使得类Y的信息不确定性减少的程度。

  5. CART决策树方法对分类树用基尼指数最小化准则进行特征选择,生成二叉树。

  6. 回归和分类都是有监督学习问题。

  7. C4.5决策树生成方法中,用信息增益比来选择特征。

  8. 朴素贝叶斯分类模型假设问题的特征之间都是互不相关的

  9. Kmeans算法通过计算簇中所有样本的平均值得到簇的中心。

  10. 人工神经网络是基于人类神经网络的基本原理,在理解和抽象人脑和外界刺激响应机制的基础上,以网络拓扑知识为理论基础,模拟人脑神经系统实现复杂信息处理机制的数学模型,具有自学能力、联想存储能力以及高速寻优能力。

  11. 决策树的关键,即在当前状态下选择哪个特征作为分类依据。

  12. 首先构造完整的决策树,允许树过度拟合训练数据,然后对那些置信度不够的结点子树用叶子结点来代替,该叶子的类标号用该结点子树中最频繁的类标记,该操作称为后剪枝

问答题

  1. 监督学习、无监督学习的概念

    • 监督学习:对具有标记的训练样本进行学习来建立从样本特征到标记的映射。

    • 无监督学习:对没有标记的训练样本进行学习,发掘和揭示数据集本身潜在的结构与规律。

  2. 聚类的方法有哪些? 聚类笔记

    1. 原型聚类

      • K-Means聚类

      • LVQ聚类 (学习向量量化)

      • 高斯混合聚类

    2. 密度聚类

      • DBSCAN聚类

      • OPTICS聚类

      • DENCLUE聚类

    3. 层次聚类

      • BIRCH聚类

      • CURE聚类

    4. 基于网格的聚类

    5. 基于模型的聚类

      • 基于概率模型的聚类

      • 基于神经网络模型的聚类

  3. 聚类分析方法分类?

    1. 基于划分的方法;

    2. 基于密度的方法;

    3. 基于层次的方法;

    4. 基于网络的方法;

    5. 基于模型的方法;

  4. **k近邻算法的分类决策规则? **

  • K近邻算法的分类决策规则是多数表决规则,即由输入实例的kk个近邻的训练实例中的多数类决定输入实例的类别。
  1. K-Means的主要优缺点及针对缺点的优化方案 (可能出简答题)

    • 优点:

      1. 算法简单、快速。

      2. 对处理大数据集,该算法是相对可伸缩的和高效率的。

      3. 算法尝试找出使平方误差函数值最小的k个划分。

    • 缺点:

      1. K-means聚类算法只有在簇的平均值被定义的情况下才能使用。

      2. 要求用户必须事先给出要生成的簇的数目k。

      3. 对初值敏感,不同的起点结果不同,可能导致算法陷入局部最优。(优化方案:K-Means++算法——初始的聚类中心之间的相互距离要尽可能的远。)

      4. 不适合于发现非凸面形状的簇,或者大小差别很大的簇。(优化方案:肘部算法)

      5. 对于噪声和孤立点数据敏感。

  2. 交叉校验(可能出简答题)

    • 什么是交叉验证法?
  3. 交叉校验的基本思想就是将原始数据进行分组,一部分做为训练集来训练模型,另一部分做为测试集来评价模型。

  • 为什么用交叉验证法?

    1. 交叉验证用于评估模型的预测性能,尤其是训练好的模型在新数据上的表现,可以在一定程度上减小过拟合。

    2. 还可以从有限的数据中获取尽可能多的有效信息。

    • 主要有哪些方法?

      1. 留出法 :将数据集D划分为两个互斥的集合,一个作为训练集S,一个作为测试集T,满足D=S∪T且S∩T=∅

      2. k 折交叉验证:将原始数据集随机分成K份,K-1份数据用于模型训练,剩下一份用于测试模型。重复上述步骤K次,得到K个模型和评估结果,最终返回k次测试结果的均值。

      3. 自助法:给定包含m个样本的数据集D,每次随机从D 中挑选一个样本,将其拷贝放入D’,然后再将该样本放回初始数据集D 中,使得该样本在下次采样时仍有可能被采到。重复执行m 次,就可以得到了包含m个样本的数据集D’。

  1. 简述机器学习的主要分类及各自的作用 (可能出简答题)

    • 机器学习大致可以分为监督学习、非监督学习、半监督学习、强化学习

    • 监督学习:对具有标记的训练样本进行学习来建立从样本特征到标记的映射。

    • 非监督学习: 对没有标记的训练样本进行学习,发掘和揭示数据集本身潜在的结构与规律。

    • 半监督学习: 对具有标记但部分数据会有缺失情况的训练样本,进行学习来建立从样本特征到标记的映射。

    • 强化学习:通过观察来学习做成如何的动作。每个动作都会对环境有所影响,学习对象根据观察到的周围环境的反馈来做出判断。

  2. 简述感知机的基本原理?(可能出简答题)

    • 感知机是二分类的线性分类模型,属于监督学习算法。输入为实例的特征向量,输出为实例的类别(取+1和-1)。感知机旨在求出将输入空间中的实例划分为两类的分离超平面。为求得超平面,感知机导入了基于误分类的损失函数,利用梯度下降法对损失函数进行最优化求解。
  3. K-Medoids算法对K-Means算法做了哪些改进?

    • 与K-means相比 , K-mediods算法对于噪声不那么敏感,这样对于离群点就不会造成划分的结果偏差过大,少数数据不会造成重大影响。
  4. 线性回归的过程是什么?举例说明其应用。

  • 线性回归的目标是找到一个参数θ,使得h(x) = θ00x01x1+...++θnx对数据拟合得最好。其过程就是最小化损失函数的过程。

  • 例子:房价预估

  1. 简述机器学习的主要任务及各自的作用
  • 机器学习的主要任务分为分类回归

  • 分类:是指将数据映射到预先定义好的群组或类。分类算法要求基于数据属性值来定义类别,通常通过已知所属类别的数据的特征来描述类别。

  • 回归:用属性的历史数据预测未来趋势。回归首先假设一些已知类型的函数可以拟合目标数据,然后利用某种误差分析确定一个与目标数据拟合程度最好的函数。

计算题

  1. 求函数f (x,y) = x3+3ln(y+1)的梯度向量。

    • \[\frac{\partial f}{\partial x} = 3x^2 , \frac{\partial f}{\partial y} = \frac{3}{y+1} \]

  2. 使用ID3方法生成相应的决策树。(见↓专项点整理-决策树例子)

  3. 使用朴素贝叶斯分类器进行分类。



25道选择题

解析是自己整理的,如果有误,还请见谅。

  1. 回归和分类都是有监督学习问题( A )。

    A.对 B.错 C.不确定

  2. KNN是一种聚类方法( B )。

    A.对 B.错 C.不确定

  • 第2题 解析
    | KNN | K-Means |
    | ------------------------------------------------------------ | ------------------------------------------------------------ |
    | 目的是为了确定一个点的分类。 | 目的是为了确定一个点的分类。 |
    | KNN是分类算法。 | K-Means是聚类算法。 |
    | 监督学习,分类目标事先已知。 | 非监督学习,将相似数据归到一起从而得到分类,没有外部分类。 |
    | 训练数据集有label,已经是完全正确的数据。 | 训练数据集无label,是杂乱无章的,经过聚类后才变得有点顺序,先无序,后有序。 |
    | K的含义:“k”是用来计算的相邻数据数。来了一个样本x,要给它分类,即求出它的y,就从数据集中,在x附近找离它最近的K个数据点,这K个数据点,类别c占的个数最多,就把x的label设为c。 | K的含义:“k”是类的数目。K是人工固定好的数字,假设数据集合可以分为K个簇,由于是依靠人工定好,需要一点先验知识。 |
  1. 以下说法错误的一项是( C )。
  A.负梯度方向是使函数值下降最快的方向
  B.当目标函数是凸函数时,梯度下降法的解是全局最优解
  C.梯度下降法比牛顿法收敛速度快
  D.拟牛顿法不需要计算Hesse矩阵
 '''
 解析:
   牛顿法需要二阶求导,梯度下降法只需一阶,因此牛顿法比梯度下降法更快收敛。
 '''
  1. 关于神经网络,下列说法正确的是?( C )
  A.增加网络层数,不会增加测试集分类错误率
  B.增加网络层数,一定会增加训练集分类错误率
  C.减少网络层数,可能会减少测试集分类错误率
  D.减少网络层数,一定会减少训练集分类错误率
 '''
 解析:
 	A.增加了网络参数相当于增加了训练的参数,可能会导致过拟合,增加测试集分类错误率。错误
 	B.增加了网络参数相当于增加了训练的参数,可能减少训练集分类错误率;也有可能会导致过拟合,增大训练集分类错误率。错误
 	C.减少网络层数 可能是在原来过拟合的网络上减少了训练的参数,降低了过拟合程度,减少了测试集分类错误率。正确
 	D.减少网络层数相当于减少了训练的参数,可能会导致欠拟合,增大训练集分类错误率。错误
 '''
  1. 下面哪句话是正确的?( C )
  A.机器学习模型的精准度越高,则模型的性能越好
  B.增加模型的复杂度,总能减小测试样本误差
  C.增加模型的复杂度,总能减小训练样本误差
  D.以上说法都不对
 '''
 解析:
 	A.机器学习模型的精准度(Precision)越高,模型性能不一定越好,还要看模型的召回率(Recall),特别是在正负样本分布不均的情况下。一般使用 F1分数 评判标准。F1分数 可以看作是模型精确率和召回率的一种调和平均。错误
 	B.增加模型的复杂度,可能会导致过拟合,增大测试样本误差。错误
 	C.增加模型的复杂度,总能减小训练样本误差。即使出现过拟合,其表现是训练样本误差减小,而测试样本误差增大。正确
 '''
  1. 如下图所示,对同一数据集进行训练,得到3个模型。对于这3个模型的评估,下列说法错误的是?( B )

    1577424138

  A.第一个模型的训练误差最大
  B.第三个模型性能最好,因为其训练误差最小
  C.第二个模型最稳健,其在测试集上表现应该最好
  D.第三个模型过拟合
 '''
 解析:
 	第一个模型欠拟合,训练误差最大。A正确
 	第二个模型训练的刚刚好,其在测试集上表现应该最好。C正确
 	第三个模型过拟合,其在训练集误差小,而测试集误差大。D正确,B错误
 '''
  1. 正则化(regularization)的作用不包括以下哪个? ( B )
  A.防止过拟合  B.去除噪点  C.降低模型复杂度
 '''
 解析:
 	正则化可以简单理解为降低模型复杂度的一种方法。降低了模型复杂度,自然就不容易出现过拟合的情况。
 '''
  1. 毕业典礼后,某宿舍三位同学把自己的毕业帽扔了,随后每个人随机地拾起帽子,三个人中没有人选到自己原来带的帽子的概率是( B )。
  A.1/2  B.1/3  C.1/4  D.1/6 
'''
解析:
	假设3个人分别为1号,2号,3号。总的来说1号可以任意选3个帽子,2号可以选1号剩下的2个帽子,而3号只能选2号剩下的最后一个帽子,因此总数3x2x1=6种,符合条件的:1号可以选2号和3号帽子,当1号选了2号字后,2号只能选3号,而3号只能选3号,当1号选3号之后,2号只能选1号,3号只能选2号,只有这2种情况符合要求,因此概率为 2 / 6 = 1 /3.
'''
  1. 在其他条件不变的前提下,以下哪种做法容易引起机器学习中的过拟合问题( D )。
  A.增加训练集量
  B.减少神经网络隐藏层节点数
  C.删除稀疏的特征
  D.SVM算法中使用高斯核/RBF核代替线性核
'''
解析:
	D.SVM使用线性核是即为线性分类器,当换成高斯核时即转换我非线性分类器,能够更好的训练数据,而这样带来的风险就是容易引起过拟合,其他选项都能够降低过拟合的风险。
'''
  1. 朴素贝叶斯是一种特殊的Bayes分类器,特征变量是X.类别标签是C,它的一个假定是( C )。
  A.各类别的先验概率P(C)是相等的
  B.以0为均值,sqrt(2)/2 为标准差的正态分布
  C.特征变量X的各个维度是各类别条件独立随机变量
  D.P(X|C)是高斯分布
'''
解析:
	朴素贝叶斯的“朴素” 意思就是 各类别条件独立随机变量。C正确
	各类别的先验概率P(C)一般由领域专家制订或者训练所得,不一定相等。A错误
'''
  1. 点击率问题是这样一个预测问题, 99%的人是不会点击的,而1%的人是会点击进去的,所以这是一个非常不平衡的数据集假设,现在我们已经建了个模型来分类,而且有了99%的预测准确率,我们可以下的结论是( B )。
  A.模型预测准确率已经很高了,我们不需要做什么了
  B.模型预测准确率不高,我们需要做点什么改进模型
  C.无法下结论
  D.以上都不对
'''
解析:
  类别不均衡的情况下,不能用准确率做分类评估指标,因为如果训练所得的分类结果全判断为不会点,准确率也是99%,但是这个分类器一点用都没有。
'''
  1. 以下说法哪些是正确的? ( B )
  A.在使用KNN算法时,k通常取奇数。
  B.KNN是有监督学习算法。
  C.在使用KNN算法时,k取值越大,模型越容易过拟合。
  D.KNN和k-means都是无监督学习算法。
'''
解析:
  A选项,k是可以取偶数的。
  C选项,K值较小,则模型复杂度较高,容易发生过拟合,学习的估计误差会增大,预测结果对近邻的实例点非常敏感。K值较大可以减少学习的估计误差,但是学习的近似误差会增大,与输入实例较远的训练实例也会对预测起作用,使预测发生错误,k值增大模型的复杂度会下降。
  D选项,KNN是监督学习算法。
'''
  1. K-means是一种聚类方法( A )。
  A.对  B.错  C.不确定;
'''
解析:
	同第2题解析。
'''
  1. 机器学习中做特征选择时,可能用到的方法有? ( D )

    A.信息增益
    B.平均互信息
    C.期望交叉熵
    D.以上都有

  2. 下列属于无监督学习的是( A )。

    A.k-means
    B.SVM
    C.最大熵
    D.CRF

  3. 想象一下,机器学习中有1000个输入特征和1个目标特征,必须根据输入特征和目标特征之间的关系选择100个最重要的特征。你认为这是减少维数的例子吗? ( A )

    A是 B.不是

  4. 监狱人脸识别准入系统用来识别待进入人员的身份,此系统- - -共包括识别4种不同的人员:狱警,小偷,送餐员,其他。下面哪种学习方法最适合此种应用需求 ( B )。

    A.二分类问题
    B.多分类问题
    C.层次聚类问题
    D.k-中心点聚类问题
    E.回归问题

  5. 下列不是SVM核函数的是( D )。

  A.多项式核函数
  B.Sigmoid核函数
  C.径向基核函数
  D.logistic核函数
'''
解析:
  SVM核函数包括线性核函数、多项式核函数、径向基核函数、高斯核函数、幂指数核函数、拉普拉斯核函数、ANOVA核函数、二次有理核函数、多元二次核函数、逆多元二次核函数以及Sigmoid核函数。
'''
  1. 对于线性回归,我们应该有以下哪些假设? ( D )
  1.找到离群点很重要,因为线性回归对离群点很敏感
  2.线性回归要求所有变量必须符合正态分布
  3.线性回归假设数据没有多重线性相关性
  A.1和2
  B.2和3
  C.1,2和3
  D.以上都不是
'''
解析:
    第1个假设, 离群点要着重考虑,第一点是对的。
    第2个假设, 正态分布不是必须的. 当然, 如果是正态分布, 训练效果会更好。
    第3个假设, 有少量的多重线性相关性也是可以的, 但是我们要尽量避免。
    所以真要选,应当是1。不过这里选 D
'''
  1. 以下描述正确的是( C )。
  A.SVM是这样一个分类器,它寻找具有最小边缘的超平面,因此它也经常被称为最小边缘分类器。
  B.在聚类分析当中,簇内的相似性越大,簇间的差别越大,聚类的效果就越差。
  C.在决策树中,随着树中结点输变得太大,即使模型的训练误差还在继续降低,但是检验误差开始增大,这是出现了模型拟合不足的原因。
  D.聚类分析可以看作是一种非监督的分类。
  1. 关于正态分布,下列说法错误的是( C )。
  A.正态分布具有集中性和对称性
  B.正态分布的均值和方差能够决定正态分布的位置和形态
  C.正态分布的偏度为0,峰度为1
  D.标准正态分布的均值为0,方差为1
'''
解析:
	峰度:是对Sample构成的分布的峰值是否突兀或是平坦的描述。峰度用于度量x偏离某分布的情况,正态分布的峰度为3
	偏度:是对Sample构成的分布的对称性状况的描述。偏度用于衡量x的对称性,正态分偏度等于0。
'''
  1. 过拟合只在监督学习中出现,在非监督学习中,没有“过拟合”,这是( B )。
  A.对的  B.错的
'''
解析:
	评估无监督学习方法可以通过无监督学习的指标,如:我们可以评估聚类模型通过调整兰德系数。
	过拟合是训练集上表现很好,但是在测试集上表现很差,泛化性能差。无监督学习也是有训练集和测试集,也有过拟合的概念。
'''    
  1. 对于k折交叉验证,以下对k的说法正确的是( D )。
  A.k越大,不一定越好,选择大的k会加大评估时间
  B.选择更大的k,就会有更小的bias (因为训练集更加接近总数据集)
  C.在选择k时,要最小化数据集之间的方差
  D.以上所有
'''
解析:
	k越大, bias越小, 训练时间越长. 在训练时, 也要考虑数据集间方差差别不大的原则. 比如, 对于二类分类问题, 使用2-折交叉验证, 如果测试集里的数据都是A类的, 而训练集中数据都是B类的, 显然, 测试效果会很差。
'''

泛化误差可以分解为偏差(Bias)方差(Variance)噪声(Noise)

img

  1. 假设现在只有两个类,这种情况下SVM需要训练几次? ( A )

    A.1 B.2 C.3 D.4

  2. 卷积神经网络中通常包含卷积层和全连接层,它们的主要作用分别是( B )

    A. 进行分类、提取特征
    B. 提取特征、进行分类
    C. 提取特征、提取特征

  3. 下列哪些不适合用来对高维数据进行降维( C )

  A. LASSO
  B. 主成分分析法
  C. 聚类分析
  D. 小波分析法
  E. 线性判别法
  F. 拉普拉斯特征映射
'''
解析:
  聚类分析不能用来对高维数据进行降维。
'''
  1. 一般k-NN最近邻方法在( B )的情况下效果较好
  A. 样本较多但典型性不好
  B. 样本较少但典型性好
  C. 样本呈团状分布  
  D. 样本呈链状分布
'''
解析:
  K近邻算法主要依靠的是周围的点,因此如果样本过多,那肯定是区分不出来的。因此应当选择B
  样本呈团状颇有迷惑性,这里应该指的是整个样本都是呈团状分布,这样kNN就发挥不出其求近邻的优势了,整体样本应该具有典型性好,样本较少,比较适宜。
'''
  1. 模型的高bias是什么意思, 我们如何降低它 ?
  A. 在特征空间中减少特征
  B. 在特征空间中增加特征
  C. 增加数据点
  D. B和C
  E. 以上所有
'''
解析:
  bias表示模型预测值的均值与样本实际值的差距,它反映了模型对样本数据的拟合能力。bias越低,说明模型越复杂,参数越多,对样本数据的拟合效果越好,但是容易过拟合;bias越高,说明模型越简单,参数太少,对样本数据的拟合效果不好,这就是欠拟合。
  降低bias的方法是增加数据的特征维数,从而实现模型参数的增加,提高模型复杂度,增强模型对样本数据的拟合能力,拟合能力越高bias越低。
  增加样本数量并没有增加模型训练时的参数,所以不会提高模型复杂度,也就无法降低bias,C错误。在特征空间中增加特征就是增加样本数据的输入特征维数,所以A错误,B正确。
'''

专项知识点整理

(一)K-Means聚类

  1. 算法思路
    • 首先随机指定类中心,根据样本与类中心的远近划分类簇,接着重新计算类中心,迭代直至收敛

(二)K近邻算法

  1. 算法思路 KNN笔记

    • 给定某个测试样本,kNN基于某种距离度量在训练集中找出与其距离最近的k个带有真实标记的训练样本,然后给基于这k个邻居的真实标记来进行预测。分类任务采用投票法,回归任务则采用平均法。
  2. 核心思想

    • kNN算法的核心在于k值的选取以及距离的度量。k值选取太小,模型很容易受到噪声数据的干扰,例如:极端地取k=1,若待分类样本正好与一个噪声数据距离最近,就导致了分类错误;若k值太大, 则在更大的邻域内进行投票,此时模型的预测能力大大减弱,例如:极端取k=训练样本数,就相当于模型根本没有学习,所有测试样本的预测结果都是一样的。一般地我们都通过交叉验证法来选取一个适当的k值。
  3. 优点与缺点

    • 优点:

      1. 简单、有效、复杂度低,无须参数估计,无须训练;

      2. 精度高,对噪声不敏感;

      3. 适合于多分类问题,表现性能比SVM效果更好;

    • 缺点:

    1. 对计算样本分类时,计算量大,每个待分类的样本要与全体已知样本计算距离,才能得到k个最邻近点;

    2. 可解释性差;

    3. 样本不均衡时,如果一个类样本容量很大,而其他样本容量很小时,有可能导致当输入一个新样本时,该样本的k个邻近样本中很可能该类占大多数;

    4. k值的选取对分类效果有较大影响;

  4. K近邻算法的改进

  5. KNN算法步骤


(三)决策树

(1) 决策树模型与决策树学习

  1. 定义:分类决策树模型是一种描述对实例进行分类的树形结构。决策树由节点(node)和有向边(directed edge)组成。节点有两种类型:内部节点和叶节点。内部节点表示一个特征或属性,叶节点表示一个类。用决策树分类,从根节点开始,对实例的某一特征进行测试,根据测试结果,将实例分配到其子结点;这时,每一个子结点对应着该特征的一个取值。如此递归的对实例进行测试并分类,直至达到叶节点。最后将实例分到叶结点的类中。

  2. 本质:决策树学习本质上是从训练数据集中归纳出一组分类规则。与训练数据集不相矛盾的决策树(即能对训练数据进行正确分类的决策树)可能有多个,也可能一个也没有。我们需要一个与训练数据矛盾较小的决策树,同时具有很好的泛化能力。

  3. 决策树学习的损失函数通常是 正则化的极大似然函数 。

    决策树学习的目标是 以损失函数为目标函数的最小化

  4. 决策树学习的算法通常是一个 递归的选择最优特征,并根据该特征对训练数据进行分割,使得对各个子数据集有一个最好的分类过程。开始,构建根结点,将所有训练数据都放在根结点。选择一个最优特征,按照这个特征将训练数据集分割成子集,使得各个子集有一个在当前条件下最好的分类。如果这些子集已经能够被基本正确分类,那么构建叶结点,并将这些子集分到所对应的叶结点中去;如果还有子集不能被基本正确分类,那么就对这些子集选择新的最优特征,继续对其进行分割,构建相应的结点。如此递归的进行下去,直至所有训练数据子集被基本正确分类,或者没有合适的特征为止。最后每个子集都被分到叶结点上,即有了明确的类。这就生成一颗决策树。
    以上方法生成的决策树可能对训练数据有很好的分类能力,但对未知的测试数据可能过拟合。需要对已生成的树自下而上进行剪枝,将树变得更简单,从而使它具有更好的泛化能力。具体的就是去掉过于细分的叶结点,使其退回到父结点,甚至更高的结点,然后将其改为新的叶结点。
    若特征较多,在决策树学习开始的时候,对 特征进行选择,只留下对训练数据有足够分类能力的特征。决策树的生成只考虑局部最优
    决策树的剪枝只考虑全局最优

(2) 特征选择

  1. 特征选择在于选取对训练数据具有分类能力的特征,可以提高决策树学习的效率。通常特征选择的准则是信息增益或信息增益率

(3) 信息增益

  1. 信息熵:在信息论和概率统计中,熵(entropy) 是表示随机变量不确定性的度量(纯度)。是用来衡量一个随机变量出现的期望值。如果信息的不确定性越大,熵的值也就越大,出现的各种情况也就越多。 假设随机变量X的可能取值有x1 ,x2 ...,xn ,对于每一个可能的取值xi ,其概率 P(X=xi ) = pi , ( i = 1,2, ... , n)
    因此随机变量X的熵:H(X) = $$\sum_{i=0}^{n}$$Pi log2Pi

    由定义可知,熵只依赖于X的分布,而与X的取值无关

    对于样本集合D来说,随机变量X是样本的类别,即,假设样本有k个类别,每个类别的概率是\frac{|C_k|}{|D|},其中|Ck|表示类别k的样本个数,|D|表示样本总数,则对于样本集合D来说熵(经验熵)为:

    H(D) = -\sum_{k=1}^{K} \frac{|C_k|}{|D|}log_2 \frac{|C_k|}{|D|}

  2. 条件熵:假设有随机变量(X,Y),其联合概率分布为:P(X=xi,Y=yj)=pij ,
    则条件熵 H(Y∣X) 表示在已知随机变量X的条件下随机变量Y的不确定性,其定义为X在给定条件下Y的条件概率分布的熵对X的数学期望:

    entropy(D,A) = \sum_{i=1}^k \frac {D_{A_i}}{D} log_2D_{A_i}

  3. 信息增益

    • 定义: 特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D) 与特征A给定条件下D的经验条件熵H(D|A)之差,即:
          g(D,A)=H(D)-H(D|A)
      划分前样本集合D的熵是一定的 ,entroy(前),使用某个特征A划分数据集D,计算划分后的数据子集的熵 entroy(后):

    • 信息增益 = entroy(前) - entroy(后)

  • 信息增益表示由于特征A使得对数据集D的分类的不确定性减少的程度
    根据信息增益准则的特征选择方法是:对训练数据集D,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。

    • 缺点: 信息增益偏向取值较多的特征。

    • 原因: 当特征的取值较多时,根据此特征划分更容易得到纯度更高的子集,因此划分之后的熵更低,由于划分前的熵是一定的,因此信息增益更大,因此信息增益比较 偏向取值较多的特征。

    • 计算公式及例子:

      imgimg

(4) 决策树的生成

4.1 ID3算法

  1. ID3算法核心是在决策树各个节点上应用 信息增益 准则选择特征,递归的构建决策树。具体方法是:从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归的调用以上方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为止。ID3相当于用极大似然法进行概率模型的选择。

  2. ID3算法举例:

    img

    1. 选择最优划分属性

      • ID3采用信息增益作为选择最优的分裂属性的方法,选择熵作为衡量节点纯度的标准,根据以上公式对上述的例子的根节点进行分裂,分别计算每一个属性的信息增益,选择信息增益最大的属性进行分裂。
    2. 计算根节点的信息熵

      • 本例中正例(好瓜)占 8/17,反例占 9/17 ,根结点的信息熵为:

        Ent(D) = -\sum_{k=1}^{2}p_klog_2p_k = -( \frac{8}{17}log_2\frac{8}{17}+\frac{9}{17}log_2\frac{9}{17})

    3. 计算各个特征的信息增益,选取最大的属性进行分裂。

      • 计算当前属性集合{色泽,根蒂,敲声,纹理,脐部,触感}中每个属性的信息增益

        色泽有3个可能的取值:{青绿,乌黑,浅白}

        D1(色泽=青绿) = {1, 4, 6, 10, 13, 17},正例 3/6,反例 3/6

        D2(色泽=乌黑) = {2, 3, 7, 8, 9, 15},正例 4/6,反例 2/6

        D3(色泽=浅白) = {5, 11, 12, 14, 16},正例 1/5,反例 4/5

        计算出用“色泽”划分之后所获得的3个分支结点的信息熵为:

        由此可得“色泽”的信息增益为:

        Gain(D,d) = Ent(D) - \sum_{v=1}^{3} \frac{|Dv|}{D}Ent(Dv)

        =0.998-( \frac{6}{17} \times 1.000 + \frac{6}{17} \times 0.918 + \frac{5}{17} \times 0.722) = 0.109

        类似的,我们可以计算出其他属性的信息增益,选取信息增益最大的进行划分,依次类推,最终得到决策树:

        img

  3. ID3算法的缺点:

    1. 不能对连续数据进行处理,只能通过连续数据离散化进行处理;

    2. 采用信息增益进行数据分裂容易偏向取值较多的特征,准确性不如信息增益率;

    3. 缺失值不好处理。

    4. 没有采用剪枝,决策树的结构可能过于复杂,出现过拟合。


(四)朴素贝叶斯分类

(一) 基础知识

  1. 先验概率:用P(h)表示在没有观察到训练数据之前假设h拥有的初始概率,P(h)被称为假设h的先验概率。

    先验概率反映了关于假设h是一正确假设的机会的背景知识;如果没有这一先验知识,可以简单地将每一候选假设赋予相同的先验概率。类似地,P(D)表示训练数据D的先验概率,那么 P(D|h)就表示假设h成立时D的概率。

  2. 后验概率:在分类问题中,我们关心的是P(h|D),即给定D时h的成立的概率,称为h的后验概率。

  3. 一些公式:

    • 交换规则:P(A,B)=P(B,A)

    • 乘法规则:P(A,B)=P(A|B)P(B)=P(B|A)P(A)=P(B,A)

    • 贝叶斯定理提供了从先验概率P(h)、P(D)以及 P(D|h)计算后验概率P(h|D)的方法
      P(h|D) = \(\frac{P(D|h)P(h)}{P(D)}\)

    • P(h|D)随着P(h)和P(D|h)的增长而增长,而随着 P(D)的增长而减少。这是很合理的,因为如果D独 立于h时被观察到的可能性越大,那么D对h的支持度就越小。

posted @ 2020-11-17 03:43  梁君牧  阅读(4166)  评论(0编辑  收藏  举报