• 决策树(一):原理&熵&条件熵&信息增益


    1.决策树思想:以信息增益作为指标,得出最高效的一种决策方案,可用于回归或者分类问题。【由if-else演化而来,后续可发展成机器学习中的随机森林算法】
    2.决策树指标:
    香农:消除随机不确定性的东西。
    信息熵:定量表示(某种事物)随机不确定性的大小。
    样本:假设一个人身上有四种属性,分别是年龄【青年,中年,老年】,是否有工作【有工作,没有工作】,是否有房【有房,没房】,信用等级【非常好,好,一般好】;
    现在样本中有15个人,他们四种属性的值不完全相同,相应的,其中的一人去银行贷款,银行是否会贷款给他的结果也不同。在这里,银行是否贷款给他作为这个问题的目标值。
    在这个问题中,在我们不知道这个人的各个属性值时,银行是否同意借贷给他这一件事,对我们来说是完全随机不确定的,这时候信息熵是最大的。而根据样本我们可以得出总的信息熵【样本中15个人中6不同意,9同意】
    信息熵公式:H(D)=- sump(xi)*log(p(xi)): 【对数底随便取,一般取2】
    该问题中总的信息熵为 H(D)=  -(6/15*log(6/15) +9/15*log(9/15));
    现在已经知道总的信息熵,下一步做什么呢?
    对于这个问题,我们想要知道的是最终银行会不会同意借贷给某个人(目标值),(假设)因为银行是根据这个人的四个属性来决定是否同意,但我们不知道银行根据什么样的规则来选择,银行的选择方法在我们看来就是一个“黑箱”,那么我们如何找到哪个最高效的决策路径呢?所谓的最高效指的是知道尽量少个数的特征得出目标值。观察样本后我们发现通过先后决策“是否有房”和“是否有工作”这两个特征就足以得到样本中对应的目标值。如果先后决策“年龄”“信用等级”“是否有工作”,需要观察三个特征才能得出目标值。我们讨论这个问题的目的是要最高效地找出目标值,也就是通过知道某个人的某几个特征,从而推断他的借贷同意情况。这里的最高效指的是用最少的特征推断出目标值。而在决策树中,不同特征的决策顺序会影响能够推出目标值的最少特征数,所以问题就转变为找出最高效的决策顺序(选择特征顺序),所以通过观察样本数据我们得出结论:
    不同的特征在决策中占据的”比重“是不一样的,有的对目标值影响大,有的影响小,那么问题就变成需要将特征对目标值的影响如何定量地表示出来。
     
    这里引进信息增益和条件熵的概念。
    1)条件熵:H(D|年龄);H(D|信用等级),….
    条件熵计算公式:
    ①H(D|年龄)=5/15*H(D|青年)+5/15*H(D|中年)=5/15*H(D|老年)【样本中有青/中/老年分别有5个】
    ②计算各个分量【比如说青年中同意贷款有2个;中年中同意贷款有3个,老年中同意贷款有4个】
    H(青年)= -(2/5*log(2/5)+3/5*log(3/5));
    H(中年)= -(2/5*log(2/5)+3/5*log(3/5));
    H(老年)= -(4/5*log(4/5)+1/5*log(1/5));
    2)信息增益计算公式:g(D,年龄)=H(D)-H(D|年龄)
    信息增益表示的是,知道了这个特征(信息),能够减少的目标值的不确定性。所以某一特征对应的信息增量越大,表示该特征对目标值的影响程度越大,在决策树中应该排在越前面。
    通过比较不同特征的信息增量,可以得出决策树中不同特征的排列顺序,从而得出对于预测新样本的目标值最高效的决策树模型。
     
    参考资料:
    https://www.bilibili.com/video/BV1nt411r7tj?p=28, B站,作者:菜鸟程序员
  • 相关阅读:
    IOS UIPickView+sqlite 选择中国所有城市案例
    IOS Sqlite用户界面增删改查案例
    IOS sqlite数据库增删改查
    IOS基于新浪微博开放平台微博APP
    ASIHTTPRequest 对GET POST 请求简单封装
    装饰器模式
    策略模式
    网站加入QQ聊天链接
    Spring AOP详解
    Maven搭建多模块企业级项目
  • 原文地址:https://www.cnblogs.com/feynmania/p/12805658.html
Copyright © 2020-2023  润新知