zoukankan      html  css  js  c++  java
  • 机器学习——由公式看透算法(1)___决策树

    定义

           决策树学习方法通常是一个递归地选择最优特征,并根据特征对训练数据进行分割,使得各个子集有一个最优的分类过程。决策树学习的实际问题:确定决策树增长的深度;处理连续值得属性;选择一个适当的属性筛选度量标准;处理属性值不完整的训练数据;处理不同代价的属性;提高计算效率。

    内容:

           决策树学习是应用很广泛的归纳推理算法,是一种逼近离散值函数的方法,对噪声具有很强的健壮性且能够学习析取表达式。初期的决策树学习从表面理解就是处理一些简单的实例分类,当然决策树本质上就是对训练样例进行分类。其中实例具有明确的属性,这样容易确定节点;实例具有离散的输出值,这样才可以进行分类;具有析取表达式,可以用明确的表达式进行表示。决策树学习是从顶向下进行学习,基本算法是ID3,在进行构造决策树是关键问题是如何选择根节点,分类能力最好的属性被选择为树的根结点。所以如何确定分类能力就,进行判断是决策树构建的关键点。

    公式:

    (1)


    (2)(3)

    其中决策树的核心公式算法为三个,无论是ID3还是C5.4核心是计算这三个公式。

    公式解释:

    公式(1)

    :在决策树中是利用信息增益来决定根结点,用


    其中P+表示在S中的正例的比例, P-为反例,举例说明14个样例的集合,其中9个正样例,5个反样例,则S相对于布尔分类的熵为:

    在熵计算中可以根据比例大小可以估计熵大小,图形如下图:

     

    公式(2)

        公式的第一部分表示前面讲的信息熵,后面表示为A或者是某一属性的信息熵。其中value(A)是属性所有的可能集合,Sv表示S中属性A的值为v的子集。

    通过下面一个例子讲解下这个公式。假定S是一套有关天气的训练属性,描述它的属性是具有weak和strong属性的wind,假定训练样例中包含14个样例【9+,5-】。在这14个样例中假定在正样例中6个和反样例中2个wind=weak,其他为wind=strong。计算如下;

    理清思路:values(wind)=weak,strong;

        S=【9+,6-】表示训练样例为14个,得值为肯定(1)9个;

        Sweak=【6+,2-】;

        Sstrong=【3+,2-】;分析之后便是计算属性值wind的信息增益;

    其中对于同一训练样例Entropy(S)是相同的就是正反样例比例计算。


         在公式中除了计算所有正反样例的熵之外,还要计算某个属性的熵,如weak的属性值,就是计算含有weak属性值中样例中的正反比例大小。最终计算得到信息增益。信息增益正是ID3算法增长数的每一步选取最佳属性度量标准。信息增益越大,表示属性分类能力越好。

    公式(3)信息增益比

    :特征A对训练数据集D的信息增益比Gr(D,A)定义为其信息增益g(D,A)与训练数据集D的经验熵H(D)之比。

    决策树常用方法理论:

    最常用的一种方法是:将一组可用数据三分之二分为训练样例和三分之一为验证样例,在得到学习器之后,再使用验证样例来评估通过后修剪法从树上修剪结点的效用。使用验证集合防止过度拟合确切方法是考虑将树上的每一个结点作为修剪的候选对象。很多对决策树的改进就是如何修剪上体现。

    现在最常用的决策树算法是C4.5.步骤:

    1、       从训练集合推导出决策树,增长决策树直到那个好地拟合训练数据,允许过度拟合。

    2、       将决策树转化为等价的规则集合,方法是从根节点到叶子节点的每一条路径创建一条规则。

    3、       通过删除任何能导致估计精度提高的前件来修剪每一条规则。

    4、       按照修剪过的规则估计精度对他们进行排序,并按这样顺序应用规则来分类后面的实例。

    C5.4算法的具体运算步骤:

    输入:训练数据集D、特征集A、阈值e;

    输出:决策树T

    1、     如果D中所有实例属于同一类Ck则T为单结点树(单结点子树)。

    2、     如果A=空集,则T单结点树,并将D中实例数最大的类最为该节点的类。

    3、     否则,按公式计算A中各个特征对D的信息增益比,选择增益比最大的特征Ag

    4、     如果Ag的信息增益比小于阈值e,则T单结点树,并将D中实例数最大的类最为该节点的类。

    5、     否则,对Ag的每一个可能值ai,依Ag=ai将D分割为子集若干非空Di将并将Di中实例数最大的类作为标记,构建子树。

    6、     对结点I,以Di为训练集,以A-AG为特征集,递归地调用1-5,得到子树Ti,返回T。

    其中C5.4比ID3进步点是用信息增益比代替信息增益。

    名词解释:

    决策树归纳偏置:较短的树比较长的树优先,那些信息增益高的属性更靠近结点的树优先。

    决策树的的搜索范围是一个完整的假设空间但它不彻底搜索这个空间,从简单的假设到负责的假设,直到遇到终止条件。变性空间候选消除算法正和决策树相反,假设空间不完整,但搜索整个假设空间。

    优先偏置:定义某种假设(最短树)胜过其他假设的一种优选,对最中假设没有硬性假设。

    限定偏置:对待考虑假设的一种限定。通常优选偏置比限定偏置更符合一般假设,因为允许在学习器工作在完整的假设空间保证了未知目标函数被包含在内。相反限定偏置严格限定假设集合的潜在空间。

    奥坎姆剃刀:优先选择拟合数据的最简单假设。一个应用很广的归纳偏置。

    过度拟合:对于一个假设,当存在其他假设对训练样例的拟合比它差,但是事实上在实例的整个分步上表现更好,我们就说这个假设为过度拟合。发生的原因之一就是训练样例含有随机错误或噪声。

    避免过度拟合:及早停止树增长;由于对终止条件不是很清楚,往往此方法实践性不强。后修剪法;允许过度拟合,然后对这个树进行后修剪。关键问题就是用什么方法来确定最终正确树的规模。




  • 相关阅读:
    NTP on FreeBSD 12.1
    Set proxy server on FreeBSD 12.1
    win32 disk imager使用后u盘容量恢复
    How to install Google Chrome Browser on Kali Linux
    Set NTP Service and timezone on Kali Linux
    Set static IP address and DNS on FreeBSD
    github博客标题显示不了可能是标题包含 特殊符号比如 : (冒号)
    server certificate verification failed. CAfile: none CRLfile: none
    删除文件和目录(彻底的)
    如何在Curl中使用Socks5代理
  • 原文地址:https://www.cnblogs.com/polly333/p/4498412.html
Copyright © 2011-2022 走看看