Last updated on November 27, 2024 7:56 PM
本节内容假设模型为二分类,y ∈ { 1 , − 1 } y \in \{1,-1\} y ∈ { 1 , − 1 } ,x ∈ X x\in \mathcal{X} x ∈ X 。
问题引入
定义 E in E_{\text{in}} E in 表示训练误差(in-sample error)。令 h ∈ H h \in \mathcal{H} h ∈ H 为一个模型,例如 h ( x ) = sgn ( w T x + b ) h(x) = \operatorname{sgn}(w^T x + b) h ( x ) = s g n ( w T x + b ) 。
E in = 1 n ∑ i ∈ [ n ] 1 ( h ( x i ) ≠ y i ) E_{\text{in}} = \frac{1}{n} \sum_{i \in [n]} 1(h(x_i)\neq y_i)
E in = n 1 i ∈ [ n ] ∑ 1 ( h ( x i ) = y i )
此处 1 1 1 为 indicator function,和艾弗森括号是一个意思。
定义 E out E_{\text{out}} E out 为 out of sample error。事实上,我们更关心 E out E_{\text{out}} E out 而不是 E in E_{\text{in}} E in 。二者之间有某种 trade-off。
E out ( h ) = E ( x , y ) ∼ P X Y 1 ( h ( x ) ≠ y ) = P ( h ( x ) ≠ y ) E_{\text{out}}(h) = E_{(x,y) \sim P_{XY}} 1(h(x)\neq y) = P(h(x)\neq y)
E out ( h ) = E ( x , y ) ∼ P X Y 1 ( h ( x ) = y ) = P ( h ( x ) = y )
由这两个相减即得到 generalization error = E out ( h ) − E in ( h ) = E_{\text{out}(h)} - E_{\text{in}}(h) = E out ( h ) − E in ( h ) 。
不同资料中对 generalization error 的定义不一样,有些认为是 E out ( h ) E_{\text{out}}(h) E out ( h ) ,我们这里认为是 E out E_{\text{out}} E out 与 E in E_{\text{in}} E in 之差。所以不对这两个定义给出中文翻译了。
举例:对于两个学生
Student
Exercise
Exam
Ein
Eout
GE
A
100
40
0
0.6
0.6
B
80
80
0.2
0.2
0
如今深度学习模型的拟合能力都很强,所以一般不会出现 GE < 0 <0 < 0 的情况。
我们的目标:使 GE 尽可能小。
事实上由于 E out E_{\text{out}} E out 可以任意大(接近于 1 1 1 ),所以 GE 也是可以任意大的,所以我们无法对 GE 给出一个绝对的界。所以机器学习是伪学科(x)
PAC 理论
我们没法给出一个绝对的界,但可以给出一个概率意义上的界。例如说:以一个相当高的概率(1 − δ 1-\delta 1 − δ )有 E out ( h ) − E in ( h ) < ε ( H , n , δ ) E_{\text{out}}(h) - E_{\text{in}}(h) < \varepsilon(\mathcal{H},n,\delta) E out ( h ) − E in ( h ) < ε ( H , n , δ ) 。即这个所谓的 ε \varepsilon ε 为模型空间、训练数据与 δ \delta δ 的函数。这套语言称为 probably approximately correct (PAC) theory。
Hoeffding 不等式
给定独立有界随机变量 x 1 , ⋯ , x n x_1, \cdots ,x_n x 1 , ⋯ , x n (不要求同分布),x i ∈ [ a i , b i ] x_i \in [a_i,b_i] x i ∈ [ a i , b i ] 。
定义随机变量 x ˉ = 1 n ∑ i ∈ [ n ] x i \bar{x}= \displaystyle \frac{1}{n} \sum_{i \in [n]}x_i x ˉ = n 1 i ∈ [ n ] ∑ x i ,则对 ∀ ε > 0 \forall \varepsilon>0 ∀ ε > 0 ,我们有
P ( x ˉ − E [ x ˉ ] ≥ ε ) ≤ exp ( − 2 n 2 ε 2 ∑ i ∈ [ n ] ( b i − a i ) 2 ) P(\bar{x} - E[\bar{x}]\ge \varepsilon) \le \exp\left( - \frac{2n^2 \varepsilon^2}{\sum_{i \in [n]}(b_i - a_i)^{2}} \right)
P ( x ˉ − E [ x ˉ ] ≥ ε ) ≤ exp ( − ∑ i ∈ [ n ] ( b i − a i ) 2 2 n 2 ε 2 )
且
P ( E [ x ˉ ] − x ≥ ε ) ≤ exp ( − 2 n 2 ε 2 ∑ i ∈ [ n ] ( b i − a i ) 2 ) P(E[\bar{x}]-x\ge \varepsilon) \le \exp\left( - \frac{2n^2 \varepsilon^2}{\sum_{i \in [n]}(b_i - a_i)^{2}} \right)
P ( E [ x ˉ ] − x ≥ ε ) ≤ exp ( − ∑ i ∈ [ n ] ( b i − a i ) 2 2 n 2 ε 2 )
证明超出本课范围,略过。
尝试理解:形式与中心极限定理很像。但不同的是,中心极限定理要求 n → + ∞ n\to +\infty n → + ∞ ,而 Hoeffding 不等式是对 ∀ n \forall n ∀ n 成立的。
E [ x ˉ ] − x E[\bar{x}]-x E [ x ˉ ] − x 可以理解为 GE,ε \varepsilon ε 在不等式两边作 trade off,ε \varepsilon ε 越大,右边越小,反之亦然。n n n 越大,右边越小(训练数据集大,自然更容易控制 GE),而 b i − a i b_i-a_i b i − a i 越大,右边越大(x i x_i x i 的值域越大,模型自然更难控制)
接下来,对于一个固定的 h h h ,我们一定有
P ( GE ≥ ε ) ≤ exp ( − 2 n ε 2 ) P(\text{GE}\ge \varepsilon)\le \exp(-2n \varepsilon^{2})
P ( GE ≥ ε ) ≤ exp ( − 2 n ε 2 )
证明:根据 E in E_{\text{in}} E in 的定义,1 ( h ( x i ) ≠ y i ) 1(h(x_i)\neq y_i) 1 ( h ( x i ) = y i ) 可以看成随机变量 X i X_i X i ,E in E_{\text{in}} E in 自然就是 X i X_i X i 的均值 X ˉ \bar{X} X ˉ 。而考虑 E [ X ˉ ] E[\bar{X}] E [ X ˉ ] ,其即为
E [ E in ( h ) ] = 1 n ∑ i ∈ [ n ] E ( x i , y i ) ∼ P X Y 1 ( h ( x i ) ≠ y i ) = E out ( h ) \begin{aligned}
E[E_{\text{in}(h)}] &= \frac{1}{n} \sum_{i \in [n]} E_{(x_i,y_i)\sim P_{XY}} 1(h(x_i)\neq y_i) \\ &= E_{\text{out}}(h)
\end{aligned}
E [ E in ( h ) ] = n 1 i ∈ [ n ] ∑ E ( x i , y i ) ∼ P X Y 1 ( h ( x i ) = y i ) = E out ( h )
而 x i x_i x i 的上下界自然是 [ 0 , 1 ] [0,1] [ 0 , 1 ] ,全部带入 Hoeffding 不等式就得到了上式。变换一下形式以贴近我们一开始想要的形式:以至少 1 − exp ( − 2 n ε 2 ) 1- \exp(-2n \varepsilon ^{2}) 1 − exp ( − 2 n ε 2 ) 的概率,有 GE ≤ ε \text{GE}\le \varepsilon GE ≤ ε 。
再令 exp ( − 2 n ε 2 ) = δ \exp(-2n \varepsilon^{2}) = \delta exp ( − 2 n ε 2 ) = δ ,则 ε = 1 2 n log 1 δ \varepsilon = \displaystyle \sqrt{\frac{1}{2n}\log \frac{1}{\delta}} ε = 2 n 1 log δ 1 ,更贴近了!但这个界并没有多大的意义,因为在推导的时候我们的前提是固定了模型 h h h ,但是训练之前我们也并不知道会训练出一个什么样的 h h h 。not a practical bound 。训练造成的最严重的问题就是 1 ( h ( x i ) ≠ y i ) 1(h(x_i) \neq y_i) 1 ( h ( x i ) = y i ) 不独立了 ,于是 Hoeffding 不等式就用不了了。
疑问:对于固定的 h h h ,相当于是 ∀ h \forall h ∀ h ,但是训练得到的 h h h 难道不是 h h h 吗,为什么就不成立了?
因为这个界是没见过训练数据就得到的 h h h ,训练过程后 h h h 是已经见过这个 sampled 训练数据的了,自然就不能套用上面的界了。
既然我们不能确定一个 h h h ,那么就考虑给 H \mathcal{H} H 一个界,这样对于 ∀ h \forall h ∀ h 就都能成立了。
假设 H \mathcal{H} H 为有限集 { h 1 , ⋯ , h m } \{h_1, \cdots ,h_m\} { h 1 , ⋯ , h m } ,考虑 union bound P ( ∃ h ∈ H , GE ( h ) ≥ ε ) P(\exists h \in \mathcal{H}, \text{GE}(h)\ge \varepsilon) P ( ∃ h ∈ H , GE ( h ) ≥ ε ) 。这里 ∃ h \exists h ∃ h 一段的意思就是 GE ( h 1 ) ≥ ε or GE ( h 2 ) ≥ ε or ⋯ or GE ( h m ) ≥ ε \text{GE}(h_1)\ge \varepsilon \text{ or } \text{GE}(h_2)\ge \varepsilon \text{ or }\cdots\text{ or } \text{GE}(h_m)\ge \varepsilon GE ( h 1 ) ≥ ε or GE ( h 2 ) ≥ ε or ⋯ or GE ( h m ) ≥ ε 。所以有
P ( ∃ h ∈ H , GE ( h ) ≥ ε ) ≤ ∑ i ∈ [ m ] P ( GE ( h i ) ≥ ε ) ≤ m exp ( − 2 n ε 2 ) P(\exists h \in \mathcal{H}, \text{GE}(h) \ge \varepsilon) \le \sum_{i \in [m]} P(\text{GE}(h_i) \ge \varepsilon) \le m \exp(-2n \varepsilon^{2})
P ( ∃ h ∈ H , GE ( h ) ≥ ε ) ≤ i ∈ [ m ] ∑ P ( GE ( h i ) ≥ ε ) ≤ m exp ( − 2 n ε 2 )
于是现在有了第一个 practical PAC bound。直觉:H \mathcal{H} H 越大,越难给出一个紧的界。尝试将其写成标准形式,令 δ = m exp ( − 2 n ε 2 ) \delta = m \exp(-2n \varepsilon^{2}) δ = m exp ( − 2 n ε 2 ) ,解得 ε = 1 2 n log m δ \varepsilon = \displaystyle \sqrt{\frac{1}{2n}\log \frac{m}{\delta}} ε = 2 n 1 log δ m 。即有至少 1 − δ 1-\delta 1 − δ 的概率,∀ h ∈ H , GE ( h ) < 1 2 n log m δ \displaystyle \forall h \in \mathcal{H}, \text{GE}(h) < \sqrt{\frac{1}{2n}\log \frac{m}{\delta}} ∀ h ∈ H , GE ( h ) < 2 n 1 log δ m 。
但是一般而言 H \mathcal{H} H 不是有限集,例如某 RKHS 状物 H = { h : h ( x ) = sgn ( w T x + b ) } \mathcal{H} = \{h: h(x) = \operatorname{sgn}(w^Tx+b)\} H = { h : h ( x ) = s g n ( w T x + b ) } ,此时无法使用 union bound。
但是可以发现,union bound 对每一个 h h h 都统计一次 error,这个界明显过于松了。
待修。待修。待修。待修。待修。待修。待修。待修。待修。待修。待修。待修。待修。待修。待修。待修。
成长函数(growth function)
将某个 h ∈ H h \in \mathcal{H} h ∈ H 应用在 x 1 , x 2 , ⋯ , x n ∈ X x_1,x_2, \cdots ,x_n \in \mathcal{X} x 1 , x 2 , ⋯ , x n ∈ X 以得到 n n n 元组 ( h ( x 1 ) , h ( x 2 ) , ⋯ , h ( x n ) ) (h(x_1),h(x_2), \cdots ,h(x_n)) ( h ( x 1 ) , h ( x 2 ) , ⋯ , h ( x n ) ) ,其被称为一个 dichotomy(二分)。
令 H ( x 1 , x 2 , ⋯ , x n ) : = { ( h ( x 1 ) , ⋯ , h ( x n ) ) : h ∈ H } \mathcal{H}(x_1,x_2, \cdots ,x_n):= \{(h(x_1), \cdots ,h(x_n)): h \in \mathcal{H}\} H ( x 1 , x 2 , ⋯ , x n ) : = { ( h ( x 1 ) , ⋯ , h ( x n ) ) : h ∈ H } ,即对 x 1 , ⋯ , x n x_1, \cdots ,x_n x 1 , ⋯ , x n 上作用所有 h h h 能得到的所有 dichotomy 的集合。
接下来给出成长函数的定义:对于 H \mathcal{H} H ,m H ( n ) m_{\mathcal{H}}(n) m H ( n ) 被定义为
m H ( n ) = max x 1 , ⋯ , x n ∈ X ∣ H ( x 1 , ⋯ , x n ) ∣ m_{\mathcal{H}}(n) = \max_{x_1, \cdots ,x_n \in \mathcal{X}} \left| \mathcal{H}(x_1, \cdots ,x_n) \right|
m H ( n ) = x 1 , ⋯ , x n ∈ X max ∣ H ( x 1 , ⋯ , x n ) ∣
其衡量的就是对于任意 n n n 个 X \mathcal{X} X 中的点,H \mathcal{H} H 能生成的 dichotomy 的最大数量。
举例:对于线性模型和三个点,其可以生成 2 3 2^3 2 3 种 dichotomy。
对任意 H \mathcal{H} H ,一定有 m H ( n ) ≤ 2 n m_{\mathcal{H}}(n)\le 2^n m H ( n ) ≤ 2 n (上例就取到了上界)
若 H ( x 1 , ⋯ , x n ) \mathcal{H}(x_1, \cdots ,x_n) H ( x 1 , ⋯ , x n ) 包含了 { x 1 , ⋯ , x n } \{x_1, \cdots ,x_n\} { x 1 , ⋯ , x n } 的子集 S S S 的所有可能的 dichotomy,则称 H ( x 1 , ⋯ , x n ) \mathcal{H}(x_1, \cdots ,x_n) H ( x 1 , ⋯ , x n ) 打散了(shatters)S S S 。例如 H ( x 1 , x 2 , x 3 ) = { ( + 1 , − 1 , − 1 ) , ( − 1 , + 1 , − 1 ) , ( − 1 , + 1 , + 1 ) } \mathcal{H}(x_1,x_2,x_3) = \{(+1,-1,-1),(-1,+1,-1),(-1,+1,+1)\} H ( x 1 , x 2 , x 3 ) = { ( + 1 , − 1 , − 1 ) , ( − 1 , + 1 , − 1 ) , ( − 1 , + 1 , + 1 ) } ,则我们说 H \mathcal{H} H shatter 了 ∅ , { x 1 } , { x 2 } , { x 3 } \varnothing,\{x_1\},\{x_2\},\{x_3\} ∅ , { x 1 } , { x 2 } , { x 3 } ,但是更大的就不行了(例如 { x 1 , x 2 } \{x_1,x_2\} { x 1 , x 2 } )
举例:X = R 2 \mathcal{X} = \mathbb{R}^{2} X = R 2 ,H = { h : h ( x ) = sgn ( w T x + b ) } \mathcal{H} = \{h:h(x) = \operatorname{sgn}(w^Tx+b)\} H = { h : h ( x ) = s g n ( w T x + b ) } ,即所有的二维线性模型。显然 m H ( 3 ) = 2 3 = 8 m_{\mathcal{H}}(3)= 2^3 = 8 m H ( 3 ) = 2 3 = 8 。对于 m H ( 4 ) m_{\mathcal{H}}(4) m H ( 4 ) 呢?注意到有些 dichotomy 是一定无法生成的(画图便知),异或导致的第一次 AI 寒冬。m H ( 4 ) = 14 m_{\mathcal{H}}(4) = 14 m H ( 4 ) = 1 4 。
再举例,X = R \mathcal{X}=\mathbb{R} X = R ,H = { h : h ( x ) = sgn ( x − a ) } \mathcal{H} = \{h:h(x) = \operatorname{sgn}(x-a)\} H = { h : h ( x ) = s g n ( x − a ) } ,则 m H ( n ) = n + 1 < 2 n ( n > 1 ) m_{\mathcal{H}}(n) = n+1<2^n~(n>1) m H ( n ) = n + 1 < 2 n ( n > 1 ) 。
再考虑 H = { h : h ( x ) = { + 1 , a ≤ x ≤ b − 1 , otherwise } \mathcal{H} = \displaystyle \left\{ h: h(x) = \begin{cases} +1, & a\le x\le b \\ -1, &\text{otherwise} \end{cases} \right\} H = { h : h ( x ) = { + 1 , − 1 , a ≤ x ≤ b otherwise } ,显然 m H ( n ) = ( n + 1 2 ) + 1 < 2 n ( n > 2 ) \displaystyle m_{\mathcal{H}}(n) = \binom{n+1}{2}+1<2^n~(n>2) m H ( n ) = ( 2 n + 1 ) + 1 < 2 n ( n > 2 ) 。
VC 维
使得 m H ( n ) = 2 n m_{\mathcal{H}}(n) = 2^n m H ( n ) = 2 n 的最大的 n n n 被称为 H \mathcal{H} H 的 Vapnik-Chervonenkis dimension(VC 维),记作 d VC ( H ) d_{\text{VC}}(\mathcal{H}) d VC ( H ) 。
VC 维度量的为最大的 H \mathcal{H} H 能 shatter 的样本量。小的 d VC d_{\text{VC}} d VC 说明 H \mathcal{H} H 的分类能力弱(考虑线性模型的 d VC d_{\text{VC}} d VC 为 3 3 3 ),也意味着 hypothesis space H \mathcal{H} H 不够大。相当于就是在度量 H \mathcal{H} H 的有效维度。巧合地发现,二维线性模型恰好就有 3 3 3 个参数。其实也就说明 VC 维与模型的参数是正相关的。
我们发现,可以利用 d VC ( H ) d_{\text{VC}}(\mathcal{H}) d VC ( H ) 给出 m H ( n ) m_{\mathcal{H}}(n) m H ( n ) 的一个界。接下来给出 Sauer’s Lemma :
m H ( n ) ≤ ∑ i = 0 d VC ( n i ) m_{\mathcal{H}}(n) \le \sum_{i=0}^{d_{\text{VC}}}\binom{n}{i}
m H ( n ) ≤ i = 0 ∑ d VC ( i n )
证明很复杂,略过。所以我们发现上界 m H ( n ) = O ( n d VC ) m_{\mathcal{H}}(n) = O(n^{d_{\text{VC}}}) m H ( n ) = O ( n d VC ) ,侧面说明这个引理的强大之处。
回顾:union bound,当 ∣ H ∣ = m |\mathcal{H}|=m ∣ H ∣ = m 时,以至少 1 − δ 1-\delta 1 − δ 的概率有 ∀ h ∈ H , GE ( h ) < 1 2 n log m δ \forall h \in \mathcal{H}, \text{GE}(h) < \displaystyle \sqrt{\frac{1}{2n} \log \frac{m}{\delta}} ∀ h ∈ H , GE ( h ) < 2 n 1 log δ m 。
若是将 m m m 替换为 m H ( n ) m_{\mathcal{H}}(n) m H ( n ) ,而 m H ( n ) m_{\mathcal{H}}(n) m H ( n ) 若是只有 2 n 2^n 2 n 的界,则取完 log \log log 后分母上的 n n n 也会不见,这不是我们想要的——我们希望 n n n 越大,GE 的界能越小。
但是有了 Sauer’s Lemma,m H ( n ) m_{\mathcal{H}}(n) m H ( n ) 就有了 O ( n d VC ) O(n^{d_{\text{VC}}}) O ( n d VC ) 的上界,代入后也许就是我们想要的了。
VC 泛化界
学习理论的重要结果。
我们不能直接将 m m m 替换。
真实的结果为:有至少 1 − δ 1-\delta 1 − δ 的概率,∀ h ∈ H \forall h\in \mathcal{H} ∀ h ∈ H ,GE ( h ) < 8 n log 4 m H ( 2 n ) δ \text{GE}(h) < \displaystyle \sqrt{\frac{8}{n}\log \frac{4 m_{\mathcal{H}}(2n)}{\delta}} GE ( h ) < n 8 log δ 4 m H ( 2 n ) (有一些常数的变化)。但是这个结果下,这个界就可以随着 n n n 增大而降低了。
证明过于复杂,略。掌握直觉即可。
直觉就是:越大的 n n n ,越小的 d VC d_{\text{VC}} d VC (模型越简单),GE 的界就会越紧!事实上就是各种 trade-off。