理解赤池信息量(AIC),贝叶斯信息量(BIC)
2016-06-26 21:41
661 查看
一、基本概念
模型选择主要有两个思路:1.解释性框架
在已有数据下,重点关注哪些变量是模型的重要变量,模型的形式应该怎样。好的模型应该是最能解释现有数据的模型。
2.预测性框架
重点关注哪些变量是模型的潜在变量以及模型的可能形式。好的模型应该是最能预测结果的模型。
AIC: Akaike information criterion,赤池信息量。
BIC:Bayesian information criterion,贝叶斯信息度量,也叫 SIC, SBC, SC,SBIC。
在选择模型来预测推理时时默认了一个假设,即给定数据下存在一个最佳的模型,且该模型可以通过已有数据估计出来,根据某个选择标准选择出来的模型,用它所做的推理应该是最合理的。这个选择标准就可以是AIC和BIC。没有模型的选择的绝对标准,好的选择标准应该根据数据分布不同而不同,并且要能融入到统计推理的框架中去。
AIC:基于Kullback-Leibler (K-L)信息损失的,provides an asymptotically unbiased estimator of the expected Kullback discrepancy between the generating model and the fitted approximating model[1]。
BIC:基于贝叶斯因子。
定义式为:
AIC=2ln(f(y|θk))−2K。选择模型时选择AIC最大的模型。
BIC=2ln(f(y|θk))−Klog(n)。选择模型时选择BIC最大的模型。
在模型拟合时,增加参数可是使得似然概率增大,但是却引入了额外的变量。AIC和BIC都在目标式中添加了模型参数个数的惩罚项。
二、BIC公式推导
在选择模型时,贝叶斯方法的做法是在给定数据{yj}nj=1下最大化模型 (Mi)的后验概率。根据贝叶斯定理,有:
P(Mi|y1,…,yn)=P(y1,…,yn|Mi)P(Mi)P(y1,…,yn),(1)
其中P(y1,...,yn|Mi)是模型的边缘概率,在给定数据{yj}nj=1时,P(y1,...,yn)是固定,且假设在不知道任何数据的情况下各个模型是同样合理的,即P(Mi)是定值,于是,最大化后验概率等价于最大化模型的边缘概率。而:
P(y1,...,yn|Mi)=∫ΘiL(θi|y1,...,yn)gi(θi)dθi,(2)
其中,Θi是模型Mi的参数向量,L是似然函数,gi(θi)是参数θi的概率分布。
在选择模型时,选择后验概率最大的模型,比如有两个模型M0和M1其后验概率分别为P(y|M0)和P(y|M1),通过比较这两个值的大小或者比较B01(y)=P(y|M0)P(y|M1)与1的大小,从而确地选择模型0还是1,当它比1大时选择模型M0,比1小时选择模型M1。B01(y)被称为贝叶斯因子。可以看到,使用贝叶斯因子方法来选择模型,不需要考虑参数的先验概率(其实是假设了先验相等),这在很多参数先验无法求出时很有用,贝叶斯因子可以比较任意两个模型的好坏。Kass等人1995年证明了在某种情况下,基于BIC的模型选择方法近似等价于基于贝叶斯因子的模型选择方法。贝叶斯因子方法不预测结果,隶属于解释性框架。
更详细的推到见参考文献[1]
三、AIC,BIC比较
AIC和BIC的公式中前半部分是一样的,后半部分是惩罚项,当n≥8时,kln(n)≥2k,所以,BIC相比AIC在大数据量时对模型参数惩罚得更多,导致BIC更倾向于选择参数少的简单模型。[1] Model Selection Lecture V: The Bayesian Information Criterion http://myweb.uiowa.edu/cavaaugh/ms_lec_5_ho.pdf
相关文章推荐
- 用Python从零实现贝叶斯分类器的机器学习的教程
- My Machine Learning
- 机器学习---学习首页 3ff0
- Spark机器学习(一) -- Machine Learning Library (MLlib)
- 反向传播(Backpropagation)算法的数学原理
- 关于SVM的那点破事
- 也谈 机器学习到底有没有用 ?
- TensorFlow人工智能引擎入门教程之九 RNN/LSTM循环神经网络长短期记忆网络使用
- TensorFlow人工智能引擎入门教程之十 最强网络 RSNN深度残差网络 平均准确率96-99%
- TensorFlow人工智能引擎入门教程所有目录
- 如何用70行代码实现深度神经网络算法
- 量子计算机编程原理简介 和 机器学习
- 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)
- 已经证实提高机器学习模型准确率的八大方法
- 初识机器学习算法有哪些?
- 机器学习相关的库和工具
- 10个关于人工智能和机器学习的有趣开源项目
- 机器学习实践中应避免的7种常见错误
- 机器学习常见的算法面试题总结
- 不平衡数据处理技术——RUSBoost