zoukankan      html  css  js  c++  java
  • 机器学习面笔试-决策树篇

    1. 决策树怎么做回归

    让所有节点求平均值。

    2. 熵、联合熵、条件熵、交叉熵、KL散度(相对熵),信息增益,互信息,信息增益率的计算

    简介:
    熵用于衡量不确定性,所以均分的时候熵最大
    KL散度用于度量两个分布的不相似性,KL(p||q)等于交叉熵H(p,q)-熵H(p)。交叉熵可以看成是用q编码P所需的bit数,减去p本身需要的bit数,KL散度相当于用q编码p需要的额外bits。
    交互信息Mutual information :I(x,y) = H(x)-H(x|y) = H(y)-H(y|x) 表示观察到x后,y的熵会减少多少
    具体计算公式参考【这里

    3. 信息增益有什么缺点?

    信息增益的大小是相对训练数据而言的,没有绝对的意义。
    在分类困难时,也就是说在训练数据集的经验熵大的时候,信息增益值会偏大,反之则偏小。
    使用信息增益比可以矫正这一缺点。

    4.ID3、C4.5、CART树搭建方法

    分别利用信息增益、信息增益率、Gini指数作为数据分割标准。
    信息增益衡量按照某个特征分割前后熵的减少程度,其实就是上面说的交互信息。李航书中的公式:


    infogain

    用上述信息增益会出现优先选择具有较多属性的特征,毕竟分的越细的属性确定性越高。所以提出了信息增益率的概念,让含有较多属性的特征的作用降低。

    infogain——rate

    CART树在分类过程中使用的基尼指数Gini,只能用于切分二叉树,而且和ID3、C4.5树不同,Cart树不会在每一个步骤删除所用特征。

    Gini

    5. 决策树如何防止过拟合?

    剪枝可防止过拟合;
    剪枝分为前剪枝和后剪枝,前剪枝本质就是早停止,后剪枝通常是通过衡量剪枝后损失函数变化来决定是否剪枝。
    后剪枝有:错误率降低剪枝、悲观剪枝、代价复杂度剪枝

    6.如何剪枝?

    决策树的剪枝是通过极小化决策树的损失函数来实现的。
    设树叶节点个数为T个,t是树的某个叶节点,该叶节点上有Nt个样本,其中k类别的样本点有Ntk个,Ht(T)为叶节点t上的经验熵,则决策树的损失函数为

    Cα(T)=t=1TNtHt(T)+αT

    经验熵
    Ht(T)=kNtkNtlogNtkNt

    C(T)=t=1TNtHt(T)=t=1Tk=1KNtklogNtkNt

    剪枝就是当α确定时,选择损失函数最小的模型。
    剪枝流程:
    输入:生成算法产生的这个树T,参数α
    输出:修剪后的树
    (1)计算每个节点的经验熵
    (2)递归地从树的叶节点向上回溯,直到不能继续为止,返回损失最小的树。

    7.前剪枝的几种停止条件

    节点中样本为同一类;
    特征不足返回多类;
    如果某个分支没有值则返回父节点中的多类;
    样本个数小于阈值返回多类。


    https://blog.csdn.net/u011239443/article/details/76360294

  • 相关阅读:
    jquery.ajax,vue-resource,axios拦截器实现与携带cookie
    vs code 常用插件及说明
    Js/Jquery获取网页屏幕可见区域高度(转)
    vue的爬坑之路(三)之-----基于vue-cli的VueAwesomeSwiper轮播滑块插件的使用及常见问题(转)
    js中的深拷贝与浅拷贝
    沉浸式状态栏 关于状态栏高度的获取
    Cordova 常用命令及插件(转)
    video control
    canvas添加水印
    疑惑
  • 原文地址:https://www.cnblogs.com/siucaan/p/9623117.html
Copyright © 2011-2022 走看看