【数据挖掘】1. 决策树、Hunt算法、泛化定理[通俗易懂]

【数据挖掘】1. 决策树、Hunt算法、泛化定理[通俗易懂]泛化误差:在一个相当相当大的训练集,或者无穷大,包含了所有可能出现的情况的集合,被

  • 决策树——Hunt’s algorithm(贪心)

    在这里插入图片描述

    • 红色语句加上后减轻过拟合,下边的GINI系数解决 Hunt’s algorithm 第五行如何寻找最好的划分方法
  • GINI Index

    1减训练集S中yes占比和no占比的平方和,取值范围0-0.5
    G I N I ( S ) = 1 − ( p y 2 + p n 2 ) GINI(S)=1-(p^2_y+p^2_n) GINI(S)=1(py2+pn2)

  • GINI split

    划分质量:GINI split 越小,划分越好
    G I N I s p l i t = ∣ S 1 ∣ ∣ S ∣ G I N I ( S 1 ) + ∣ S 2 ∣ ∣ S ∣ G I N I ( S 2 ) GINI_{split} = \frac{|S_1|}{|S|}GINI(S_1)+\frac{|S_2|}{|S|}GINI(S_2) GINIsplit=SS1GINI(S1)+SS2GINI(S2)

  • Candidate split 候选划分

    • 对于有序(ordinal)的属性,其候选划分为 A ≤ v A\leq v Av A > v A>v A>v v v v 是属性中的一个值(必须是),并且保证两个划分中都至少有一个符合条件的 object
    • 对于无序(Nominal)的属性,其候选划分为 A ∈ S A\in S AS A ∉ S A\not\in S AS , S S S 是属性的子集,并且保证两个划分中都至少有一个符合条件的 object
  • Gain 增益
    G a i n = G I N I ( S ) − G I N I s p l i t Gain = GINI(S) – GINI_{split} Gain=GINI(S)GINIsplit

  • 经验误差和泛化误差

    • 经验误差:训练集上被 h ( x ) h(x) h(x)预测错误的概率
      e r r S ( h ) = ∣ { ( x , y ) ∈ S ∣ h ( x ) ≠ y } ∣ ∣ S ∣ err_{\mathcal{S}}(h)=\frac{|\{(x,y)\in\mathcal{S}|h(x)\neq y\}|}{|\mathcal{S}|} errS(h)=S{(x,y)Sh(x)=y}

    • 泛化误差:在一个相当相当大的训练集,或者无穷大,包含了所有可能出现的情况的集合,被 h ( x ) h(x) h(x)预测错误的概率
      e r r D ( h ) = P r ( x , y ) ∼ D [ h ( x ) ≠ y ] err_{\mathcal{D}}(h) =Pr_{(x,y)\sim D}[h(x)\neq y] errD(h)=Pr(x,y)D[h(x)=y]

    其中 h h h 为一个 X → Y \mathcal{X}\rarr\mathcal{Y} XY 上的函数, D \mathcal{D} D X × Y \mathcal{X}\times\mathcal{Y} X×Y 上的概率分布

  • 最终目标:最小化泛化误差

    但是我们不可能知道所有关于 D \mathcal{D} D 的准确信息,所以我们只能用从 D \mathcal{D} D 中拿出的训练集 S \mathcal{S} S 寻找一个泛化误差比较小的分类器 h h h ,当训练集的大小相当大时,分类器的可靠性才足够好

  • Generalization Theorem 泛化理论

    H \mathcal{H} H 是可能返回的分类器的集合,下边的声明具有至少 1 − δ 1-\delta 1δ 0 < δ ≤ 1 0<\delta\leq1 0<δ1)的概率成立:

    对于任意 h ∈ H h\in \mathcal{H} hH :
    e r r D ( h ) ≤ e r r S ( h ) + ln ⁡ ( 1 / δ ) + ln ⁡ ∣ H ∣ 2 ∣ S ∣ err_{\mathcal{D}}(h)\leq err_{\mathcal{S}}(h)+\sqrt{\frac{\ln(1/\delta)+\ln |\mathcal{H}|}{2|\mathcal{S}|}} errD(h)errS(h)+2∣Sln(1/δ)+lnH

    我们应该:

    • 寻找在训练集上足够准确并且比较小的决策树
    • 尽可能增加 S \mathcal{S} S 的大小
  • 泛化理论的证明

    • 有 Hoeffding Bounds 定理如下(不需要证明):

      对于 X 1 , … , X n X_1,\dots,X_n X1,,Xn 个独立的满足伯努利分布的随机变量: P r [ X i = 1 ] = p Pr[X_i=1] = p Pr[Xi=1]=p i ∈ [ 1 , n ] i\in[1,n] i[1,n] ;令 s = ∑ i = 1 n X i s=\sum^{n}_{i=1}X_i s=i=1nXi ,则任意 0 ≤ α ≤ 1 0\leq\alpha\leq1 0α1
      P r [ s / n > p + α ] ≤ e − 2 n α 2 Pr[s/n>p+\alpha] \leq e^{-2n\alpha^2} Pr[s/n>p+α]e2nα2

      P r [ s / n < p − α ] ≤ e − 2 n α 2 Pr[s/n<p-\alpha] \leq e^{-2n\alpha^2} Pr[s/n<pα]e2nα2

    • 对于一个训练集分类器的经验误差表示为:
      e r r S ( h ) = 1 n ∑ i = 1 n X i err_{\mathcal S}(h) = \frac{1}{n} \sum^{n}_{i=1}X_i errS(h)=n1i=1nXi

    • P r [ X i = 1 ] = p Pr[X_i=1] = p Pr[Xi=1]=p 即为泛化误差 e r r D ( h ) err_{\mathcal{D}}(h) errD(h)

    • α = ln ⁡ ( 1 / δ ) + ln ⁡ ∣ H ∣ 2 ∣ S ∣ \alpha=\sqrt{\frac{\ln(1/\delta)+\ln |\mathcal{H}|}{2|\mathcal{S}|}} α=2∣Sln(1/δ)+lnH
      ,可得:
      P r [ e r r S ( h ) < e r r D ( h ) − ln ⁡ ( 1 / δ ) + ln ⁡ ∣ H ∣ 2 ∣ S ∣ ] ≤ δ ∣ H ∣ Pr\left[err_{\mathcal{S}}(h)< err_{\mathcal{D}}(h)-\sqrt{\frac{\ln(1/\delta)+\ln |\mathcal{H}|}{2|\mathcal{S}|}}\right]\leq\frac{\delta}{|\mathcal{H}|} Pr[errS(h)<errD(h)2∣Sln(1/δ)+lnH
      ]
      Hδ

      即为:
      P r [ e r r D ( h ) > e r r S ( h ) + ln ⁡ ( 1 / δ ) + ln ⁡ ∣ H ∣ 2 ∣ S ∣ ] ≤ δ ∣ H ∣ Pr\left[err_{\mathcal{D}}(h)> err_{\mathcal{S}}(h)+\sqrt{\frac{\ln(1/\delta)+\ln |\mathcal{H}|}{2|\mathcal{S}|}}\right]\leq\frac{\mathcal{\delta}}{|\mathcal{H}|} Pr[errD(h)>errS(h)+2∣Sln(1/δ)+lnH
      ]
      Hδ

      每一个分类器失败的概率最多为 δ ∣ H ∣ \frac{\mathcal{\delta}}{|\mathcal{H}|} Hδ ,那么至少一个分类器失败的概率为最多 δ \delta δ ,所以没有分类器失败的概率为最少 1 − δ 1- \delta 1δ

  • 所有可能的分类器数量

    • 每一个分类器需要用一个参数集合来表示,参数需要用一系列的二进制数表示,这就是数字如何在计算机中存储的。如果一个分类器有 1 0 6 10^6 106 个参数,每一个参数都是用一个浮点数(64bits)表示的。那么一共需要 64 × 1 0 6 64\times10^6 64×106 bits,所有可能的分类器数量,也就是 ∣ H ∣ ≤ 2 64 × 1 0 6 |\mathcal{H}|\leq2^{64\times10^6} H264×106 ln ⁡ ∣ H ∣ ≤ 64 × 1 0 6 \ln{|\mathcal{H}|}\le64\times10^6 lnH64×106

今天的文章【数据挖掘】1. 决策树、Hunt算法、泛化定理[通俗易懂]分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/89063.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注