机器学习必修:决策树算法(Decision Tree)

CARRIE
4 评论 12540 浏览 30 收藏 9 分钟
🔗 技术知识、行业知识、业务知识等,都是B端产品经理需要了解和掌握的领域相关的知识,有助于进行产品方案设计和评估

决策树是AI产品经理在工作中经常会用到的一个机器算法,为了更清晰地了解决策树算法,本文从三个方面全面介绍了决策树的概念,流程和应用,希望对你有帮助。

你是否玩过20个问题的游戏?

游戏的规则很简单:参与游戏的一方在脑海里想某个事物,其他参与者向他提问题,只允许提20个问题,问题的答案也只能用对或错来回答。问问题的人通过推断分解,逐步缩小待猜测事物的范围。

如果你玩过这个游戏,那么恭喜你,你已经掌握了决策树算法的应用。是不是非常简单?

一、什么是决策树

 

图表示决策树

所有的机器学习算法中,决策树应该是最友好的了。它呢,在整个运行机制上可以很容易地被翻译成人们能看懂的语言,也因此被归为“白盒模型”。

为了更直观地理解决策树,我们现在来构建一个简单的邮件分类系统,如图:

  1. 首先检测发送邮件域名地址;
  2. 如果地址为com,则放置于“无聊时需要阅读的邮件”分类;
  3. 如果不是这个地址,那么再次检测;
  4. 检查邮件是否有单词“曲棍球”;
  5. 包含单词“曲棍球”,则放置于“需要及时处理的朋友邮件”分类;
  6. 不包含单词“曲棍球”,则放置于“无需阅读的垃圾邮件”分类。

现在,我们来总结一下决策树的构成:

  • 根节点。第一个需要判断的条件,往往也是最具有特征的那个条件,我们称为根节点。
  • 中间节点。那个矩形总是要往下分,并不是最终的结果,它叫做中间节点(或内部节点)。
  • 边。那些带有文字的线段(一般使用有箭头的有向线段),线的一端连的是中间节点、另一端连的是另一个中间节点或叶节点,然后线段上还有文字,它叫做边。
  • 叶节点。那个圆角矩形,它就已经是最后的结果了,不再往下了,这一类东西呢,在决策树里叫做叶节点。

二、决策树的一般流程

收集数据:可以使用任何方法。

准备数据:树构造算法只适用于标称型数据,因此数值型数据必须离散化。

分析数据:可以使用任何方法,构造树完成后,我们应该检查图形是否符合预期。

训练算法:构造树的数据结构。

测试算法:使用经验树计算错误率。

使用算法:此步骤可以适用于任何机器学习算法,而使用决策树可以更好地理解数据的内在含义。

上面这种朴素的算法很容易想到,但是太容易得到的它往往不够美好。如果自变量很多的时候,我们该选哪个作为根节点呢?

选定了根节点后,树再往下生长接下来的内部节点该怎么选呢?针对这些问题,衍生了很多决策树算法,他们处理的根本问题是上面流程的第四步——训练算法,实际上也就是划分数据集方法。

我们来看看代表之一 —— ID3算法。

在划分数据集之前之后信息发生的变化称为信息增益,知道如何计算信息增益,我们就可以计算每个特征值划分数据集获得的信息增益,获得信息增益最高的特征就是最好的选择。

这里又引入了另一个概念——熵。这里先不展开说了,我们记住他的概念:一个事情它的随机性越大就越难预测。

具体来说这个概率p越小,最后熵就越大(也就是信息量越大),如果极端情况一件事情概率为1,它的熵就变成0了。

比如,你如果能预测一个彩票的中奖号码就发达了。但是,如果你能预测明天太阳从东边升起来则毫无价值。这样衡量一个信息价值的事,就可以由熵来表示。

聪明的你或许已经发现了,决策树算法其实就是为了找到能够迅速使熵变小,直至熵为0的那条路径,这就是信息增益的那条路。我们将对每个特征划分数据集的结果计算一次信息熵,然后判断按照哪个特征划分数据集是最好的划分方式。

举个容易理解的例子:

解决问题:预设4个自变量:天气、温度、湿度、风速,预测学校会不会举办运动会?

步骤一:假设我们记录了某个学校14届校运会按时举行或取消的记录,举行或者取消的概率分别为:9/14、5/14,那么它的信息熵,这里也叫先验熵,为:

步骤二:我们同时记录了当天的天气情况,发现天气好坏和校运会举行还是取消有关。14天中,5次晴天(2次举行、3次取消)、5次雨天(3次举行、2次取消)、4次阴天(4次举行)。相对应的晴天、阴天、雨天的后验熵。

步骤三:我们计算知道天气情况后的条件熵。

步骤四:我们计算在有没有天气情况这个条件前后的信息增益就是。

步骤五:我们依次计算在有没有温度、湿度、风速条件前后的信息增益。

步骤六:根据设置的阈值,若信息增益的值大于设置的阈值,选取为我们的特征值,也就是我们上图中的矩形节点。

步骤七:生成决策树。选取信息增益最大的自变量作为根节点。其他的特征值依次选取为内部节点。

比如上面的例子是这样的过程:

经过如上步骤,我们得到决策树。可以看到,最终们只选取了3个特征值作为内部节点。

三、决策树的应用

决策树也是一种分类方法。它的分类是二元的,一个值经过相应节点的测验,要么进入真分支,要么进入假分支。所以一组值经过决策树以后,就会形成从树跟到结果节点的一条唯一路径。所以它除了可以对输入进行分类之外,还能给出如此分类的解释。因此决策树常常被应用于专家系统,用于解释回答人类专家才能回答的问题。

例如需要考虑多个变量时,我们可以利用决策树进行预测。

 

本文由 @CARRIE 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自Pexels,基于 CC0 协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 有点东西

    来自浙江 回复
  2. 公式里log的底数是什么?

    回复
    1. 默认底数是2

      来自北京 回复
  3. 这里居然有个懂算法的产品经理

    回复
专题
19946人已学习13篇文章
如何通过广告模式来进行商业化流量变现?本专题的文章提供了广告变现的思路。
专题
46287人已学习20篇文章
这些APP设计的细节和规范你都掌握了吗?
专题
15511人已学习13篇文章
说到“账号”,想必大家对于这个名词已经习以为常。现在市场上的大多数应用,都会有自己的账号体系。本专题的文章分享了如何搭建账号体系。
专题
15420人已学习12篇文章
本专题的文章分享了互联网金融风控体系的设计指南。
专题
12608人已学习15篇文章
当业务进入某一阶段之后,用户新增可能会趋向疲软,这个阶段里,运营人员可能会需要召回流失用户。本专题的文章分享了用户召回策略。
专题
12861人已学习12篇文章
活动策划,既是脑力活,也是苦力活,因此你需要尽量把各种情况考虑到。本专题的文章分享了如何策划一场线下活动。