理解赤池信息量(AIC),贝叶斯信息量(BIC)

一、基本概念

模型选择主要有两个思路:
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 ] ^{[1]} [1]
BIC:基于贝叶斯因子。

定义式为:
A I C = 2 l n ( f ( y ∣ θ k ) ) − 2 K AIC =2 ln(f (y| θ _k)) - 2K AIC=2ln(f(yθk))2K。选择模型时选择AIC最大的模型。
B I C = 2 l n ( f ( y ∣ θ k ) ) − K l o g ( n ) 。 BIC = 2 ln(f (y| θ _k)) - K log(n)。 BIC=2ln(f(yθk))Klog(n)选择模型时选择BIC最大的模型。

在模型拟合时,增加参数可使得似然概率增大,但是却引入了额外的变量。AIC和BIC都在目标式中添加了模型参数个数的惩罚项。

二、BIC公式推导

在选择模型时,贝叶斯方法的做法是在给定数据 { y j } j = 1 n \{y_j\}^n_{j=1} {yj}j=1n下最大化模型 ( M i ) (Mi) (Mi)的后验概率。
根据贝叶斯定理,有:
P ( M i ∣ y 1 , . . . , y n ) = P ( y 1 , . . . , y n ∣ M i ) P ( M i ) P ( y 1 , . . . , y n ) , ( 1 ) P (M_i|y_1, . . . , y_n) = \frac{P (y_1, . . . , y_n|M_i)P (M_i) }{P (y_1, . . ., y_n)}, (1) P(Miy1,...,yn)=P(y1,...,yn)P(y1,...,ynMi)P(Mi),(1)

其中 P ( y 1 , . . . , y n ∣ M i ) P (y_1, . . . , y_n|M_i) P(y1,...,ynMi)是模型的边缘概率,在给定数据 { y j } j = 1 n \{y_j\}^n_{j=1} {yj}j=1n时, P ( y 1 , . . . , y n ) P (y_1, . . ., y_n) P(y1,...,yn)是相同的,且假设在不知道任何数据的情况下各个模型是同样合理的,即 P ( M i ) P (M_i) P(Mi)是定值,于是,最大化后验概率等价于最大化模型的边缘概率。而:
P ( y 1 , . . . , y n ∣ M i ) = ∫ Θ i L ( θ i ∣ y 1 , . . . , y n ) g i ( θ i ) d θ i , ( 2 ) P (y_1, . . . , y_n|M_i) = \int_{Θ_i} L(θ_i|y_1, . . . , y_n)g_i(θ_i)d_{θ_i}, (2) P(y1,...,ynMi)=ΘiL(θiy1,...,yn)gi(θi)dθi,(2)
其中, Θ i Θ_i Θi是模型 M i M_i Mi的参数向量, L L L是似然函数, g i ( θ i ) g_i(θ_i) gi(θi)是参数 θ i θ_i θi的概率分布。

在选择模型时,选择后验概率最大的模型,比如有两个模型 M 0 和 M 1 M_0和M_1 M0M1其后验概率分别为 P ( y ∣ M 0 ) 和 P ( y ∣ M 1 ) P(y|M_0)和P(y|M_1) P(yM0)P(yM1),通过比较这两个值的大小或者比较 B 01 ( y ) = P ( y ∣ M 0 ) P ( y ∣ M 1 ) B_{01}(y)=\frac{P(y|M_0)}{P(y|M_1)} B01(y)=P(yM1)P(yM0)与1的大小,从而确地选择模型0还是1,当它比1大时选择模型 M 0 M_0 M0,比1小时选择模型 M 1 M_1 M1 B 01 ( y ) B_{01}(y) B01(y)被称为贝叶斯因子。可以看到,使用贝叶斯因子方法来选择模型,不需要考虑参数的先验概率(其实是假设了先验相等),这在很多参数先验无法求出时很有用,贝叶斯因子可以比较任意两个模型的好坏。Kass等人1995年证明了在某种情况下,基于BIC的模型选择方法近似等价于基于贝叶斯因子的模型选择方法。贝叶斯因子方法不预测结果,隶属于解释性框架。

更详细的推到见参考文献[1]

三、AIC,BIC比较

AIC和BIC的公式中前半部分是一样的,后半部分是惩罚项,当 n ≥ 8 n≥8 n8时, k l n ( n ) ≥ 2 k kln(n)≥2k 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

你可能感兴趣的:(机器学习,机器学习框架源码阅读)