预先定义的假设类:我们假设是最好的模型
Predefined hypothesis class
机器学习的本质就是找x到y的映射函数h。h就是我们说的模型。H就是所有映射方式的集合。
Pretrained Model都是我们认为的可能适合数据集的预定义模型,但是不一定真的适用。
矩形是所有hypothesis function的全部集合。
Predefined hypothesis class H:是我们预意义的function class。
c是最好的模型。并不一定在H里。
经验风险:Empirical risk(针对数据集来说的)
期望风险:Expected risk(针对全局数据来说的)
c是最好的模型
h是在predefined H集合里,最好的h
hs:通过学习获得的模型,是在数据集s上的最优模型
h与hs区别:hs用的样本数据,h用的全局数据。
近似误差(Approximation error):R(h) - R©
估计误差(Estimation error):R(hs) - R(h*)
注意这里用的R,不是用的Rs,所以是用的期望风险,也就是都是在说明在全局数据上的风险。比如R(hs),就是在sample样本产生的函数h,在全局数据上的风险。
概率近似正确学习
Probably Approximately Correct Learning
PAC就是找到用多少个样本可以在预定义的类中找到最好的假设模型。
PAC定义:
Algorithm A就是Hypothesis
minR(h)就是R*
所以R(hs) - minR(h) = R(hs) - R(h*)就是预估误差 Estimation Error。
解释:当预估误差足够小,且小于一个很小的值ε时,这个整体发生的概率却很大(δ很小)。
当样本量n>poly(1/δ, 1/ε),说明预估误差很小了,hs接近h*,是PAC可学习的。
为什么要做PAC。
因为数据集大和预估误差小,需要找到一个平衡点,当数据集足够刚刚好可以找到最好的模型hs,接近h*。
如果H过于复杂,且训练集过大,需要n>exp(1/δ, 1/ε)时,我们就说H不是PAC-learnable的。
泛化误差
Generalisation error
我们使用 经验风险最小ERM算法 去验证一个模型hypothesis是否是PAC-learnable。
上述问题回答:Rs(hs)小于Rs(h*)。因为Rs是在样本集上的经验风险。同时,hs是在样本集上训练出的模型,所以hs在上面的误差要小于h*在样本集上的误差。
推导:
渐进测量
非渐进测量:Hoeffding’s Inequality、McDiarmid’s Inequality
模型复杂度
Hypothesis complexity,就是集合Hypothesis集合里模型的个数。
|H|表示hypothesis的集合
当我们加了一个sup时,我们后面就要加一个|H|,模型复杂度。相比于霍夫定不等式而言。
模型复杂度
|H|的意思是H里hypothesis模型的个数。
泛化误差边界
非渐进求sample size :n
如果假设类别为有限个假设,它是PAC可学习的。
考题:当H是无限的时候,是否是PAC可学习的?
当H是有限个的时候,是否是可学习的?如果是,怎么证明。
VC Dimention:
将无限个hypothesis变为有限个(G个)。
如何找到H‘?
3个方法:Growth Function、Shattering、VC Dimention
Growth Function
这里因为是二维空间,所以π(3)不是7了,而是8.但是π(4)不是16,而是14.因为有2种情况分不开。
Shattering
VC Dimention
VC维就是本身的维度加1.
比如前面那个2维的,在π(3)可以满的,所以它的VC维就是2+1=3
2维:VC维=3
3维:VC维=4