天下没有白吃的午餐
如果给机器data,机器学,那在资料以外没有任何办法保证结果
除非有一些假设。如果坚持f是不知道,那data之外,一定没有把握
取样样本够大的时候,真实值和取样的结果相差很小
比如丢铜板,比如打电话做民意调查。
给定u(sample),十个样本中v小于0.1的概率是多少?那N=10,参数等于0.3,代入就可以求解。
假设有一个固定的h在手上,每一个h专属一个罐子。抓了100个弹珠出来,相当于找了100个x出来。可能还有相对应的y(监督学习)(就是y=f(x)),如果data是iid的x,那么检查h在这个资料上的表现,看有多少个跟y不一样,
就可以预测整个罐子来说,h跟f不一样的概率有多少。
Eout:整个罐子来说,h跟f到底一不一样,v,不知道的
Ein:手上的,in hand,已知的,u
Ein 就是in-sample error,手上资料的错误
Eout out-of-sample error,手上样本以外的样本的错误率
对弹珠是对的,对铜板也是对的,对所有的资料也是对的
很接近的时候,in小,out也小,h就很接近f,(当data继续从P产生)
那可以说学到东西了吗?h是一个H假设集里面的一小个。如果要做learning,要用演算法把h选成g。
演算法A一定要把那个h选成g
第三条:从20个朋友中选一条最好的规则,可能就选不到这个了,就保证不了了。
选择很多的时候,就不好了
不好的资料:Ein=0,但其实Eout=0.5(扔铜板)
in和out差很远,就是bad data。看不到的地方很不好,看到的地方很好。
Hoefing保证:抽一把出来,bad data的概率很小。
如果有很多个假设,为了让演算法有选择,不好的data就是演算法不能自由选择,可能会踩到雷。
当很多个假设的时候,hoeffding告诉我们每一行的概率很小,但很多行就踩雷概率多很多,这个data对某一个假设不好,就说这个是bad data
很多几率连起来,等于加起来,是上限,连积上限;每个加法的值hoff已经告诉我们了:
这样演算法就自由了
从手上的弹珠、资料,去验证这个h可以表现的怎样
有很多h,有限个,目前是可以做的,演算法找到小的Ein,学习是可行的
M无限大,假设集无限大,发生什么事情?