大家好,又见面了,我是你们的朋友全栈君。
很多参数估计问题均采用似然函数作为目标函数,当训练数据足够多时,可以不断提高模型精度,但是以提高模型复杂度为代价的,同时带来一个机器学习中非常普遍的问题——过拟合。所以,模型选择问题在模型复杂度与模型对数据集描述能力(即似然函数)之间寻求最佳平衡。
人们提出许多信息准则,通过加入模型复杂度的惩罚项来避免过拟合问题,此处我们介绍一下常用的两个模型选择方法——赤池信息准则(Akaike Information Criterion,AIC)和贝叶斯信息准则(Bayesian Information Criterion,BIC)。
1.AIC准则
AIC是衡量统计模型拟合优良性的一种标准,由日本统计学家赤池弘次在1974年提出,它建立在熵的概念上,提供了权衡估计模型复杂度和拟合数据优良性的标准。
通常情况下,它是拟合精度和参数未知个数的加权函数,AIC定义为:
AIC=2k-2In(L)
当在两个模型之间存在着相当大的差异时,这个差异出现于上式第二项,而当第二项不出现显著性差异时,第一项起作用,从而参数个数少的模型是好的模型。
让n为观察数,RSS为剩余平方和,那么AIC变为:
AIC=2k+nIn(RSS/n)
其中k是模型中未知参数个数,L是模型中极大似然函数值似然函数。从一组可供选择的模型中选择最佳模型时,通常选择AIC最小的模型。
当两个模型之间存在较大差异时,差异主要体现在似然函数项,
当似然函数差异不显著时,上式第一项,即模型复杂度则起作用,从而参数个数少的模型是较好的选择。
一般而言,当模型复杂度提高(k增大)时,似然函数L也会增大,从而使AIC变小,但是k过大时,似然函数增速减缓,导致AIC增大,模型过于复杂容易造成过拟合现象。目标是选取AIC最小的模型,AIC不仅要提高模型拟合度(极大似然),而且引入了惩罚项,使模型参数尽可能少,有助于降低过拟合的可能性。可见AIC准则有效且合理地控制了参数的维数k。显然AIC准则追求似然函数尽可能大的同时,k要尽可能的小。
举例:
设y1,y2,….,yn是来自未知总体g(y)的样本。总体的概率密度为f(y;θ),θ是r*1未知参数向量。若θ的极大似然估计是θ*,则L(θ*)=∑_(i=1)^n▒〖Inf(y_i;θ*)〗就是对数似然函数,由此,
AIC=-2L(θ*)+2r
可以度量f(y;θ)与g(y)之间的差异。
2.BIC
BIC(Bayesian InformationCriterion)贝叶斯信息准则与AIC相似,用于模型选择,1978年由Schwarz提出。训练模型时,增加参数数量,也就是增加模型复杂度,会增大似然函数,但是也会导致过拟合现象,针对该问题,AIC和BIC均引入了与模型参数个数相关的惩罚项,BIC的惩罚项比AIC的大,考虑了样本数量,样本数量过多时,可有效防止模型精度过高造成的模型复杂度过高。
BIC=kIn(n)-2In(L)
其中,k为模型参数个数,n为样本数量,L为似然函数。kln(n)惩罚项在维数过大且训练样本数据相对较少的情况下,可以有效避免出现维度灾难现象。
3.QAIC
为了使用过度离散(或缺乏拟合),提出了改进的AIC准则QAIC:
QAIC=-2In(L)/c+2k
c是方差膨胀因子
转载于:https://www.cnblogs.com/lantingg/p/9533303.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/145888.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...