Mengqi's blog

Ein 和 Eout,假设模型以及开放思维


加州理工的机器学习公开课上,穆斯塔法教授对机器学习的讲解非常细致,每个公式、每个符号都会进行详细的剖析,并直观地解释出来,他对机器学习的热情和态度很值得我们学习。

而这门课程在讲解学习的可行性时,多次提到了EinE_{in}EoutE_{out}的概念。 EinE_{in}EoutE_{out}分别表示模型假设对样本(已知)的错误率和对真实情况(未知)的错误率。统计机器学习之所以可行,就是因为有这样一个理论支撑:

P[EinEout>ϵ]=2e2ϵ2N(*)P[E_{in} - E_{out} > \epsilon] = 2 e^{-2\epsilon^2 N} \tag{*}

上面的式子叫 Hoeffding 不等式。从公式中可以看出,当N足够大时,EinE_{in}EoutE_{out}相差太大的概率就比较小。换句话说,当N足够大时,EinE_{in}就会更接近于EoutE_{out}。如此,我们机器学习提出的模型假设如果对大量已知样本能够较好地拟合的话,那它对真实的未知样本应该也能够较好地拟合。

上面的 (*) 式只适用于一次随机试验,一次试验只建立一个模型假设,而我们实际训练时是要提出若干个假设,再从这些假设中选择最符合目标函数的那个假设。也就是:

P[EinEout>ϵ]=2Me2ϵ2N(**)P[E_{in} - E_{out} > \epsilon] = 2 M e^{-2\epsilon^2 N} \tag{**}

式子中的 M 就是我们提出的假设数目。

理论先讲到这里,下面谈谈我个人对EinE_{in}EoutE_{out}的一点理解。

我们人在观察世界、观察他人的时候,其实就是在学习。从小到大,我们通过眼耳鼻等五官获知大量样本,再从这些样本中不断丰富和调整自己头脑中的假设模型,我们对事物、对社会、对世界的认识也就是指自己头脑中的这个模型,即所谓的「世界观」、「价值观」等等。每个人对社会、对他人的评判也都是来源于他头脑中对所认识事物建立的模型。

比如「士别三日,当刮目相看」的例子,孙权、鲁肃与吕蒙长期共事,逐渐对吕蒙建立了假设模型,而当吕蒙「乃始就学」之后,鲁肃再与吕蒙论议,发现他头脑中的这个模型已不能很好地拟合现在的吕蒙,乃大惊曰「士别三日,当刮目想看」。我们平时看人时,也要经常提醒自己,自己对他人的看法也只是自己头脑中的「假设模型」而已,你自己觉得拟合的再好,觉得EinE_{in}已经很小了,但也不能说明这个「假设」就能很好地拟合真实情况。EinE_{in}小,不代表EoutE_{out}就小,还有可能是过拟合,或是假设模型本身就错了啊。

所以有时面对他人无端指责或是误解时,我们可以这样想:他对你的看法,其实是他先对你观察,并在他头脑中建立一个模型,这个模型就是你在他头脑中的投影。而他表达出来对你的看法,也都是基于他对你在他头脑中的投影所做的观察。既然是投影,必然不全面,这个投影不一定能代表你的真实情况。这样看来,当你被人无缘由嘲讽的时候,反而暴露出了他认识的局限。你也不妨就当他在对一个「幽灵」说话。

再从这个角度来看,我们也就不难理解新闻上经常出现的一些类似「某‘好男人’被曝出轨」、「某温文尔雅的编剧吸毒」的新闻所引起的舆论哗然。从机器学习的角度看,这就是反映了大众脑中的模型和真实情况反差太大,而这个反差的揭露时间又过短使得大家一时接受不了(Justin Beiber的变化时间就够长,所以它的那些新闻,我也都见怪不怪了 -_-)。大众脑中所建立模型的EoutE_{out}过大,或者说 "bias" 过大,这个模型不能很好地预测真实世界。

那么,我们如何能够改善我们的假设对于真实情况的预测呢?我们再来回顾一下 ** 式 :

P[EinEout>ϵ]=2Me2ϵ2NP[E_{in} - E_{out} > \epsilon] = 2 M e^{-2\epsilon^2 N}

要想提高P[EinEout>ϵ]P[E_{in} - E_{out} > \epsilon]:一个是提高NN,即增加我们的阅历,而且所「阅」的人(样本)分布也要尽可能的广,这样建立的模型泛化能力才更强。另一个就是不断迭代,不断评价旧有假设,从中发现不足(「吾日三省吾身」),并在其基础上进行改良,提出新的假设。也就是说,我们要保持一个勤于思考、开放的头脑,时刻提醒自己认识具有局限,保持谦卑的心态,不断学习、吸收并更新我们对世界、对他人的看法!

版权声明: 本文中所有文字版权均属本人所有,未经允许请勿转载。