(警告:本人为初学者,不保证本贴的正确性. 如有异议请留言, 感激不尽!)
动机
随机噪音对模型的影响.
所谓随机噪音,就是把正例、负例进行随机的改变.
例子
如图1所示:
- X = [ 0 , 1 ] \mathcal{X} = [0, 1] X=[0,1].
- Y = { − 1 , + 1 } \mathcal{Y} = \{-1, +1\} Y={−1,+1} 对应于两个决策类, 分别用三角型(负例)和圆圈(正例)标注.
- 3个数据点: S = { 0.05 , 0.35 , 0.6 } S = \{0.05, 0.35, 0.6\} S={0.05,0.35,0.6}.
- H = { ( d , s g n ) ∣ d ∈ [ 0 , 1 ] , s g n ∈ { ′ > ′ , ′ < ′ } } \mathcal{H} = \{(d, sgn) | d \in [0, 1], sgn \in \{'>' , '<'\}\} H={(d,sgn)∣d∈[0,1],sgn∈{′>′,′<′}}. 当 s g n = ′ > ′ sgn = '>' sgn=′>′时, 表示 x < d x < d x<d时分类为 − 1 -1 −1, 否则分类为 + 1 +1 +1. 当 s g n = ′ < ′ sgn = '<' sgn=′<′时, 表示 x < d x < d x<d时分类为 + 1 +1 +1, 否则分类为 − 1 -1 −1.
- 根据模型
H
\mathcal{H}
H, 给
S
S
S中数据打标签方式共6种:
h = ( 0.02 , ′ < ′ ) h = (0.02, '<') h=(0.02,′<′): ( − 1 , − 1 , − 1 ) (-1, -1, -1) (−1,−1,−1), h = ( 0.02 , ′ > ′ ) h = (0.02, '>') h=(0.02,′>′): ( + 1 , + 1 , + 1 ) (+1, +1, +1) (+1,+1,+1),
h = ( 0.2 , ′ < ′ ) h = (0.2, '<') h=(0.2,′<′): ( + 1 , − 1 , − 1 ) (+1, -1, -1) (+1,−1,−1), h = ( 0.2 , ′ > ′ ) h = (0.2, '>') h=(0.2,′>′): ( − 1 , + 1 , + 1 ) (-1, +1, +1) (−1,+1,+1),
h = ( 0.4 , ′ < ′ ) h = (0.4, '<') h=(0.4,′<′): ( + 1 , + 1 , − 1 ) (+1, +1, -1) (+1,+1,−1), h = ( 0.4 , ′ > ′ ) h = (0.4, '>') h=(0.4,′>′): ( − 1 , − 1 , + 1 ) (-1, -1, +1) (−1,−1,+1).
令这6种方式的集合为 Y Y Y.
当分割点大于 0.6 0.6 0.6时, 等价于分割点小于 0.05 0.05 0.05, 即表示全 − 1 -1 −1或全 + 1 +1 +1. - 对于该数据集, 假设(分类器) h 1 = ( 0.01 , ′ < ′ ) h_1 = (0.01, '<') h1=(0.01,′<′)与 h 2 = ( 0.02 , ′ < ′ ) h_2 = (0.02, '<') h2=(0.02,′<′)等价. 等价的分类器仅有6个. 它们获得了上述6种结果.
- 使用式(该式与[2]比较一致, 但与[1]不同. 这也是我纠结的地方.)
R ( Y ) = E σ [ sup y ∈ Y ( 1 m ∑ i = 1 m σ i y i ) ] . R(Y) = \mathbb{E}_{\sigma}\left[\sup_{y \in Y}\left(\frac{1}{m} \sum_{i = 1}^m \sigma_i y_i\right)\right]. R(Y)=Eσ[y∈Ysup(m1i=1∑mσiyi)]. - σ = ( σ 1 , σ 2 , σ 3 ) \sigma = (\sigma_1, \sigma_2, \sigma_3) σ=(σ1,σ2,σ3)长度为 m = 3 m = 3 m=3, 有8种取值, 从 ( − 1 , − 1 , − 1 ) (-1, -1, -1) (−1,−1,−1)至 ( + 1 , + 1 , + 1 ) (+1, +1, +1) (+1,+1,+1)假设其概率相同, 均为 1 / 8 1/8 1/8.
- 当 σ = ( − 1 , − 1 , − 1 ) \sigma = (-1, -1, -1) σ=(−1,−1,−1)时, y = ( − 1 , − 1 , − 1 ) y = (-1, -1, -1) y=(−1,−1,−1)可使方括号中间的值取最大值1.
- 当 σ = ( − 1 , + 1 , − 1 ) \sigma = (-1, +1, -1) σ=(−1,+1,−1)时, 由于 ( − 1 , + 1 , − 1 ) ∉ Y (-1, +1, -1) \not\in Y (−1,+1,−1)∈Y, 即无法找到与随机噪音 σ \sigma σ完全匹配的分类方式, y = ( − 1 , − 1 , − 1 ) y = (-1, -1, -1) y=(−1,−1,−1) 或 ( − 1 , + 1 , + 1 ) (-1, +1, +1) (−1,+1,+1)或 ( + 1 , + 1 , − 1 ) (+1, +1, -1) (+1,+1,−1)均可使方括号中间的值取最大值1/3.
- 8种 σ \sigma σ取值, 有6种与 Y Y Y中元素匹配, 匹配时最大值为1, 不匹配时最大值为1/3, 因此Rademacher复杂度为(6 + 2/3)/8 = 20/24 = 5/6.
分析
- 该例说明了 Y Y Y对随机噪音的适应性, 如果存在 y = σ y = \sigma y=σ, 则相应项为1.
- Y Y Y是由 H \mathcal{H} H得到的,所以说明了 H \mathcal{H} H的适应性. 这点比文献[3]更进一步.
- 与数据的具体标签无关.
- 没弄清楚书上[1]的Loss function是怎么用的.
进一步说明
- 由于
Y
Y
Y可以是由
H
\mathcal{H}
H中不同元素产生的, 所以可重写式子为
R S ( H ) = E σ [ sup h ∈ H ( 1 m ∑ i = 1 m σ i h ( x i ) ) ] . R_S(\mathcal{H}) = \mathbb{E}_{\sigma}\left[\sup_{h \in \mathcal{H}}\left(\frac{1}{m} \sum_{i = 1}^m \sigma_i h(x_i)\right)\right]. RS(H)=Eσ[h∈Hsup(m1i=1∑mσih(xi))]. - 本例中 R S ( H ) R_S(\mathcal{H}) RS(H)与具体的数据集 S S S无关,而仅与数据集大小 m m m有关,所以 R S ( H ) = R m ( H ) R_S(\mathcal{H}) = R_m(\mathcal{H}) RS(H)=Rm(H), 即经验Rademacher复杂度与Rademacher复杂度一致. 它们不一致的例子我还没想好.
参考文献
[1]: Foundations of Machine Learning.
[2]: 周志华: 机器学习.
[3]: https://blog.csdn.net/pearl30/article/details/74905593