【机器学习笔记四】-----Feasibility of learning(机器学习的可能性)

learing is impossible?

看下面的例子,根据已有的例子对以下的问题进行分类

根据是否对称分类:+1;根据左上角是否为黑色:-1;实际上还有各种各样的分类方法,它们的分类都是合理的。

假设输入为三维向量,输出为二分类0或者1,根据已经知道的五个训练样本数据data,选择最好的函数g,预测其他三种对应的输出结果。对于这个问题,共有8中hypothesis,其中必须保证在五个样本数据中,h和f的输出结果必须一致,但是在其他三个数据中,输出结果是否一致未知。机器学习的目的就是希望选择的模型在训练样本之外的数据上h的输出结果与实际的输出结果一致。

这个例子说明若想在训练样本D以外的数据中更接近目标函数似乎是做不到的,只能保证对已知样本D有很好的分类效果。这种特性被称为天下没有白吃的午餐(No Free Lunch)定理:该定理表名没有一个学习算法可以在任何领域总是产生最准确的学习器。不管采用什么样的学习算法,至少存在一个目标函数能够使得随机猜测算法是更好的算法,即总有一个更优越,效果更好。NFL说明对已知数据以外的数据,无法判断g对于理想的f接近的程度,是否能分类或者预测正确,除非加上一些假设条件。

probability to the Rescue

从上一节得出的结论是:在训练集D以外的样本上,机器学习的模型是很难,似乎做不到正确预测或分类的。那是否有一些工具或者方法能够对未知的目标函数f做一些推论,让我们的机器学习模型能够变得有用呢?

在一个罐子中(数量很大不好数)有很多绿色和橙色的弹珠,我们来推测其中橙色弹珠的比例\mu。以统计学的方法,可以随机抽取一批作为sample,查看样本中橙色弹珠的比例\nu是多少,用来表示实际整个罐子中橙色弹珠的比例\mu。如果罐子中橙色比例是\mu,则绿色的比例为1-\mu;独立选取N个弹珠作为样本,使用\nu代表橙色弹珠的比例,1-\nu代表绿色弹珠的比例,是否可以用\nu代表实际比例\mu

根据hoeffding不等式,如果样本够大,即选取的N足够大,\nu大概近似接近\mu

connection to learning

将其转换为机器学习的问题,机器学习中hypothesis与目标函数相等的可能性类比于罐子中橙色弹珠的概率问题 ,将罐子中的一颗颗弹珠类比于机器学习中的样本空间x,橙色弹珠类比于hx和fx结果不相同,绿色弹珠类比于hx和fx结果相同,从罐子中抽取的N个弹珠类比于机器学习中的训练样本D,且这两种抽样的样本与总体样本之间是独立同分布的,假设样本的数量N够大且是独立同分布的,可以通过样本中hx和fx不一样的几率大概推断出样本外的样本数据中hx和fx不一样的几率。

映射中最关键的点是将抽样中橙色弹珠的概率理解为样本数据集D上hx错误的概率,以此推断出所有数据上hx错误的概率,这也就是机器学习的本质。引入两个值E_{in}(h)E_{out}(h),其中E_{in}(h)表示抽样样本中hx与yn不相等的概率,E_{out}(h)表示在实际所有样本中,hx与fx不相等的概率。

对于固定的h,可以使用E_{in}(h)推断E_{out}(h),他们是大概相同PAC(probably approximately correct)的,如果Ein和Eout很接近,而且Ein很小,则h和f很接近,是否可以说已经学到东西,g=f?

connection to real learning

以铜板为例,150个同学将铜板丢五次,记住几次正面几次反面,可能有一个人丢了五次正面或者反面,会发现其中至少有一个人出现全是正面的几率大于99%,hoeffding告诉我们取样出来的和罐子中大部分是相同的,少部分是不好的即bad,hoeffding假设大部分都是好的,有选择的时候会恶化不好的情形。bad data中Ein和Eout相差很远。可以一次一次的抽样,得到不同的data,通过Ein和Eout是否相差很远,来判断data是好还是坏。

也就是说,对于不同的数据集Dn,对于不同的hypothesis,有可能成为bad data。只要Dn在某个hypothesis上是bad data,那么Dn就是bad data;只有当Dn在所有的hypothesis上都是好的data,才说明Dn是好的data。可以自由选择演算法A进行建模,那么,根据hoeffding不等式,bad data的上界使用连级(union bound)的形式表示。

其中,M代表hypothesis的个数,N 是样本D的数量,\varepsilon是容忍度参数。该union bound表明,当M的个数有限,并且N足够大的时候,bad data出现的概率很低,即能保证D对于所有的h都有E_{in}\approx E_{out},满足PAC,演算法A的选择不受限制,那么这种union bound的情况就可以和之前一样,选取一个合理的演算法(PLA/pocket),选择使E_{in}最小的hypothesis作为g,一般能保证g\approx f,即有不错的泛化能力。

总之,如果hypothesis的个数有限,资料数量N又足够大,那么通过演算法A任意选择一个h都有E_{in}\approx E_{out}成立,同时,如果找到一个g,使得E_{in}\approx 0,PAC就能保证E_{out}\approx 0。所以,机器学习是可行的。

但是,如果M的个数是无数个,是否这些推论就不成立了?是否机器学习就不能进行学习?

猜你喜欢

转载自blog.csdn.net/m0_38103546/article/details/82285895