http://blog.csdn.net/xianlingmao/article/details/7891277
經常地,對一堆數據進行建模的時候,特別是分類和回歸模型,我們有很多的變量可供使用,選擇不同的變量組合可以得到不同的模型,例如我們有5個變量,2的5次方,我們將有32個變量組合,可以訓練出32個模型。但是哪個模型更加的好呢?目前常用有如下方法:
AIC=-2 ln(L) + 2 k 中文名字:赤池信息量 akaike information criterion
BIC=-2 ln(L) + ln(n)*k 中文名字:貝葉斯信息量 bayesian information criterion
HQ=-2 ln(L) + ln(ln(n))*k hannan-quinn criterion
其中L是在該模型下的最大似然,n是數據數量,k是模型的變量個數。
注意這些規則只是刻畫了用某個模型之后相對“真實模型”的信息損失【因為不知道真正的模型是什么樣子,所以訓練得到的所有模型都只是真實模型的一個近似模型】,所以用這些規則不能說明某個模型的精確度,即三個模型A, B, C,在通過這些規則計算后,我們知道B模型是三個模型中最好的,但是不能保證B這個模型就能夠很好地刻畫數據,因為很有可能這三個模型都是非常糟糕的,B只是爛蘋果中的相對好的蘋果而已。
這些規則理論上是比較漂亮的,但是實際在模型選擇中應用起來還是有些困難的,例如上面我們說了5個變量就有32個變量組合,如果是10個變量呢?2的10次方,我們不可能對所有這些模型進行一一驗證AIC, BIC,HQ規則來選擇模型,工作量太大。
參考文章http://blog.csdn.net/lynnucas/article/details/47947943
轉自:http://blog.csdn.net/jteng/article/details/40823675
此處模型選擇我們只考慮模型參數數量,不涉及模型結構的選擇。
很多參數估計問題均采用似然函數作為目標函數,當訓練數據足夠多時,可以不斷提高模型精度,但是以提高模型復雜度為代價的,同時帶來一個機器學習中非常普遍的問題——過擬合。所以,模型選擇問題在模型復雜度與模型對數據集描述能力(即似然函數)之間尋求最佳平衡。
人們提出許多信息准則,通過加入模型復雜度的懲罰項來避免過擬合問題,此處我們介紹一下常用的兩個模型選擇方法——赤池信息准則(Akaike Information Criterion,AIC)和貝葉斯信息准則(Bayesian Information Criterion,BIC)。
AIC是衡量統計模型擬合優良性的一種標准,由日本統計學家赤池弘次在1974年提出,它建立在熵的概念上,提供了權衡估計模型復雜度和擬合數據優良性的標准。
通常情況下,AIC定義為:
其中k是模型參數個數,L是似然函數。從一組可供選擇的模型中選擇最佳模型時,通常選擇AIC最小的模型。
當兩個模型之間存在較大差異時,差異主要體現在似然函數項,當似然函數差異不顯著時,上式第一項,即模型復雜度則起作用,從而參數個數少的模型是較好的選擇。
一般而言,當模型復雜度提高(k增大)時,似然函數L也會增大,從而使AIC變小,但是k過大時,似然函數增速減緩,導致AIC增大,模型過於復雜容易造成過擬合現象。目標是選取AIC最小的模型,AIC不僅要提高模型擬合度(極大似然),而且引入了懲罰項,使模型參數盡可能少,有助於降低過擬合的可能性。
BIC(Bayesian InformationCriterion)貝葉斯信息准則與AIC相似,用於模型選擇,1978年由Schwarz提出。訓練模型時,增加參數數量,也就是增加模型復雜度,會增大似然函數,但是也會導致過擬合現象,針對該問題,AIC和BIC均引入了與模型參數個數相關的懲罰項,BIC的懲罰項比AIC的大,考慮了樣本數量,樣本數量過多時,可有效防止模型精度過高造成的模型復雜度過高。
其中,k為模型參數個數,n為樣本數量,L為似然函數。kln(n)懲罰項在維數過大且訓練樣本數據相對較少的情況下,可以有效避免出現維度災難現象。