本文轉(zhuǎn)自徐飛翔的“參數(shù)和非參數(shù)模型——當我談到參數(shù)我在說些什么”
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。
對觀察數(shù)據(jù)集進行描述
假如現(xiàn)在給我們觀察數(shù)據(jù) ,其中
是表征這個觀察數(shù)據(jù)的特征和標簽,其中的
表示特征維度, m m m表示樣本數(shù)量。 如果我們嘗試對這個觀察數(shù)據(jù)進行模型描述,我們可以怎么描述呢?把這個問題記住,我們繼續(xù)探討。
我們要認識到,對觀察數(shù)據(jù)進行描述,指的不光光是把所有數(shù)據(jù)一個字節(jié)一個字節(jié)地“記住”(memorize),而是嘗試用一個概率分布去描述這個觀察數(shù)據(jù),比如數(shù)據(jù)的聯(lián)合概率分布就可以很好地描述這個觀察數(shù)據(jù)。為什么呢?比如說我們現(xiàn)在輸入樣本的特征是
是一個5維向量,標簽
表征了其類別,那么概率:
(1.1)
這個概率表示了樣本 和標簽
或者
同時出現(xiàn)的概率,通過計算邊緣概率分布,我們同樣知道了特征的概率分布:
(1.2)
我們在這里不用考慮(1.1)這個概率是怎么計算出來的(實際上這個正是模型所做的事),我們只要知道通過這種手段可以去表達觀察數(shù)據(jù)集,我們把這個分布稱之為“模型”(不太準確,但是可以這樣理解)。從這個分布中進行采樣我們足以生成虛擬的樣本(生成模型的領(lǐng)域),當然這都是后話了。同樣的,知道了這個分布,也足以解決我們的樣本分類問題:
(1.3)
好的,那么我們現(xiàn)在的問題就集中在如何才能得到(1.1)的概率分布了,也就是怎么建模了。我們終于要進入正題了,哈哈哈哈。
總的來說,我們可以通過兩種方法進行建模,一種稱之為參數(shù)化模型(parametric model),另一大類是非參數(shù)模型(non-parametric model)。注意,這里的“參數(shù)”和模型有沒有可以學習的參數(shù)(比如神經(jīng)網(wǎng)絡(luò)中的weight)是沒有關(guān)系的,非參數(shù)模型中可以有很多可學習的參數(shù),但是不妨礙它為非參數(shù)模型。那么我們的問題就是怎么去理解這個“參數(shù)”了。參數(shù)化模型
對(1.1)的概率分布進行建模,有一種最為直接的方法就是先假設(shè)這個分布是服從某個特定分布的,比如高斯分布,泊松分布等等,當然這些分布中有些未知參數(shù)需要我們求得,而這些參數(shù)也正是決定了這個分布的形狀的,比如高斯分布的均值和協(xié)方差決定了不同的高斯分布,如下圖所示。
在這里插入圖片描述Fig 1. 不同均值和協(xié)方差的高斯分布。
我們也可以假設(shè)這個未知分布是多個已知分布的組合,比如多個高斯分布的組合,我們稱之為混合高斯模型(Gaussian Mixture Model,GMM),模型公式[1]如:
(2.1)
其實就是K個不同均值和協(xié)方差的高斯分布的混合,并且對此進行了加權(quán)。
我們也可以假設(shè)我們的數(shù)據(jù)擬合曲線的形式,這個同樣也是在隱式地對概率分布進行建模。經(jīng)典的包括線性回歸,邏輯斯蒂回歸等,其函數(shù)形式都是如同:
=
同樣的,整個函數(shù)的形式都是已經(jīng)確定了的,無非就是一個直線/超平面 而已,但是其具體的 的組合,決定了這個超平面的具體走向。
這個就是所謂的參數(shù)化模型,我們需要根據(jù)經(jīng)驗,觀察,專家知識等對數(shù)據(jù)分布進行一定的假設(shè)后,然后對決定這個分布形狀的參數(shù)集 進行求解,這個求解通常根據(jù)現(xiàn)有的觀察到的數(shù)據(jù)集進行,這個參數(shù)集
是一個有限的集合。
我們可以推出一個結(jié)論就是,在參數(shù)化模型的框架下,無論我接下來觀察到多少數(shù)量的數(shù)據(jù),哪怕是無限多個數(shù)據(jù),我模型的參數(shù)量都只有固定數(shù)量多個,那便是 。也就是說,用有界的參數(shù)量(復(fù)雜度)對無界的(數(shù)據(jù)量)的數(shù)據(jù)分布進行了建模。
假如你的假設(shè)分布足夠靠譜,甚至是完全正確的,那么當你通過一些觀察樣本,得到了參數(shù)集 之后,之后的預(yù)測結(jié)果將之和這個參數(shù)集有關(guān),后續(xù)的任何觀察樣本
都和預(yù)測結(jié)果無關(guān),表示為:
顯然這樣模型并不是很靈活,模型的可靠性強依賴于對數(shù)據(jù)的人工分析經(jīng)驗等。非參數(shù)化模型
非參數(shù)化模型,和參數(shù)化模型截然相反的是,對數(shù)據(jù)分布不進行任何的假設(shè),只是依賴于觀察數(shù)據(jù),對其進行擬合。換句話說,其認為數(shù)據(jù)分布不能通過有限的參數(shù)集進行描述,但是可以通過無限維度的參數(shù)
進行描述,無限維度也就意味著其本質(zhì)就是一個函數(shù)
。
通常,實際中的模型是對這個無限維度參數(shù)集的近似,比如神經(jīng)網(wǎng)絡(luò)中的參數(shù),雖然參數(shù)量通常很大,也有萬有擬合理論保證其可以擬合函數(shù),但是其只是對無限維度數(shù)據(jù)的近似而已。由于非參數(shù)化模型依賴于觀察數(shù)據(jù),因此參數(shù)集能捕獲到的信息量隨著觀察數(shù)據(jù)集的數(shù)量增加而增加,這個使得模型更加靈活。
常見的模型歸屬
常見的參數(shù)化模型和非參數(shù)化模型有:
需要進行解釋的是,神經(jīng)網(wǎng)絡(luò)可以看成是高斯過程的近似[2],因此神經(jīng)網(wǎng)絡(luò)也是非參數(shù)化模型,k-means在聚類過程中假設(shè)數(shù)據(jù)是球型分布的(也就是歐式距離還管用,歐式距離可以表征樣本之間的相似度的情況)。這里指的參數(shù)到底是啥
所以這里談到的參數(shù)到底是個啥呢?我認為,這里的參數(shù)與否其實指的是是否用參數(shù)對模型的形狀進行了顯式地描述,如有則是參數(shù)化模型,沒有,那么就是非參數(shù)化模型了。
Reference
[1]. https://blog.csdn.net/lin_limin/article/details/81048411
[2]. Radford M. Neal. Priors for infinite networks (tech. rep. no. crg-tr-94-1). University of Toronto, 1994a.