探究宝可梦和数码宝贝分类器Classification
第一步还是定义函数,这个H是函数定义域,其实输入的参数x就是图像的图形数目。H越大说明复杂度越高!!
接下来是Loss函数
不过我们要有数据集
这个Loss类似我们的极大似然估计,本质思想就是:找使得L为极值点的参数h
l()这个函数就是如果得出的y与y-hat一致(匹配成功)那就输出1
我们如果得到所有的数据集,那么就可以找到完美的参数,使得Loss最小
但是我们不可能找到所有的数据集
只有训练集
训练集的序偶属于Dall,他们独立同分布
我们的目的就是得出h让Dtrain的Loss最小
尽量用h-train模拟h-all
举个例子
假设所有的生物如下分布
我们从野外抓200个生物,进行训练得到如下图
这个h无疑是使得L-train最好的,但是我们不知道是不是这个h会让Loss-all最好
可能是很好,也可能很差!!
所以我们有个期望
但是注意了
因为训练集和全集的Loss互不相干,
那么如何保证拟合h在可接受的范围σ之内呢??
只需满足第二个蓝色框框就可以,这个框框表明 D-train和D-all很像
简单的证明如下
怎么看???不好的训练集呢??
其实我们在训练的时候,不同的训练集有好有坏,大致如下所示
下面我们先估计bad D-train的 概率,如何判断是不是bad?
回忆一下
那么这些点,当得到的h使其很差,那就标为bad,因为不同的训练集得出的h都不一样,就如下这样
有些训练集在h1,h2都很坏,但是有些h2坏的训练集,在h1是好的,但是也不影响他是bad。所以只要存在h使其bad,那就是bad
接下来统计框框几率!求并集U,那就是P(bad)
但是我们很难求并集U,那倒不如直接∑求和!
其实我们还不知道如何求
没关系,接下来就求。
还记得我们之前求Loss的方法
也就是看每一个样本是否匹配相应的h,最后取平均
而all和train的区别就是子集
在这里我们用到Hoeffding不等式
ok,那我们期望 很低,怎么办??
训练数目越多,,复杂度越小,自然就低了
这个例子显而易见!
最好保证N的下届
H应该是离散的,那么如果连续怎么办?
①其实所有的连续,在现实世界就是离散的,
②VC-dimension可以度量连续H,在这里不做解释
一般我们不太容易收集大量的N,只能设法减少H,从而让train去接近all,但是减少H又会造成很大的Loss
这究竟要怎么办???那就是Deep Learning