对Bayesian vs Frequentist的理解,以及为什么Bayesian Model Comparison可以避免overfitting——PRML3.4节笔记
对Bayesian vs Frequentist有了点新理解。
Bayesian说白了就是to admit and to try to deal with uncertainty about everything。承认机器学习各个过程各个层面的uncertainty,并且试图表达这种uncertainty。
机器学习或者说模式识别可以大致分为三步。
1.Model selection 解决这个问题应该使用什么样的模型?线性还是非线性?复杂度多少合适才会既不因为太简单而be lack of the capability to capture the structure of the dataset又不太复杂而overfit?比如如果已经决定用Polynomial了,那么用一阶Polynomial还是二阶、三阶?注意这里不同候选模型之间的主要区别在复杂度上。而若模型form相同,但仅仅模型参数不同(Polynomial的系数w不同)则不算,这实际上同一个模型的不同训练结果,确定模型参数属于下面要说的第二步的工作。
2.Model training, or parameter inference 选好模型之后如何确定模型的参数,如已经选好了二阶Polynomial,那么w0,w1,w2分别应该是多少,这需要用数据训练。
3.Decision making 模型也训练好了,该针对real new coming data来预测target value了,无论是分类还是回归。
简单说来这三步依次确定model form, model distribution, target value。
Frequentist和Bayesian在这三步中都不同,Frequentist总是试图做point estimating,Bayesian则试图考虑所有的uncertainty,做intergral或者averaging。具体说来:
Model Selection中,Frequentist试图找到一个Model,它避免overfitting的方法是用Validation set;而Bayesian则对in consideration的所有Models做weighted averaging,所用weights就是各个Model的posterior p(Mi|D),因此对于Bayesian来说,应该叫Model Averaging或Model Comparison而不是Model Selection。奇妙的是,这种weighted averaging能够自动地解决overfitting,且有不浪费数据不需要multiple runs的优点,本文后面会详述。
Model Training中,Frequentist试图对model parameter w做point estimating,即只得到一个w,即只得到Model的一个particular distribution,做法可以是MAP,wMAP=maxargwp(w|D),where p(w|D)=p(D|w)*p(w),或者是Maximum Likelihood,wMLE=maxargwp(D|w);而Bayesian则只打算求出w的一个分布,即p(w|D)。
Decision Making中,Frequentist已经有了分布p(t|w),要做的就是做出概率最大的point estimate on t;而Bayesian则只打算求t的一个分布p(t|w),当然有可能再用这个分布去做进一步预测,如regression function h(x)就是已知p(t|w)之后做出的最佳预测(在minimizing some type of loss function的意义下)。
总结一下,Frequentist试图在每一步做point estimating,而Bayesian试图在每一步保留uncertainty,由于这三步都是successive的,这样不丢掉uncertainty也算保留了每一步的信息到下一步中,缺点就是analytically intractable,因为要做多层marginalize:
p(t|x,D)=Sumi/wp(t|w,x,D)p(w|Mi,D)dwp(Mi|D)
Bayesian Model Averaging如何避免overfitting?
p(t|x,D)=Sumip(t|x,Mi,D)p(Mi|D)
是用各个model Mi分别去估计t的分布p(t|x,Mi,D),然后再按Mi的posterior做weighted averaging。如果能够使最合适的Model(比如复杂度正好既不会过于简单以至于不能fit dataset又不会过于复杂而overfit dataset)的posterior最大,则这种approach就可以避免overfitting。所以我们要讨论的就是posterior p(Mi|D)能否选中最合适的Model。
p(Mi|D) is propotional to p(Mi)*p(D|Mi)
假设prior是equally divided,那么挑选最合适Model的重任就落在p(D|Mi)身上,该项称为Model Evidence,或Marginal Likelihood,因:
p(D|Mi)=/wp(D|w,Mi)p(w|Mi)dw
所以Model Evidence考察的不是特定的w对应的特定的Model distribution,而是这一form of Model在不同w下的表现,换句话说不光看被数据tuned的w,还要看所有w,看整个model parameter space。考察其它w相当于考察其它dataset,因为w都是被dataset训练出来的。复杂度高的model,w适应D的能力特别强,model的variability很强,因此找出一个fit D very well的w很容易,但却不能做到所有w都有不错表现;复杂度低的model,w根本做不到fit D well。只有复杂度合适的model,其w能较好地fit D,并且variability没那么大,使得其它w与最好的w对应的distribution差别没那么大,所以整体Model Evidence较高。因此Model Evidence可以挑选出最合适的form of Model。
说穿了,Frequentist做Model Selection的时候,是用D训练Model,得到w,然后看这个训练好的w能否在其它不同D(Validation set)上表现良好。而Bayesian则是看Model的所有w是不是都能对这一个D表现良好。前者固定w,变换D,使得必须有数据留出来做Validation;后者固定D,marginalize w,能够make most use of the D。Model Selection/Comparison说穿了就是要看Model's ability to generalize,即,Model可能有不同w对应的不同分布,数据集也可能有各种各样,如果用数据集去训练model得到w,这样得来的一对D和w肯定overfit,关键要考察不配对的D和w(w不是被D训练出来的)之间的配合效果,Frequentist的做法是看看训练好的w对其它D的效果,Bayesian的做法是看看所有w对独一份D的整体效果。
总结一下就是,Bayesian Model Comparison通过model posterior来选最合适的model(with the valid complexity),而model posterior中起作用的是Model Evidence。Model Evidence起作用的方式是考察所有w对于D的表现,而不仅仅只看表现最好的那个w(如果只比这个表现最好的w的话,那复杂度最高、最flexible的model一定胜出)。
浙公网安备 33010602011771号