• 吴恩达deeplearning.ai:决策树模型


    以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏


    学习算法非常强大的原因之一,是其应用了决策树和树集合,尽管决策树取得了巨大的成功,但是在学术界却没有太多的研究,但它其实是你工具箱中非常有用的工具。让我们用猫分类示例作为例子。

    猫分类例子

    你打算做一个分类器,从而判断图片中的动物是否是猫。
    以下列举出了十种动物,每个动物按照三个特征:耳朵形状,脸的形状,是否有胡须被标记为特征,然后分别有十个标签,以上的这些全部都是二元分布,即是或不是这两种答案:
    在这里插入图片描述
    什么是决策树?
    以下是一颗决策树,让我来进行一些名词解释:最上面的节点叫做根节点;所有的那些椭圆形的节点叫做决策节点,因为每个节点决定了你会往左或者是往右走;而最底部的节点被称为叶节点 。
    在这里插入图片描述
    当然决策树的种类并非只有一种,有些会在训练集和cv集上表现地比较好,有些效果就差些。决策树学习算法的工作大致原理是,希望在训练集上找到一个工作良好的树,然后能将其泛化到cv和test set上。
    在这里插入图片描述
    那么决策树是如何构建起来的呢,让我们看看它的学习过程。

    学习过程

    我们先用比较抽象的方法来考虑这些问题。让你能有个大致的概念,在之后的博客在进行具体细节了解。
    第一步,需要确定根节点是什么。在以下的例子中,我们将根节点选为Ear Shape,这样,我们就将其中的五种动物分到了左边。
    在这里插入图片描述
    第二步,由于我们还没能将猫和狗完全区分开来,因此我们需要一个二级节点,用新的特征继续去区分动物。这里选择的是脸的形状。
    在这里插入图片描述
    这样,猫和狗就被区分开来了,从而可以直接划定叶节点。
    在这里插入图片描述
    在右边的这个子树,我们进行同样的操作。
    在这里插入图片描述
    这样就构建好了决策树。
    在以上的构建过程中,我们可以发现,我们需要做以下几个关键决定:

    1. 选择哪个节点作为特征节点,从而可以最大化提高纯度。例如,如果有DNA这个特征那就最好了,直接百分百区分。但很少能有这种好事。在以后的博客中,我们将提到如何最小化杂质。 在这里插入图片描述
    2. 第二个你需要考虑的是,什么时候停止分裂?当然,当你遇到上例这种100%正确的可以停止分裂。此外的情况是,当分裂一个节点会导致你的决策树超过你设定的最大深度,就停止。一般来说,根节点的深度为0,往后每下一层,深度加一,这个也叫做跳数(hops)。保持深度不要太大是为了防止你的树过于臃肿,从而导致过拟合的发生。另一种可能是,分裂到该阶段,纯度达到了你设定的阈值,就是性能到这里就够了。最后一种可能是,当分裂到这个阶段,例子过少,也可以停止。

    相信你和我的感觉一样,怎么决策树要考虑的情况这么多,没关系,我们在之后的博客之中慢慢了解这些内容。
    为了给读者你造成不必要的麻烦,博主的所有视频都没开仅粉丝可见,如果想要阅读我的其他博客,可以点个小小的关注哦。

  • 相关阅读:
    RedisTemplate序列化后数据字段增加,代码无常,大肠包小肠
    java-构造方法(超详细,奶奶都能看懂)
    【C语言】模拟实现字符串函数(下)
    Activiti7工作流引擎:生成实时的流程图片
    Web爬虫-edu_SRC-目标列表爬取
    ThinkPHP高仿蓝奏云网盘系统源码/对接易支付系统程序
    hbase和aerospike基础概念及所对应的python包API使用
    【编译链接与运行】
    数据分析工具Metabase--Metabase安装(最详细的安装教程)
    北理工嵩天Python语言程序设计笔记(10 Python计算生态概览)
  • 原文地址:https://blog.csdn.net/m0_75077001/article/details/136610021