熵理解及决策树算法

1、熵及条件熵

1.1熵

  • 熵(entropy)代表随机变量的不确定性,熵越大随机变量的不确定性就越大,就越混乱,自然状态下向着熵值增加的方向发展。

熵值大->不确定性大(p值越小)->混乱程度大.

依 据 B o l t z m a n n ′ s H − t h e o r e m , 香 农 把 随 机 变 量 X 的 熵 值 H ( 希 腊 字 母 E t a ) 定 义 如 下 , 其 值 域 为 x 1 , . . . , x n : 依据Boltzmann's H-theorem,香农把随机变量X的熵值 Η(希腊字母Eta)定义如下,其值域为{x1, ..., xn}: BoltzmannsHtheoremXHEtax1,...,xn

H ( p ) = E [ I ( X ) ] = E [ − ln ⁡ ( P ( X ) ) ] {\displaystyle \mathrm {H} (p)=\mathrm {E} [\mathrm {I} (X)]=\mathrm {E} [-\ln(\mathrm {P} (X))]} H(p)=E[I(X)]=E[ln(P(X))]

其 中 , P 为 X 的 概 率 质 量 函 数 ( p r o b a b i l i t y m a s s f u n c t i o n ) , E 为 期 望 函 数 , 而 I ( X ) 是 X 的 信 息 量 ( 又 称 为 自 信 息 ) 。 I ( X ) 本 身 是 个 随 机 变 数 。 其中,P为X的概率质量函数(probability mass function),E为期望函数,而I(X)是X的信息量(又称为自信息)。I(X)本身是个随机变数。 PXprobabilitymassfunctionEI(X)XI(X)

当取自有限的样本时,熵的公式可以表示为:

H ( p ) = ∑ x p ( x )   I ( x ) = − ∑ i p ( x ) log ⁡ b p ( x ) {\displaystyle \mathrm {H} (p)=\sum _{x}{\mathrm {p} (x)\,\mathrm {I} (x)}=-\sum _{i}{\mathrm {p} (x)\log _{b}\mathrm {p} (x)}} H(p)=xp(x)I(x)=ip(x)logbp(x)
在这里b是对数所使用的底,通常是2,自然常数e,或是10。当b = 2,熵的单位是bit;当b = e,熵的单位是nat;而当b = 10,熵的单位是Hart。

1、熵能看作随机变量的信息量的期望,与随机变量的取值无关,只与概率有关
2、X代表整个随机变量,x代表某个具体的值

![抛硬币的熵H(X)(即期望自信息,以比特度量,与之相对的是硬币的公正度Pr(X=1).注意图的最大值取决于分布;在这里,要传达一个公正的抛硬币结果至多需要1比特,但要传达一个公正的抛骰子结果至多需要log2(6)比特。]
(https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Binary_entropy_plot.svg/200px-Binary_entropy_plot.svg.png)
抛硬币的熵H(X)(即期望自信息,以比特度量,与之相对的是硬币的公正度Pr(X=1).注意图的最大值取决于分布;在这里,要传达一个公正的抛硬币结果至多需要1比特,但要传达一个公正的抛骰子结果至多需要log2(6)比特。

1.2交叉熵

  • 对于离散分布$ {\displaystyle p} 和 {\displaystyle q} ,$其中p为真实分布,q非真实分布, 这意味着:
    H ( p , q ) = − ∑ x p ( x )   log ⁡ q ( x ) . ​ {\displaystyle H(p,q)=-\sum _{x}p(x)\,\log q(x).\!} H(p,q)=xp(x)logq(x).

  • 根据Gibbs’ inequality可知,H(p,q)>=H§恒成立,当q为真实分布p时取等号。

  • 交叉熵是度量两个概率分布的统计量。差异越大,交叉熵越大;差异越小则交叉熵越小
  • KL散度(Kullback–Leibler divergence,KLD)
    D ( p ∣ ∣ q ) = H ( p , q ) − H ( p ) = ∑ x p ( x ) ∗ l o g p ( x ) q ( x ) D(p||q)=H(p,q)-H(p)=\sum_{x}^{} p(x)*log\frac{p(x)}{q(x)} D(pq)=H(p,q)H(p)=xp(x)logq(x)p(x)

PSI(population stability index)

P S I = ∑ ( p a c t u a l − q e x c e p t e d ) × l n ( p a c t u a l q e x c e p t e d ) PSI =\sum(p_{actual}-q_{excepted})\times ln(\frac{p_{actual}}{q_{excepted}}) PSI=(pactualqexcepted)×ln(qexceptedpactual)
P S I = K L ( p a c t u a l , q e x c e p t e d ) + K L ( q e x c e p t e d , p a c t u a l ) PSI = KL(p_{actual},q_{excepted}) + KL(q_{excepted},p_{actual}) PSI=KL(pactual,qexcepted)+KL(qexcepted,pactual)

一般认为PSI小于0.1时候模型稳定性很高,0.1-0.2一般,需要进一步研究,大于0.2模型稳定性差,建议修复

IV (information value)

设 p g o o d 为 在 该 变 量 分 组 下 的 好 样 本 的 分 布 , q b a d 为 坏 样 本 的 分 布 , 得 i v 值 的 计 算 公 式 为 : 设p_{good}为在该变量分组下的好样本的分布,q_{bad}为坏样本的分布,得iv值的计算公式为: pgoodqbadiv
K L ( p g o o d , q b a d ) + K L ( q b a d , p b a d ) KL(p_{good},q_{bad})+KL(q_{bad},p_{bad}) KL(pgood,qbad)+KL(qbad,pbad)

https://blog.csdn.net/shenxiaoming77/article/details/78771698

psi 和IV值本质上是一直的,都是看二维随机变量的分布稳定性情况,PSI是不同时间之间的稳定性,IV值是好坏群体间的稳定性

1.3 困惑度(Perplexity)

  • 对于随机变量X,其困惑度为:
    b H ( p ) = b − ∑ x p ( x ) l o g ( p ( x ) ) b^{H(p)}=b^{-\sum_{x}p(x)log(p(x))} bH(p)=bxp(x)log(p(x))

∑ x p ( x ) = 1 \sum_{x}p(x)=1 xp(x)=1

  • 概率模型困惑度
    b − 1 N ∑ i = 1 N H ( p , q ) b^{{-{\frac {1}{N}}\sum _{{i=1}}^{N}H(p,q)}} bN1i=1NH(p,q)
    H ( p , q ) = − ∑ x p ( x )   log ⁡ b q ( x ) H(p,q)=-\sum _{x}p(x)\,\log_{b} q(x) H(p,q)=xp(x)logbq(x)
    p ( x ) 中 只 有 一 个 值 为 1 , 其 对 应 的 预 测 概 率 为 q ( x i ) , 其 余 值 为 0 , 所 以 H ( p , q ) = − log ⁡ b q ( x i ) p(x)中只有一个值为1,其对应的预测概率为q(x_i),其余值为0,所以H(p,q)=-\log_{b}q(x_i) p(x)1,q(xi)0H(p,q)=logbq(xi)

b − 1 N ∑ i = 1 N log ⁡ b q ( x i ) b^{{-{\frac {1}{N}}\sum _{{i=1}}^{N}\log _{b}q(x_{i})}} bN1i=1Nlogbq(xi)

N为预测数据集合样本数, q ( x i ) q(x_i) q(xi)为真实值对应的预测概率

1.4条件熵

  • 条件熵定义
    (1.2.1) H ( Y ∣ X ) = − ∑ x ∈ X p ( x ) H ( Y ∣ X = x ) H(Y|X)=-\sum_{x \in X}p(x)H(Y|X=x)\tag{1.2.1} H(YX)=xXp(x)H(YX=x)(1.2.1)

  • 条件熵的三个推论
    (1.2.2) H ( Y ∣ X ) = − ∑ x ∈ X , y ∈ Y p ( x , y ) l o g   p ( y ∣ x ) H(Y|X)=-\sum_{x \in X,y\in Y}p(x,y)log\ p(y|x)\tag{1.2.2} H(YX)=xX,yYp(x,y)log p(yx)(1.2.2)
    (1.2.3) H ( Y ∣ X ) = H ( Y , X ) − H ( X ) H(Y|X)=H(Y,X)-H(X)\tag{1.2.3} H(YX)=H(Y,X)H(X)(1.2.3)
    (1.2.4) H ( X , Y ) = H ( Y ∣ X ) + H ( X ) = H ( X ∣ Y ) + H ( Y ) H(X,Y)=H(Y|X)+H(X)=H(X|Y)+H(Y)\tag{1.2.4} H(X,Y)=H(YX)+H(X)=H(XY)+H(Y)(1.2.4)

  • 推论的证明
    \begin{eqnarray}
    H(Y|X)&=&-\sum_{x \in X}p(x)H(Y|X=x)
    \
    &=&-\sum_{x \in X}p(x)\sum_{y \in Y}H(y|x)\tag{1.2.5}
    \
    &=&-\sum_{x \in X}p(x)\sum_{y \in Y}p(y|x)log\ p(y|x)\tag{1.2.6}
    \
    &=&-\sum_{x \in X,y\in Y}p(x,y)log\ p(y|x)\tag{1.2.7}
    \
    &=&-\sum_{x \in X,y\in Y}p(x,y)log\ \frac{p(y,x)}{p(x)}\tag{1.2.8}
    \
    &=&-\left[\sum_{x \in X,y\in Y}p(x,y)log\ p(y,x)-\sum_{x \in X,y\in Y}p(x,y)log\ p(x)\right]\tag{1.2.9}
    \
    &=&-\left[\sum_{x \in X,y\in Y}p(x,y)log\ p(y,x)-\sum_{x \in X}p(x)log\ p(x)\right]\tag{1.2.10}
    \
    &=&H(Y,X)-H(X)\tag{1.2.11}
    \end{eqnarray}

  • 1.2.6推导1.2.7利用如下:
    ∑ x ∈ X p ( x ) ∑ y ∈ Y p ( y ∣ x ) = ∑ x ∈ X , y ∈ Y p ( y , x ) \sum_{x \in X}p(x)\sum_{y \in Y}p(y|x)=\sum_{x \in X,y\in Y}p(y,x) xXp(x)yYp(yx)=xX,yYp(y,x)
  • 1.2.9推导1.2.10利用如下:
    ∑ x ∈ X ∑ y ∈ Y p ( x , y ) = ∑ x ∈ X p ( x ) \sum_{x \in X}\sum_{y \in Y}p(x,y)=\sum_{x \in X}p(x) xXyYp(x,y)=xXp(x)

1.3、互信息

  • 互信息的定义:
    (1.3.1) I ( X ; Y ) = ∑ x ∈ X ∑ y ∈ Y p ( x , y ) l o g ( p ( x , y ) p ( x ) ⋅ p ( y ) ) I(X;Y)=\sum_{x \in X}\sum_{y \in Y}p(x,y)log\left(\frac{p(x,y)}{p(x)\cdot p(y)}\right)\tag{1.3.1} I(X;Y)=xXyYp(x,y)log(p(x)p(y)p(x,y))(1.3.1)
  • 互信息的推论:
    \begin{eqnarray} I(X;Y) &=& H(X) - H(X|Y) \ &=& H(Y) - H(Y|X) \ &=& H(X) + H(Y) - H(X,Y) \ &=& H(X,Y) - H(X|Y) - H(Y|X) \end{eqnarray}
  • 推论的证明:
    \begin{eqnarray}
    \
    I(X;Y)&=&\sum_{x \in X}\sum_{y \in Y}p(x,y)log\left(\frac{p(x,y)}{p(x)\cdot p(y)}\right)
    \
    &=&\sum_{x \in X}\sum_{y \in Y}p(x,y)log\left(\frac{p(x|y)\cdot p(y)}{p(x)\cdot p(y)}\right)
    \
    &=&\sum_{x \in X}\sum_{y \in Y}p(x,y)log\left(\frac{p(x|y)}{p(x)}\right)
    \
    &=&\sum_{x \in X}\sum_{y \in Y}p(x,y)log\ p(x|y)-\sum_{x \in X}p(x)log\ p(x)
    \
    &=&H(X)-H(X|Y)
    \end{eqnarray}

互信息代表两者之间的关联性,关联性越强者互信息越大

  • 定义度量方式 d ( X , Y ) 代 表 两 个 随 机 变 量 的 距 离 d(X,Y)代表两个随机变量的距离 d(X,Y)
    d ( X , Y ) = H ( X , Y ) − I ( X ; Y ) d(X,Y)=H(X,Y)-I(X;Y) d(X,Y)=H(X,Y)I(X;Y)
  • 或者将其正则化,成为D(X,Y)
    D ( X , Y ) = d ( X , Y ) H ( X , Y ) D(X,Y)=\frac{d(X,Y)}{H(X,Y)} D(X,Y)=H(X,Y)d(X,Y)

2、信息增益

特 征 A 对 训 练 数 据 集 D 的 信 息 增 益 g ( D , A ) : 特征A对训练数据集D的信息增益g(D,A): ADg(D,A):
(2.1) g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A)=H(D)-H(D|A)\tag{2.1} g(D,A)=H(D)H(DA)(2.1)

信 息 增 益 大 的 特 征 具 有 更 强 的 分 类 能 力 , 因 为 信 息 增 益 大 , 所 以 H ( D ∣ A ) 就 小 , 就 是 在 特 征 A 的 条 件 下 D 的 分 类 不 确 定 性 小 , 混 乱 程 度 低 。 信息增益大的特征具有更强的分类能力,因为信息增益大,所以H(D|A)就小,就是在特征A的条件下D的分类不确定性小,混乱程度低。 H(DA)AD

(2.2) H ( D ) = − ∑ k = 1 K ∣ C k ∣ ∣ D ∣ l o g ∣ C k ∣ ∣ D ∣ H(D)=-\sum_{k=1}^{K}\frac{|C_{k}|}{|D|}log\frac{|C_{k}|}{|D|}\tag{2.2} H(D)=k=1KDCklogDCk(2.2)

(2.3) H ( D ∣ A ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ H ( D i ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ ( − ∑ k = 1 K ∣ D i k ∣ D i l o g ∣ D i k ∣ D i ) H(D|A)=\sum_{i=1}^{n}\frac{|D_{i}|}{|D|}H(D_{i})=\sum_{i=1}^{n}\frac{|D_{i}|}{|D|}\left(-\sum_{k=1}^{K}\frac{|D_{ik}|}{D_{i}}log\frac{|D_{ik}|}{D_{i}}\right)\tag{2.3} H(DA)=i=1nDDiH(Di)=i=1nDDi(k=1KDiDiklogDiDik)(2.3)

  • 训 练 数 据 集 为 D , ∣ D ∣ 为 其 样 本 容 量 , 设 有 K 个 类 C k , ∣ C k ∣ 为 属 于 类 C k 的 样 本 数 。 训练数据集为D,|D|为其样本容量,设有K个类C_{k},|C_{k}|为属于类C_{k}的样本数。 DDKCk,CkCk
  • 设 特 征 A 有 n 个 不 同 的 取 值 a 1 , . . . a n , 根 据 A 的 取 值 将 D 划 分 为 n 个 子 集 D 1 , . . . . , D n , ∣ D i ∣ 为 D i 样 本 个 数 。 设特征A有n个不同的取值{a_{1},...a_{n}},根据A的取值将D划分为n个子集D_{1},....,D_{n},|D_{i}|为D_{i}样本个数。 Ana1,...an,ADnD1,....,Dn,DiDi
  • 子 集 D i 中 属 于 类 C k 中 的 样 本 集 合 为 D i k 子集D_{i}中属于类C_{k}中的样本集合为D_{ik} DiCkDik

3、信息增益比

(3.1) g R ( D , A ) = g ( D , A ) H A ( D ) g_{R}(D,A)=\frac{g(D,A)}{H_{A}(D)}\tag{3.1} gR(D,A)=HA(D)g(D,A)(3.1)
(3.2) H A ( D ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ l o g ∣ D i ∣ ∣ D ∣ H_{A}(D)=-\sum_{i=1}^{n}\frac{|D_{i}|}{|D|}log\frac{|D_{i}|}{|D|}\tag{3.2} HA(D)=i=1nDDilogDDi(3.2)

#4、CART(classification and regression)
##4.1、基尼指数
对于给定的样本集合D,其基尼指数为:
(4.1.1) G i n i ( D ) = 1 − ∑ k = 1 K ( ∣ C k ∣ ∣ D ∣ ) 2 Gini(D)=1-\sum_{k=1}^{K}(\frac{|C_{k}|}{|D|})^{2}\tag{4.1.1} Gini(D)=1k=1K(DCk)2(4.1.1)

(4.1.2) G i n i ( D , A ) = ∑ i = 1 K ∣ D i ∣ ∣ D ∣ G i n i ( D i ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ ( 1 − ∑ k = 1 K ( ∣ D i k ∣ ∣ D i ∣ ) 2 ) Gini(D,A)=\sum_{i=1}^{K}\frac{|D_{i}|}{|D|}Gini(D_{i})=\sum_{i=1}^{n}\frac{|D_{i}|}{|D|}\left(1-\sum_{k=1}^{K}\left(\frac{|D_{ik}|}{|D_{i}|}\right)^{2}\right)\tag{4.1.2} Gini(D,A)=i=1KDDiGini(Di)=i=1nDDi(1k=1K(DiDik)2)(4.1.2)

如果是二叉树,则同一特征在不同子树中可进行不同标准的多次分裂。

4.2、回归树(Regression Tree)

4.2.1 最小二乘回归树生成算法

  • 1 、 选 择 最 优 切 分 变 量 j 与 切 分 点 s , 求 解 1、选择最优切分变量j与切分点s,求解 1js,

m i n j , s [ m i n c 1 ∑ x i ∈ R 1 ( j , s ) ( y i − c 1 ) 2 + m i n c 2 ∑ x i ∈ R 2 ( j , s ) ( y i − c 2 ) 2 ] \underset{j,s}{min}\left [\underset{c_{1}}{min}\sum_{x_{i}\in R_{1}(j,s)}(y_{i}-c_{1})^2 +\underset{c_{2}}{min}\sum_{x_{i}\in R_{2}(j,s)}(y_{i}-c_{2})^2 \right] j,sminc1minxiR1(j,s)(yic1)2+c2minxiR2(j,s)(yic2)2

遍 历 变 量 j ( 自 变 量 X 的 维 度 ) , 对 固 定 的 切 分 变 量 j 扫 描 切 分 点 s , 选 择 使 上 式 达 到 最 小 值 的 ( j , s ) 遍历变量j(自变量X的维度),对固定的切分变量j扫描切分点s,选择使上式达到最小值的(j,s) j(X)js使(j,s)
在 自 变 量 X 的 第 j 维 度 , x j ⩽ s 的 数 据 为 R 1 空 间 , 模 型 的 拟 合 值 为 c 1 , 残 差 为 R 1 空 间 的 y 值 与 c 1 值 的 差 , 即 : r i = y i − c 1   x i ∈ R 1 ( j , s ) 在自变量X的第j维度,x_{j}\leqslant s的数据为R_{1}空间,模型的拟合值为c_{1},残差为R_{1}空间的y值与c_{1}值的差,即:r_{i}=y_{i}-c_{1}\ x_{i}\in R_{1}(j,s) XjxjsR1c1,R1yc1ri=yic1 xiR1(j,s)
在 自 变 量 X 的 第 j 维 度 ,   x j > s 的 数 据 为 R 2 空 间 , 模 型 的 拟 合 值 为 c 2 , 残 差 为 R 2 空 间 的 y 值 与 c 2 值 的 差 , 即 : r i = y i − c 2   x i ∈ R 2 ( j , s ) 在自变量X的第j维度,\ x_{j}>s的数据为R_{2}空间,模型的拟合值为c_{2},残差为R_{2}空间的y值与c_{2}值的差,即:r_{i}=y_{i}-c_{2}\ x_{i}\in R_{2}(j,s) Xj xj>sR2c2,R2yc2ri=yic2 xiR2(j,s)
此 式 为 双 重 循 环 , 首 先 在 自 变 量 的 维 度 j , 然 后 在 此 维 度 下 寻 找 最 合 适 的 s 。 此式为双重循环,首先在自变量的维度j,然后在此维度下寻找最合适的s。 js


  • ( y i − c 1 ) 2 , y i − c 2 ) 2 为 损 失 函 数 。 (y_{i}-c_{1})^2,y_{i}-c_{2})^2为损失函数。 (yic1)2,yic2)2
  • 平 方 损 失 : L ( y , f ( x ) ) = 1 2 ( y − f ( x ) ) 2 即 残 差 的 平 方 和 , 所 以 为 最 小 二 次 回 归 树 平方损失: L(y, f(x)) = \frac{1}{2}(y − f(x))^2即残差的平方和,所以为最小二次回归树 L(y,f(x))=21(yf(x))2
  • 绝 对 值 损 失 L ( y , f ( x ) ) = ∣ y − f ( x ) ∣ 绝对值损失 L(y,f(x))=|y-f(x)| L(y,f(x))=yf(x)
  • huber 损失: h u b e r   l o s s : L ( y , f ( x ) ) = { 1 2 ( y − f ( x ) ) 2 ∣ y − f ( x ) ∣ &lt; = δ δ ( ∣ y − f ( x ) ∣ − δ / 2 ) ∣ y − f ( x ) ∣ &gt; δ huber \ loss: L(y,f(x))=\left\{\begin{matrix} \frac{1}{2}(y-f(x))^2 &amp; |y-f(x)|&lt;=\delta \\ \delta(|y-f(x)|-\delta/2) &amp; |y-f(x)|&gt;\delta\end{matrix}\right. huber loss:L(y,f(x))={21(yf(x))2δ(yf(x)δ/2)yf(x)<=δyf(x)>δ
  • 2 、 用 选 定 的 ( j , s ) , 划 分 区 域 并 决 定 相 应 的 输 出 值 : 2、用选定的(j,s),划分区域并决定相应的输出值: 2(j,s)
    R 1 ( j , s ) = { x ∣ x j ⩽ s } R_{1}(j,s)=\{x|x^{j}\leqslant s\} R1(j,s)={xxjs}
    R 2 ( j , s ) = { x ∣ x j &gt; s } R_{2}(j,s)=\{x|x^{j}&gt; s\} R2(j,s)={xxj>s}
    c m ^ = 1 N m ∑ x i ∈ R m ( j , s ) y i   ,   m = 1 , 2 \hat{c_{m}}=\frac{1}{N_{m}}\sum_{x_{i}\in R_{m}(j,s)}y_{i} \ , \ m=1,2 cm^=Nm1xiRm(j,s)yi , m=1,2

  • 3、继续对两个子区域调用步骤1,2直至满足停止条件

  • 4 、 将 输 入 空 间 划 分 为 M 个 区 域 R 1 , R 2 , . . . , R M , 生 成 决 策 树 : 4、将输入空间划分为M个区域R_{1},R_{2},...,R_{M},生成决策树: 4MR1,R2,...,RM
    f ( x ) = ∑ m = 1 M c m ^ I   ( x ∈ R m ) f(x)=\sum_{m=1}^{M}\hat{c_{m}}I\ (x\in R_{m}) f(x)=m=1Mcm^I (xRm)

![这里写图片描述](https://img-blog.csdn.net/20161115120515855)

#参考文献

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值