AIC, BIC v.s. Crossvalidation

模型选择的方法有许多,例如 AIC, BIC, Crossvalidation, GCV等等。这

些准则的适用条件有哪些?该如何选择不同的准则?


  • AIC, BIC准则

ref:https://methodology.psu.edu/node/504
ref:https://en.wikipedia.org/wiki/Bayesian_information_criterion
ref:https://en.wikipedia.org/wiki/Akaike_information_criterion

AIC和BIC均是基于似然函数的准则:

2logL+kp

其中 L 是似然函数, p 是模型参数的个数。

AIC: k=2
AIC目标:估计量与真实值的Kullback–Leibler距离达到最小,同时,控制过拟合(overfitting)

BIC: k=logn , n 样本个数
假设模型服从指数型分布得到。


  • AIC使用步骤:

ref:http://onlinelibrary.wiley.com/store/10.1002/9781118856406.app5/asset/app5.pdf;jsessionid=D3E2011766449FD65380396908243D20.f04t02?v=1&t=iyczvkgl&s=480ecf112aa9c71215ec1e3e520516163d905653

1.假设有M个候选模型,计算 M 个AIC值AICm,m=1,,M
2. AIC =min AICm ,得到最佳模型;
3. 计算 Δm=AICmAIC
4. Δm<2 , 第m个候选模型可用;
Δm>10 ,第m个候选模型不可用。

  • BIC使用步骤与AIC相同

BIC罚的比AIC更重,所以一般情况下,AIC选出的模型含有参数/变量更多,BIC更加保守。所以可以依照这个原则选择AIC或者BIC。


  • Crossvalidation

ref:https://lagunita.stanford.edu/c4x/HumanitiesScience/StatLearning/asset/cv_boot.pdf

CV=1ni=1nl(yif̂ (k)i(xi))

l 为损失函数,比如平方损失。


!!Stone [1977] 证明AIC与leave one out CV 等价。

R-Blogger 用例子+R code验证了这个结论。
更多的R code可以参考:
http://pages.pomona.edu/~jsh04747/courses/math158/multlin4.pdf

CV更为充分地使用了已有数据,所以样本量不够的的时候CV会好过AIC,BIC。
实例比较:
http://scikitlearn.org/stable/auto_examples/linear_model/plot_lasso_model_selection.html

你可能感兴趣的:(机器学习,统计,机器学习)