Foundations of Machine Learning 2nd——第四章Model Selection(一)

前言

从本篇博文开始我不再添加推导细节,因为写博文的目的是对本书内容做一个总结,理清思路,太过着眼于推导细节会让我忘记主题和整体逻辑,有想看推导细节的小伙伴可以看原书内容,写的都很详细。

本节主题

在设计学习算法的时候一个关键的问题是如何选择映射集 H H H——模型选择问题。(比如如何确定一个模型的超参)一个丰富(rich)且复杂(complex)的映射集有更大的概率包含贝叶斯分类器,但是学习这样一个复杂的因涉及是十分困难的。因此 H H H的选择是一个需要权衡的问题。本节将要权衡的两项内容公式化为:estimation errorapproximation error.

贝叶斯分类器是指generalization error最小的分类器(映射)

Estimation and Approximation Errors

定义

H H H是一个映射集,将 X X X映射到{-1,+1}上。 H H H中的一个映射 h h hexcess error是其generalization error R ( h ) R(h) R(h)和贝叶斯损失 R ⋆ R^\star R的差:
R ( h ) − R ⋆ = ( R ( h ) − inf ⁡ h ∈ H R ( h ) ) + ( inf ⁡ h ∈ H R ( h ) − R ⋆ ) R(h)-R^\star=(R(h)-\inf_{h\in H}R(h))+(\inf_{h\in H}R(h)-R^\star) R(h)R=(R(h)hHinfR(h))+(hHinfR(h)R)

( R ( h ) − inf ⁡ h ∈ H R ( h ) ) (R(h)-\inf\limits_{h\in H}R(h)) (R(h)hHinfR(h))estimation error, 他衡量的是映射 h h h到贝叶斯分类器的距离。

( inf ⁡ h ∈ H R ( h ) − R ⋆ ) (\inf\limits_{h\in H}R(h)-R^\star) (hHinfR(h)R): approximation error,他衡量的是贝叶斯损失能被映射集 H H H逼近的程度,即相当于衡量映射集的丰富度。

显然,当映射集更丰富时,越有可能包含贝叶斯分类器,approximate error越小,同时学习任务也越困难,因此越难逼近 inf ⁡ h ∈ H R ( h ) \inf\limits_{h\in H}R(h) hHinfR(h),从而estimation error越大。

至此我们将模型选择问题数学化为estimationapproximate errors的权衡问题,接下来看如何解决这个问题

最小化经验风险 Empirical risk minimization(ERM)

ERM是一个标准的用来限制estimation error上界(bound the estimation error)的算法。ERM的目标是在训练集上最小化损失。
h S E R M = arg min ⁡ h ∈ H R S ^ ( h ) h_S^{ERM} = \argmin_{h\in H}\hat{R_S}(h) hSERM=hHargminRS^(h)

接下来看看ERM是如何bound estimation error的:

命题4.1:

对于任何样本集S,下列不等式对ERM返回的映射都成立:
P [ R ( h S E R M ) − inf ⁡ h ∈ H R ( h ) > ϵ ] ≤ P [ sup ⁡ h ∈ H ∣ R ( h ) − R S ^ ( h ) ∣ > ϵ 2 ] \Bbb{P}[R(h_S^{ERM})-\inf_{h\in H}R(h)>\epsilon] \leq \Bbb{P}[\sup_{h\in H}|R(h)-\hat{R_S}(h)|>\frac{\epsilon}{2}] P[R(hSERM)hHinfR(h)>ϵ]P[hHsupR(h)RS^(h)>2ϵ]

同时注意,该不等式的右部分可以被 2 e − 2 m [ ϵ − R m ( H ) ] 2 2e^{-2m[\epsilon-R_m(H)]^2} 2e2m[ϵRm(H)]2bounded。(根据第三章内容推导出来,具体细节我没有深入研究,原文也没有展示,如果有会推导的铁汁欢迎留言)。

因此当映射集的拉德马赫复杂度较小,即VC维有限的时候,estimation error也很小的概率就很大。

ERM的局限是只是对estimation 做了bound,并没有实现estimation和approximation errors的平衡。不过ERM对下一步实现二者权衡来说是一个十分重要的定理。

最小化结构经验 Structural risk minimization(SRM)

前面我们说了如何bound estimation error, approximation error不能计算到(无法计算 R ⋆ R^\star R),怎么bound呢?一个方法是选择一个足够复杂的,approximation error为0或很小的 H H H,但是太复杂的 H H H又很难限制他的generalization error。因此作者提出了一个方法是把 H H H分解成多个复杂度逐渐上升的映射集的联合: H = ∪ γ ∈ Γ H γ H = \cup_{\gamma \in \Gamma}H_\gamma H=γΓHγ, H γ H_\gamma Hγ的复杂度随着 γ \gamma γ上升而上升。
在这里插入图片描述因此优化问题就变成了找到最优的 γ ⋆ \gamma^\star γ对应的 H γ ⋆ H_{\gamma^\star} Hγ, 这个“最优”指的是最好的平衡了estimation error和approximation error.
在这里插入图片描述我们的实现方法是找excess error, 也就是estimation 和 approximation errors的和的上界。 需要用的方法叫 Structural Risk Minimization(SRM)

我们先确定一下SRM里的关于 H H H的定义: H H H被分解成 H = ∪ k ≥ 1 H k H=\cup_{k\geq 1}H_k H=k1Hk,且 H k H_k Hk是嵌套的: H k ⊂ H k + 1 H_k\subset H_{k+1} HkHk+1

SRM的目标就是:选择合适的下标 k ⋆ ≥ 1 k^\star\geq1 k1,并找到 H k ⋆ H_{k^\star} Hk的ERM映射 h h h,这个映射能够最小化excess error的上界。
下面的图很好的解释了SRM是如何bound excess error的:generalization error是empirical error和penalty term的和,SRM会选择能够最小化generalization error上界的映射返回。

在这里插入图片描述通过前几章的知识可以知道:
R ( h ) ≤ R S ^ ( h ) + R m ( H k ( h ) ) + log ⁡ k m + log ⁡ 2 δ 2 m R(h)\leq\hat{R_S}(h)+R_m(H_{k(h)})+\sqrt{\frac{\log k}{m}}+\sqrt{\frac{\log \frac{2}{\delta}}{2m}} R(h)RS^(h)+Rm(Hk(h))+mlogk +2mlogδ2

H k ( h ) H_k(h) Hk(h)表示包含 h h h的最不复杂的 H k H_k Hk

为了最小化excess error,通过选择 k k k和映射 h ∈ H ( k ) h\in H(k) hH(k)来最小化的目标函数应该是:
F k ( h ) = R S ^ ( h ) + R m ( H k ) + log ⁡ k m F_k(h) = \hat{R_S}(h)+R_m(H_{k})+\sqrt{\frac{\log k}{m}} Fk(h)=RS^(h)+Rm(Hk)+mlogk
右式中第一项用来控制estimation error(目标一致),后两项用来控制approximation error, 也就是映射集的复杂度。
这和SRM的目标映射 h S S R M h_S^{SRM} hSSRM一致:
h S S R M = arg min ⁡ k ≥ 1 , h ∈ H k F k ( h ) = arg min ⁡ k ≥ 1 , h ∈ H k R S ^ ( h ) + R m ( H k ) + log ⁡ k m h_S^{SRM} = \argmin\limits_{k\geq1,h\in H_k}F_k(h) = \argmin_{k\geq1,h\in H_k}\hat{R_S}(h)+R_m(H_{k})+\sqrt{\frac{\log k}{m}} hSSRM=k1,hHkargminFk(h)=k1,hHkargminRS^(h)+Rm(Hk)+mlogk

SRM的有效性通过下列命题保证:

命题4.2 SRM learning guarantee

对于任一 δ > 0 \delta>0 δ>0, 有至少 1 − δ 1-\delta 1δ的概率在大小为 m m m的从 D m D^m Dm独立同分布采样到的样本集 S S S上,映射 h S R M h^{SRM} hSRM的generalization error被下式bounded:
h S R M ≤ inf ⁡ h ∈ H ( R ( h ) + 2 R m ( H k ( h ) ) + log ⁡ k ( h ) m ) + 2 log ⁡ 3 δ m h^{SRM}\leq\inf_{h\in H}(R(h) + 2R_m(H_{k(h)})+\sqrt{\frac{\log k(h)}{m}})+\sqrt{\frac{2\log\frac{3}{\delta}}{m}} hSRMhHinf(R(h)+2Rm(Hk(h))+mlogk(h) )+m2logδ3

这个定理说明 h S R M h^{SRM} hSRM确实实现了estimation 和 approximation error的平衡。

下面是一些关于SRM学习的trick

假设对于某 k k k, min ⁡ h ∈ H k F k ( h ) ≤ min ⁡ h ∈ H k + 1 F ( h ) \min_{h\in H_k}F_k(h)\leq\min_{h\in H_{k+1}}F(h) minhHkFk(h)minhHk+1F(h),那么比 k + 1 k+1 k+1还大的下标就不用考虑了。这个特性对于一些经验损失在达到一定 k k k值后就不能再下降的样本(不过我感觉根据图4.4来说,应该都可以满足这个特性,也可能是我理解不到位)。基于这种条件,最优 k ∗ k^* k可以通过在 [ 1 , k m a x ] [1,k_{max}] [1,kmax]之间的二分查找找到。 k m a x k_{max} kmax的寻找方法是对于 min ⁡ h ∈ H 2 n F k ( h ) \min_{h\in H_{2^n}}F_k(h) minhH2nFk(h),指数级的增加下标 2 n 2^n 2n,直到找到 min ⁡ h ∈ H 2 n F k ( h ) ≤ min ⁡ h ∈ H 2 n + 1 F k ( h ) \min_{h\in H_{2^n}}F_k(h)\leq\min_{h\in H_{2^{n+1}}}F_k(h) minhH2nFk(h)minhH2n+1Fk(h),令 k m a x = 2 n k_{max}=2^n kmax=2n(个人感觉应该是 2 n + 1 2^{n+1} 2n+1)。当我们固定 k k k的时候, min ⁡ h ∈ H k F k ( h ) \min_{h\in H_{k}}F_k(h) minhHkFk(h)的过程就相当于ERM的过程(找到 arg min ⁡ h ∈ H k R S ^ ( h ) \argmin_{h\in H_k}\hat{R_S}(h) hHkargminRS^(h))。因此,寻找 k m a x k_{max} kmax的做ERM的次数是 O ( n ) = O ( log ⁡ k m a x ) O(n)=O(\log k_{max}) O(n)=O(logkmax),二分查找 k ∗ k^* k的ERM的次数是 O ( log ⁡ k m a x ) O(\log k_{max}) O(logkmax)。如果 n n n是最小的满足 k ∗ < 2 n k^*<2^n k<2n的值的话,整体的ERM的计算次数相当于 O ( k ∗ ) O(k^*) O(k)

总结

这一小节的内容主要是介绍了通过SRM来学习合适的映射集,从而能够平衡结果的实践准确度(estimation error)和理论准确度(approximation error)(这两个准确度名词是我自己造的…)

不过SRM有两个缺点:

  1. 不是所有的映射集 H H H都可以被分解为多个有限VC维的子映射集的
  2. SRM计算十分困难,对于大多数映射集,求解ERM是np-hard的,并且通常SRM都有大量的下标 k k k

下一节会讲一个实践性更强,也是被广泛应用的模型选择的解决方法——交叉验证。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值