-
决策树——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=∣S∣∣S1∣GINI(S1)+∣S∣∣S2∣GINI(S2) -
Candidate split 候选划分
- 对于有序(ordinal)的属性,其候选划分为 A ≤ v A\leq v A≤v 和 A > v A>v A>v , v v v 是属性中的一个值(必须是),并且保证两个划分中都至少有一个符合条件的 object
- 对于无序(Nominal)的属性,其候选划分为 A ∈ S A\in S A∈S 和 A ∉ S A\not\in S A∈S , 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)∈S∣h(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} X→Y 上的函数, 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} h∈H :
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∣S∣ln(1/δ)+ln∣H∣
我们应该:- 寻找在训练集上足够准确并且比较小的决策树
- 尽可能增加 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+α]≤e−2nα2P r [ s / n < p − α ] ≤ e − 2 n α 2 Pr[s/n<p-\alpha] \leq e^{-2n\alpha^2} Pr[s/n<p−α]≤e−2nα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=1∑nXi -
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∣S∣ln(1/δ)+ln∣H∣ ,可得:
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∣S∣ln(1/δ)+ln∣H∣]≤∣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∣S∣ln(1/δ)+ln∣H∣]≤∣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} ∣H∣≤264×106 , ln ∣ H ∣ ≤ 64 × 1 0 6 \ln{|\mathcal{H}|}\le64\times10^6 ln∣H∣≤64×106
今天的文章【数据挖掘】1. 决策树、Hunt算法、泛化定理[通俗易懂]分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/89063.html