机器学习理论: PAC学习

(这篇文章是本人学习机器学习课程CS685后的一些总结。如有任何错误,欢迎指出)

 

1. 基本概念定义

      当我们利用机器学习构建模型时,我们获得训练集,然后利用算法从训练集中学习到模型,接着就可以用该模型进行各种预测。为什么这是可行的呢? 想要弄清楚为什么可行,我们定义一下东西:(这些用英语写的都是因为本人不知道怎么翻译最准确,干脆不翻译了)

     Domain set: 指的是特征所有可取值的集合。一般来说是一个向量。

     Label set: 指的是所有标签的集合。接下来我们讨论的二分类问题,即label set里面只有0,1两种情况。

     训练样本 S: 即我们平时说的训练集。S = {(x1,y1),(x2,y2),......(xn,yn)}。Trainning sample是我们已知的一切信息,除此之外我们什么都不知道。并且假设所有的数据都是满足分布D,并且由标签函数f进行贴标签。即f(x)就是x的真实标签。

      Learner output: 一个函数h, h: X -> Y。也就是最后要学习得到的一个预测器。

      H: hypothesis class。即所有的可能的预测器组成的集合。

      以上就是我们要定义的一些东西。所以机器学习要做的就是获得training sample,利用这些数据去学习从而从H空间里面去挑选出最好的预测器h。

 

2. Empirical risk minimization

      现在假设我们从满足分布D的数据中取出了一定数量的训练样本,目标是要找到h:X->Y。因为不知道数据的分布D具体是怎么样的,所以无法获取到整体数据的真实误差。在这里能够利用的只有经验误差。因此定义经验误差概念如下:

                                                            

                                                                             L_S{(h)}= \frac{\{|i\in [m]|h(x_{i})\neq y_{i})|\}}{m}

 

      其中m是训练样本的个数。由于无法获得真实误差,通过学习得到一个预测器h使得经验误差最小是合理的。因为训练样本是从所有的服从分布D样本集里挑出来的,所以大概率训练样本会反映出所有满足分布D的样本的一些特性。因此学习的目标变为从H中找到一个预测器h,从而使得L_{S}(h)最小。也就是我们说的Empirical risk minimization。

 

3.Empirical risk minimization with inductive bias

      Empirical risk minimization有一个很明显的问题就是会发生overfitting。因为能使L_{S}(h)最小的预测器h属于H,因此是可以被学习得到的。而许多的这些预测器泛化能力很差,对于新取的样本很有可能无法正确预测。导致这种问题的原因是我们没有对hypothesis class H做任何的限制。

     因此为了避免overfitting,我们需要人为的引入一些限制,使得学习时偏向于选择某一些类型的预测器。我们称这些限制为inductive bias。

     比如我们进行线性回归算法的时候,我们已经假定了算法的形式是Y=wX+b。这样我们进行学习时不会得到其他类型的预测器h。这就是引入的归纳偏置。

     Empirical risk minimization with inductive bias的定义如下,注意这里的H是引入了inductive bias的假说集:

                                                                         ERMH(S)\in argminL_{S}(h),h\in H

4.ERMH分析

       我们可以分析在ERMH学习规则的性能如何。我们定义h_{S}\in argminL_{S}(h),h\in H,即能使经验误差最小化的预测器的集合。现在规定两个assumption:

       1.The realizability assumption。简单的说就是在H中存在预测器h_{S},使得L_{S}(h_{S}) = 0。

       2.The i.i.d. assumption。我们说过训练样本是从满足分布D的数据集中拿出来的,那么训练集中的样本根据分布D独立且相同地分布。可以看出来当训练集越大,越能够反映出分布D以及函数f。

      由于从H中找到使经验误差最小的预测器是很难的一件事,所以要做的是尽量去逼近。因此引入参数\epsilon,如果  L_{(D,f)}(h)<\epsilon,则认为h是一个成功的预测器。我们再定义以下两个集合:

                               

                                   失败的预测器:  h_{B}=\{h\in H|L_{(D,f)}(h)>\epsilon )\}

                                   不好的训练样本: M=\{S|\exists h\in h_{B}, L_{S}(h)=0\}

      可以看到M集是由一些能使预测器h在训练样本S上无误差,但是泛化能力很差的样本。其中L_{(D,f)}(h)表示真实误差,也可以理解为测试误差。大概可以理解为:L_{(D,f)}(h)= \frac{\{|i\in [m]|h(x_{i})\neq f(x_{i})|\}}{m}

     由The realizability assumption可以知道存在预测器h,其L_{S}(h) = 0。

     而如果一个训练集S使我们的学习算法计算得到预测器h\in h_{B},那么这个样本S\in M。这是因为挑选预测器h时是尽量挑选使经验误差最小的那个那个预测器。所以被挑选出来的预测器L_{S}(h) = 0。

     所以\{S|x:L_{(D,f)(h_{S}>\epsilon )}\}\subseteq M。 因此可以计算得到:(A是指学习算法,A: S -> h,通过样本计算得到预测器。)

                                                                      Pr[L_{(D,f)}A(S)>\epsilon ] \leq Pr[ M]

    即我们通过样本S学习到失败的预测器的概率小于S是不好的训练样本的概率。

 

     其中M=\bigcup_{h\inh_{B} }\{S|L_{S}(h)=0\}(m为样本集的尺大小)。 因为L_{S}(h) = 0,那么训练集中的每一个S都要能被预测器成功预测。由于L_{(D,f)}A(S)>\epsilon,所以预测器能够正确预测的区域小于1-\epsilon。我们一共取m个样本,所以Pr[S|L_{S}(h)=0)] \leq (1-\epsilon)^{m}

                                          

                                                        Pr[L_{(D,f)}A(S)>\epsilon ] \leqslantPr[M] \leq |h_{B}|(1-\epsilon)^{m}\leq |H| (1-\epsilon)^{m}\leqslant |H|e^{-\epsilon m}

     我们可以看出如果m趋向于无穷大,即训练样本的大小趋向于无穷时,训练样本是不好的样本的概率为0,所以我们得到失败的预测器的概率也为0。这就是为什么我们希望训练集越大越好。

 

5. PAC学习

     我们用符号\delta代替公式Pr[L_{(D,f)}A(S)>\epsilon ] \leqslant  |H|e^{-\epsilon m}的有右半部分。因此\epsilon表示我们容忍的误差,\delta表示我们失败的概率。m表示训练集的大小m。通过计算可以得到m=\frac{ln(H/\delta )}{\epsilon }

      这就表明只要训练集样本数大于m这个公式,我们就有1-\epsilon的概率(Probably)学习到误差在\epsilon(Approximately)之内的预测器。这就是我们说的PAC学习。

    PAC学习更具体的定义请参照其他书籍。

 

 

  

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值