1 問(wèn)題之前我們考慮的訓(xùn)練數(shù)據(jù)中樣例的個(gè)數(shù)m都遠(yuǎn)遠(yuǎn)大于其特征個(gè)數(shù)n,這樣不管是進(jìn)行回歸、聚類等都沒(méi)有太大的問(wèn)題。然而當(dāng)訓(xùn)練樣例個(gè)數(shù)m太小,甚至m<<n的時(shí)候,使用梯度下降法進(jìn)行回歸時(shí),如果初值不同,得到的參數(shù)結(jié)果會(huì)有很大偏差(因?yàn)榉匠虜?shù)小于參數(shù)個(gè)數(shù))。另外,如果使用多元高斯分布(Multivariate Gaussian distribution)對(duì)數(shù)據(jù)進(jìn)行擬合時(shí),也會(huì)有問(wèn)題。讓我們來(lái)演算一下,看看會(huì)有什么問(wèn)題: 多元高斯分布的參數(shù)估計(jì)公式如下: 分別是求mean和協(xié)方差的公式,表示樣例,共有m個(gè),每個(gè)樣例n個(gè)特征,因此是n維向量,是n*n協(xié)方差矩陣。 當(dāng)m<<n時(shí),我們會(huì)發(fā)現(xiàn)是奇異陣(),也就是說(shuō)不存在,沒(méi)辦法擬合出多元高斯分布了,確切的說(shuō)是我們估計(jì)不出來(lái)。 如果我們?nèi)匀幌胗枚嘣咚狗植紒?lái)估計(jì)樣本,那怎么辦呢? 2 限制協(xié)方差矩陣當(dāng)沒(méi)有足夠的數(shù)據(jù)去估計(jì)時(shí),那么只能對(duì)模型參數(shù)進(jìn)行一定假設(shè),之前我們想估計(jì)出完全的(矩陣中的全部元素),現(xiàn)在我們假設(shè)就是對(duì)角陣(各特征間相互獨(dú)立),那么我們只需要計(jì)算每個(gè)特征的方差即可,最后的只有對(duì)角線上的元素不為0 回想我們之前討論過(guò)的二維多元高斯分布的幾何特性,在平面上的投影是個(gè)橢圓,中心點(diǎn)由決定,橢圓的形狀由決定。如果變成對(duì)角陣,就意味著橢圓的兩個(gè)軸都和坐標(biāo)軸平行了。 如果我們想對(duì)進(jìn)一步限制的話,可以假設(shè)對(duì)角線上的元素都是等值的。 其中 也就是上一步對(duì)角線上元素的均值,反映到二維高斯分布圖上就是橢圓變成圓。 當(dāng)我們要估計(jì)出完整的時(shí),我們需要m>=n+1才能保證在最大似然估計(jì)下得出的是非奇異的。然而在上面的任何一種假設(shè)限定條件下,只要m>=2都可以估計(jì)出限定的。 這樣做的缺點(diǎn)也是顯然易見(jiàn)的,我們認(rèn)為特征間獨(dú)立,這個(gè)假設(shè)太強(qiáng)。接下來(lái),我們給出一種稱為因子分析的方法,使用更多的參數(shù)來(lái)分析特征間的關(guān)系,并且不需要計(jì)算一個(gè)完整的。 3 邊緣和條件高斯分布在討論因子分析之前,先看看多元高斯分布中,條件和邊緣高斯分布的求法。這個(gè)在后面因子分析的EM推導(dǎo)中有用。 假設(shè)x是有兩個(gè)隨機(jī)向量組成(可以看作是將之前的分成了兩部分) 其中,,那么,,由于協(xié)方差矩陣是對(duì)稱陣,因此。 那么只知道聯(lián)合分布的情況下,如何求得的邊緣分布呢?從上面的和可以看出, 由此可見(jiàn),多元高斯分布的邊緣分布仍然是多元高斯分布。也就是說(shuō)。 上面Cov(x)里面有趣的是,這個(gè)與之前計(jì)算協(xié)方差的效果不同。之前的協(xié)方差矩陣都是針對(duì)一個(gè)隨機(jī)變量(多維向量)來(lái)說(shuō)的,而評(píng)價(jià)的是兩個(gè)隨機(jī)向量之間的關(guān)系。比如={身高,體重},={性別,收入},那么求的是身高與身高,身高與體重,體重與體重的協(xié)方差。而求的是身高與性別,身高與收入,體重與性別,體重與收入的協(xié)方差,看起來(lái)與之前的大不一樣,比較詭異的求法。 上面求的是邊緣分布,讓我們考慮一下條件分布的問(wèn)題,也就是的問(wèn)題。根據(jù)多元高斯分布的定義,。 且 這是我們接下來(lái)計(jì)算時(shí)需要的公式,這兩個(gè)公式直接給出,沒(méi)有推導(dǎo)過(guò)程。如果想了解具體的推導(dǎo)過(guò)程,可以參見(jiàn)Chuong B. Do寫的《Gaussian processes》。 4 因子分析例子下面通過(guò)一個(gè)簡(jiǎn)單例子,來(lái)引出因子分析背后的思想。 因子分析的實(shí)質(zhì)是認(rèn)為m個(gè)n維特征的訓(xùn)練樣例的產(chǎn)生過(guò)程如下: 1、 首先在一個(gè)k維的空間中按照多元高斯分布生成m個(gè)(k維向量),即 對(duì)應(yīng)的意義是將變換后的(n維向量)移動(dòng)到樣本的中心點(diǎn)。 4、 由于真實(shí)樣例與上述模型生成的有誤差,因此我們繼續(xù)加上誤差(n維向量), 5、 最后的結(jié)果認(rèn)為是真實(shí)的訓(xùn)練樣例的生成公式 讓我們使用一種直觀方法來(lái)解釋上述過(guò)程: 假設(shè)我們有m=5個(gè)2維的樣本點(diǎn)(兩個(gè)特征),如下: 那么按照因子分析的理解,樣本點(diǎn)的生成過(guò)程如下: 1、 我們首先認(rèn)為在1維空間(這里k=1),存在著按正態(tài)分布生成的m個(gè)點(diǎn),如下 均值為0,方差為1。 2、 然后使用某個(gè)將一維的z映射到2維,圖形表示如下: 3、 之后加上,即將所有點(diǎn)的橫坐標(biāo)移動(dòng),縱坐標(biāo)移動(dòng),將直線移到一個(gè)位置,使得直線過(guò)點(diǎn),原始左邊軸的原點(diǎn)現(xiàn)在為(紅色點(diǎn))。 然而,樣本點(diǎn)不可能這么規(guī)則,在模型上會(huì)有一定偏差,因此我們需要將上步生成的點(diǎn)做一些擾動(dòng)(誤差),擾動(dòng)。 5、 其中由于z和的均值都為0,因此也是原始樣本點(diǎn)(黑色點(diǎn))的均值。 由以上的直觀分析,我們知道了因子分析其實(shí)就是認(rèn)為高維樣本點(diǎn)實(shí)際上是由低維樣本點(diǎn)經(jīng)過(guò)高斯分布、線性變換、誤差擾動(dòng)生成的,因此高維數(shù)據(jù)可以使用低維來(lái)表示。 5 因子分析模型上面的過(guò)程是從隱含隨機(jī)變量z經(jīng)過(guò)變換和誤差擾動(dòng)來(lái)得到觀測(cè)到的樣本點(diǎn)。其中z被稱為因子,是低維的。 我們將式子再列一遍如下: 下面使用的因子分析表示方法是矩陣表示法,在參考資料中給出了一些其他的表示方法,如果不明白矩陣表示法,可以參考其他資料。 矩陣表示法認(rèn)為z和x聯(lián)合符合多元高斯分布,如下 我們已知E[z]=0,因此 這個(gè)過(guò)程中利用了z和獨(dú)立假設(shè)()。并將看作已知變量。 然后得出聯(lián)合分布的最終形式 然后對(duì)各個(gè)參數(shù)求偏導(dǎo)數(shù)不就得到各個(gè)參數(shù)的值了么? 可惜我們得不到closed-form。想想也是,如果能得到,還干嘛將z和x放在一起求聯(lián)合分布呢。根據(jù)之前對(duì)參數(shù)估計(jì)的理解,在有隱含變量z時(shí),我們可以考慮使用EM來(lái)進(jìn)行估計(jì)。 6 因子分析的EM估計(jì)我們先來(lái)明確一下各個(gè)參數(shù),z是隱含變量,是待估參數(shù)。 回想EM兩個(gè)步驟:
我們套用一下: (E步): 根據(jù)第3節(jié)的條件分布討論, 因此 那么根據(jù)多元高斯分布公式,得到 (M步): 直接寫要最大化的目標(biāo)是 首先將上式簡(jiǎn)化為: 這里表示服從分布。然后去掉與不相關(guān)的項(xiàng)(后兩項(xiàng)),得 去掉不相關(guān)的前兩項(xiàng)后,對(duì)進(jìn)行導(dǎo), 第一步到第二步利用了tr a = a(a是實(shí)數(shù)時(shí))和tr AB = tr BA。最后一步利用了 tr就是求一個(gè)矩陣對(duì)角線上元素和。 最后讓其值為0,并且化簡(jiǎn)得 然后得到 到這里我們發(fā)現(xiàn),這個(gè)公式有點(diǎn)眼熟,與之前回歸中的最小二乘法矩陣形式類似 這里解釋一下兩者的相似性,我們這里的x是z的線性函數(shù)(包含了一定的噪聲)。在E步得到z的估計(jì)后,我們找尋的實(shí)際上是x和z的線性關(guān)系。而最小二乘法也是去找特征和結(jié)果直接的線性關(guān)系。 到這還沒(méi)完,我們需要求得括號(hào)里面的值 根據(jù)我們之前對(duì)z|x的定義,我們知道 將上面的結(jié)果代入(7)中得到 至此,我們得到了,注意一點(diǎn)是E[z]和的不同,后者需要求z的協(xié)方差。 其他參數(shù)的迭代公式如下: 然后將上的對(duì)角線上元素抽取出來(lái)放到對(duì)應(yīng)的中,就得到了。 7 總結(jié)根據(jù)上面的EM的過(guò)程,要對(duì)樣本X進(jìn)行因子分析,只需知道要分解的因子數(shù)(z的維度)即可。通過(guò)EM,我們能夠得到轉(zhuǎn)換矩陣和誤差協(xié)方差。 因子分析實(shí)際上是降維,在得到各個(gè)參數(shù)后,可以求得z。但是z的各個(gè)參數(shù)含義需要自己去琢磨。 下面從一個(gè)ppt中摘抄幾段話來(lái)進(jìn)一步解釋因子分析。 因子分析(factor analysis)是一種數(shù)據(jù)簡(jiǎn)化的技術(shù)。它通過(guò)研究眾多變量之間的內(nèi)部依賴關(guān)系,探求觀測(cè)數(shù)據(jù)中的基本結(jié)構(gòu),并用少數(shù)幾個(gè)假想變量來(lái)表示其基本的數(shù)據(jù)結(jié)構(gòu)。這幾個(gè)假想變量能夠反映原來(lái)眾多變量的主要信息。原始的變量是可觀測(cè)的顯在變量,而假想變量是不可觀測(cè)的潛在變量,稱為因子。 例如,在企業(yè)形象或品牌形象的研究中,消費(fèi)者可以通過(guò)一個(gè)有24個(gè)指標(biāo)構(gòu)成的評(píng)價(jià)體系,評(píng)價(jià)百貨商場(chǎng)的24個(gè)方面的優(yōu)劣。 但消費(fèi)者主要關(guān)心的是三個(gè)方面,即商店的環(huán)境、商店的服務(wù)和商品的價(jià)格。因子分析方法可以通過(guò)24個(gè)變量,找出反映商店環(huán)境、商店服務(wù)水平和商品價(jià)格的三個(gè)潛在的因子,對(duì)商店進(jìn)行綜合評(píng)價(jià)。而這三個(gè)公共因子可以表示為: 這里的就是樣例x的第i個(gè)分量,就是的第i個(gè)分量,就是的第i行第j列元素,是z的第i個(gè)分量,是。 稱是不可觀測(cè)的潛在因子。24個(gè)變量共享這三個(gè)因子,但是每個(gè)變量又有自己的個(gè)性,不被包含的部分,稱為特殊因子。
注: 因子分析與回歸分析不同,因子分析中的因子是一個(gè)比較抽象的概念,而回歸因子有非常明確的實(shí)際意義; 主成分分析分析與因子分析也有不同,主成分分析僅僅是變量變換,而因子分析需要構(gòu)造因子模型。 主成分分析:原始變量的線性組合表示新的綜合變量,即主成分; 因子分析:潛在的假想變量和隨機(jī)影響變量的線性組合表示原始變量。 PPT地址 http://www.math./webpagenew/uploadfiles/attachfiles/2008123195228555.ppt 其他值得參考的文獻(xiàn) An Introduction to Probabilistic Graphical Models by Jordan Chapter 14 主成分分析和因子分析的區(qū)別http:///old/view.php?tid=10&id=82 |
|
來(lái)自: 惡魔傳說(shuō) > 《機(jī)器學(xué)習(xí)》