2025年3月24日 星期一 甲辰(龙)年 月廿三 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > 人工智能

决策树(Decision Tree)基本概念:概率与期望

时间:10-06来源:作者:点击数:43

决策树又称为判定树,它所使用的知识包含概率、期望以及信息熵。顾名思义,决策树方法就是对一件事做出决定,比如我们该执行方案 1,还是方案 2。但用决策树方法做出决策并不是去考虑具体的因素,而是有一定的信息理论支撑。比如有关概率和期望的知识,以及信息理论中的信息熵和信息增益的概念。

首先我们要先了解决策树方法需要的基本知识——概率与期望。

概率与期望

数学期望是实验中每次可能结果的概率乘以其结果的总和。比如在我们购买彩票的时候,5 元面值的彩票的中奖概率是 0.4,不中奖的概率是 0.6,那么我们购买彩票获奖的期望就是 5×0.4+0×0.6=2 元。

信息值,可以简单理解为信息的价值。什么样的信息是有价值的呢?假如你生活在平原,我告诉你,明天不会地震。这个信息的价值就很低,因为发生地震的概率本来就很低。但是,如果我告诉你,明天会发生地震,这个价值就很高了,因为我预测了一个小概率事件。对,这就是信息价值的定义,概率越小的信息,价值越高。我们用以下公式表达信息的价值。

l(xi)=-log2p(xi)

1) 导入相关模块

这里我们使用了 math 模块。math 模块包含了基础数学计算的包。

  • In [1]: import matplotlib.pyplot as plt
  • ...: from math import log

2) 生成p(x)

  • In [2]: x = [i/100 for i in range(1,101)]
  • ...: x
  • Out[2]:
  • [0.01,
  • 0.02,
  • 0.03,
  • 0.04,
  • 0.05,
  • 0.06,
  • 0.07,
  • 0.08,
  • 0.09,
  • 0.1,
  • ......
  • 0.9,
  • 0.91,
  • 0.92,
  • 0.93,
  • 0.94,
  • 0.95,
  • 0.96,
  • 0.97,
  • 0.98,
  • 0.99,
  • 1.0]

3) 生成l(x)

  • In [3]: y = [-log(i,2) for i in x]
  • ...: y
  • Out[3]:
  • [6.643856189774724,
  • 5.643856189774724,
  • 5.058893689053569,
  • 4.643856189774724,
  • 4.321928094887363,
  • 4.058893689053568,
  • 3.8365012677171206,
  • 3.6438561897747253,
  • 3.4739311883324127,
  • 3.321928094887362,
  • ......
  • 0.15200309344504997,
  • 0.13606154957602837,
  • 0.12029423371771177,
  • 0.10469737866669322,
  • 0.08926733809708741,
  • 0.07400058144377693,
  • 0.058893689053568565,
  • 0.043943347587597055,
  • 0.029146345659516508,
  • 0.01449956969511509,
  • -0.0]

4) 作图

信息值与概率之间的关系如图 1 所示。

  • In [4]: plt.xlabel("p(x)")
  • ...: plt.ylabel("l(x)")
  • ...: plt.plot(x,y)
  • Out[4]: [<matplotlib.lines.Line2D at 0x8eeba90>]
信息值与概率之间的关系
图1:信息值与概率之间的关系

可以看到随着概率值的增加,信息值在降低。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门