机器学习学习笔记[牛客专项练习]

生成式模型vs判别式模型 (知乎链接)

机器学习学习笔记[牛客专项练习]_第1张图片
有监督学习可以将其分为两类模型:判别式模型和生成式模型。简单地说,判别式模型是针对条件分布建模,而生成式模型则针对联合分布进行建模

判别式模型 生成式模型
直接计算p(y|x),最大的作为新样本的分类 有多少个类别,就建立多少个模型, 分别计算新样本和所有类别的联合概率,再根据bayes分别计算p(y|x),最大的作为新样本的分类
学习不同类别之间的最优边界,反映的是异类数据之间的差异,不学习本身分布信息,无法反映训练数据本身的特性,能力有限,其只能告诉我们分类的类别 生成式模型先计算了联合概率,再由贝叶斯公式计算得到条件概率。因此,生成式模型可以体现更多数据本身的分布信息,其普适性更广
要确定一个羊是山羊还是绵羊,用判别式模型的方法是从历史数据中学习到模型,然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率 是根据山羊的特征首先学习出一个山羊的模型,然后根据绵羊的特征学习出一个绵羊的模型,然后从这只羊中提取特征,放到山羊模型中看概率是多少,再放到绵羊模型中看概率是多少,哪个大就是哪个
需要的样本数可以较少,少样本也能很好学习。预测时拥有较好性能。无法转换成生成式 能够反映同类数据本身的相似度,它不关心到底划分不同类的边界在哪里。生成式模型的学习收敛速度更快,当样本容量增加时,学习到的模型可以更快的收敛到真实模型,当存在隐变量时,依旧可以用生成式模型,此时判别式方法就不行了。 学习成本较高,需要更多的计算资源。需要的样本数更多,样本较少时学习效果较差。推断时性能较差。一定条件下能转换成判别式。

总之,判别式模型和生成式模型都是使后验概率最大化,判别式是直接对后验概率建模,而生成式模型通过贝叶斯定理这一“桥梁”使问题转化为求联合概率。

以下哪些机器学习算法可以不对特征做归一化处理:()

正确答案: A D

随机森林
逻辑回归
SVM
GBDT

树模型一般不需要做归一化处理,做归一化处理的目的主要为了使同一特征的取值在同一量纲,降低方差太大带来的影响。树模型并不关心特征的具体取值,只关心特征取值的分布。

下列关于决策树的说法正确的是( )

正确答案: A B C D

ID3决策树是根据信息增益来划分属性
C4.5决策树是根据增益率来划分属性
CART决策树是根据基尼指数来划分属性
基尼指数反映了从样本集D中随机抽取两个样本,其类别标记不一致的概率,因此越小越好

决策树 Ref

ID3 C4.5 CART
信息增益准则选择特征,递归地构建决策树 信息增益率 Gini
从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该结点的不同取值建立子结点;再对子结点递归地调用以上方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为止。最后得到一个决策树。 相对于ID3的改进:1.用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;2.在树构造过程中进行剪枝;3.能够完成对连续属性的离散化处理;4.能够对不完整数据进行处理
优点:1. 假设空间包含所有的决策树,搜索空间完整。2. 健壮性好,不受噪声影响。3. 可以训练缺少属性值的实例。 优点:1.产生的分类规则易于理解,准确率较高;2.能处理标称型、连续性数据。3.利用信息增益率选择特征向量,能处理特征缺失的数据。4.构造决策树过程中,进行了剪枝,消除了过度匹配的问题。 优点:二叉树
缺点:1. ID3只考虑分类型的特征(ID3算法处理的数据是离散的),没有考虑连续特征,比如长度,密度都是连续值,无法在ID3运用。这大大限制了ID3的用途。2. ID3算法对于缺失值没有进行考虑。3.没有考虑过拟合的问题。4.ID3算法在选择根节点和各内部节点中的分支属性时,采用信息增益作为评价标准。信息增益的缺点是倾向于选择取值较多的属性,在有些情况下这类属性可能不会提供太多有价值的信息。(因为考虑到不同的分支结点所包含的样本数不同,给分支结点赋予的权重即样本数越多的分支结点影响就越大。所以说,ID3算法会倾向于特征选项较多的特征)。4.划分过程会由于子集规模过小而造成统计特征不充分而停止。 缺点:1.由于决策树算法非常容易过拟合,因此对于生成的决策树必须要进行剪枝。2.C4.5生成的是多叉树,即一个父节点可以有多个节点。在计算机中二叉树模型会比多叉树运算效率高。如果采用二叉树,可以提高效率。3. C4.5只能用于分类,如果能将决策树用于回归的话可以扩大它的使用范围。4.C4.5由于使用了熵模型,里面有大量的耗时的对数运算,如果是连续值还有大量的排序运算。5.在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。6. C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行
  • 对于欠拟合问题,可以通过增加分类属性的数量选取合适的分类属性等方法,提高模型对于训练样本的拟合程度
  • 精确率(precision):模型正确分类的正例样本数与总的正例样本总数(即正确分类的正例样本数目与错误分类的正确样本数目之和)的比值:
    在这里插入图片描述
  • 召回率(recall,也称为查全率):模型分类正确的正例样本数与分类正确的样本总数(分类正确的正例和分类正确的反例之和)的比值:
    在这里插入图片描述

F值为精确率和召回率的调和平均:
F = ( α 2 + 1 ) ∗ a c c u r a c y ∗ r e c a l l α 2 ( a c c u r a c u + r e c a l l ) F=\frac{(\alpha^2+1)* accuracy*recall}{\alpha^2(accuracu+recall)
其中为调和参数值,当 α \alpha α取值为1时,F值就是最常见的F1值:

在这里插入图片描述

下列方法中,可以用于特征降维的方法包括()

正确答案: A B C D

主成分分析PCA
线性判别分析LDA
深度学习SparseAutoEncoder
矩阵奇异值分解SVD

最小二乘法LeastSquare

LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。这点和PCA不同。PCA是不考虑样本类别输出的无监督降维技术。LDA的思想就是“投影后类内方差最小,类间方差最大” 我们要将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大。

LDA算法的主要优点有:

  • 在降维过程中可以使用类别的先验知识经验,而像PCA这样的无监督学习则无法使用类别先验知识。
  • LDA在样本分类信息依赖均值而不是方差的时候,比PCA之类的算法较优。

LDA算法的主要缺点有:

  • LDA不适合对非高斯分布样本进行降维,PCA也有这个问题。
  • LDA降维最多降到类别数k-1的维数,如果我们降维的维度大于k-1,则不能使用LDA。当然目前有一些LDA的进化版算法可以绕过这个问题。
  • LDA在样本分类信息依赖方差而不是均值的时候,降维效果不好
  • LDA可能过度拟合数据。

LDA vs PCA
LDA用于降维,和PCA有很多相同,也有很多不同的地方,因此值得好好的比较一下两者的降维异同点。
相同点:

  • 两者均可以对数据进行降维。
  • 两者在降维时均使用了矩阵特征分解的思想。
  • 两者都假设数据符合高斯分布
    不同点
  • LDA是有监督的降维方法,而PCA是无监督的降维方法
  • LDA降维最多降到类别数k-1的维数,而PCA没有这个限制。
  • LDA除了可以用于降维,还可以用于分类
  • LDA选择分类性能最好的投影方向,而PCA选择样本点投影具有最大方差的方向。

深度学习SparseAutoEncoder
无监督学习

下列哪些方法可以用来对高维数据进行降维:

正确答案: A B C D E F

LASSO
主成分分析法
聚类分析
小波分析法
线性判别法
拉普拉斯特征映射

  • 小波分析有一些变换的操作降低其他干扰可以看做是降维。
  • 拉普拉斯特征映射将处于流形上的数据,在尽量保留原数据间相似度的情况下,映射到低维下表示。

现在假设负样本量:正样本量=100:1,下列哪些方法可以处理这种极不平衡的情况?()

正确答案: B C

直接训练模型,预测的时候调节阈值
复制正样本,以增加正样本数量
随机降采样负样本

训练过程中,增加负样本的权重

解决类别不平衡书中提出三种方法:
1.下采样
2.过采样
3.阈值偏移

下列关于随机森林和Adaboost说法正确的是( )

正确答案: A C D

和adaboost相比,随机森林对错误和离群点更鲁棒
随机森林准确率不依赖于个体分类器的实例和他们之间的依赖性
随机森林对每次划分所考虑的属性数很偏感
Adaboost初始时每个训练元组被赋予相等的权重

下列哪项叙述是正确的()

正确答案: B C

Adaboost可以降低方差
Xgboost可以降低偏差
Random Forest可以降低方差
Decision Tree可以降低偏差

bagging降低方差
boosting降低偏差

以下方法属于集成方法的是()

正确答案: A B C D

bagging
stacking
blending
boosting

你可能感兴趣的:(牛客专项练习,数据分析)