【Python学习系列二十三】Scikit_Learn库降维方法(矩阵分解)-PCAFA
1主成分分析PCA
1.1 精確PCA和似然估計(jì)
PCA基于最大方差的正交變量分解多維數(shù)據(jù)集。在scikit-learn庫(kù)中,PCA的實(shí)現(xiàn)是先通過(guò)fit方法計(jì)算n維的特征值和特征向量,然后通過(guò)transformer對(duì)象做數(shù)據(jù)轉(zhuǎn)換,轉(zhuǎn)換后的新數(shù)據(jù)可以在n維上得到映射。
可選參數(shù)whiten =True使得可以將數(shù)據(jù)投射到奇異矩陣上,同時(shí)將每個(gè)屬性縮放到單位方差。這對(duì)下步要學(xué)習(xí)的模型來(lái)說(shuō)是非常有用的,如果下步要學(xué)習(xí)的模型具有均質(zhì)性,如RBF內(nèi)核的SVM支持向量機(jī)和K-Means聚類算法。
Iris數(shù)據(jù)集有4個(gè)特征,PCA后可以用最大方差的2個(gè)維度來(lái)映射,效果如圖:
PCA對(duì)象還給出概率估算,可以根據(jù)其方差量給出數(shù)據(jù)的可能性。因此,PCA也實(shí)現(xiàn)了一個(gè)評(píng)分方法可以用來(lái)做交叉驗(yàn)證。
實(shí)現(xiàn)案例:
1)iris數(shù)據(jù)集應(yīng)用LDA和PCA后降維后的2D投射效果比較
http://scikit-learn.org/stable/auto_examples/decomposition/plot_pca_vs_lda.html#sphx-glr-auto-examples-decomposition-plot-pca-vs-lda-py
2)基于概率PCA和因子分析FA的模型選擇
http://scikit-learn.org/stable/auto_examples/decomposition/plot_pca_vs_fa_model_selection.html#sphx-glr-auto-examples-decomposition-plot-pca-vs-fa-model-selection-py
1.2 增量PCA
PCA對(duì)象是非常有用,不過(guò)對(duì)大容量數(shù)據(jù)集來(lái)說(shuō)也有不足。最大的局限是PCA只支持批量處理,這就意味著所有要處理的數(shù)據(jù)要在主存中完成fit處理。增量PCA對(duì)象使用了不同的處理方法,它只處理小型數(shù)據(jù)進(jìn)行部分計(jì)算,就能最大程度接近PCA結(jié)果。
增量PCA使實(shí)現(xiàn)非核心主成分分析(out-of-corePrincipal Component Analysis)成為可能,步驟:
1)對(duì)從網(wǎng)絡(luò)數(shù)據(jù)庫(kù)或硬盤中一次取出來(lái)的數(shù)據(jù)塊使用partial_fit方法;
2)使用numpy.memmap在內(nèi)存映射文件上調(diào)用fit方法。
增量 PCA 僅存儲(chǔ)特征和噪聲方差的估計(jì),目的是更新 explained_variance_ratio_incrementally 。這就是為什么內(nèi)存使用取決于每個(gè)批次的樣本數(shù)量,而不是在數(shù)據(jù)集中要處理的樣本數(shù)。
案例:
1)增量PCA。
http://scikit-learn.org/stable/auto_examples/decomposition/plot_incremental_pca.html#sphx-glr-auto-examples-decomposition-plot-incremental-pca-py
1.3 基于隨機(jī)SVD的PCA
通過(guò)拋棄與較低奇異值相關(guān)聯(lián)的分量的奇異向量,能將數(shù)據(jù)投影較低維度空間,同時(shí)又保留大部分差異。
舉個(gè)例子,如果我們對(duì)64x64像素灰度圖片進(jìn)行臉部識(shí)別,數(shù)據(jù)的維度是4096,在如此廣泛的數(shù)據(jù)上訓(xùn)練RBF支持向量機(jī)是很慢的。而且,我們知道實(shí)際有用的維度遠(yuǎn)遠(yuǎn)少于4096,因?yàn)樗腥四樀恼掌雌饋?lái)都相像。
樣本集取決于較低維度上的維度數(shù),例如說(shuō)約200。PCA算法可用于線性變換數(shù)據(jù),同時(shí)降低維數(shù)并同時(shí)保留最大的差異性。
在這樣的情況下,PCA類使用可選參數(shù)svd_solver='randomized'是非常有用的。在執(zhí)行實(shí)際變換時(shí),由于我們將要拋棄大部分奇異向量,所以將計(jì)算限制為奇異向量的近似估計(jì)是更有效的。
舉個(gè)例子,以下顯示的 16 個(gè)樣本肖像 ( 以 0.0 為中心 ) 來(lái)自 Olivetti 數(shù)據(jù)集。下圖是依據(jù)前 16 個(gè)奇異矢量重畫(huà)的肖像。由于只需計(jì)算前 16 個(gè)奇異向量的數(shù)據(jù)集,該數(shù)據(jù)集有 400 個(gè)樣本和 4096 個(gè)特征,計(jì)算時(shí)間少于 1 秒。
案例:
1)使用特征臉和SVM進(jìn)行人臉識(shí)別
http://scikit-learn.org/stable/auto_examples/applications/face_recognition.html#sphx-glr-auto-examples-applications-face-recognition-py
2)人臉數(shù)據(jù)集降維
http://scikit-learn.org/stable/auto_examples/decomposition/plot_faces_decomposition.html#sphx-glr-auto-examples-decomposition-plot-faces-decomposition-py
參考:
1)隨機(jī)性結(jié)構(gòu)查找:構(gòu)造近似矩陣分解的隨機(jī)算法
https://arxiv.org/abs/0909.4061
1.4 內(nèi)核PCA
內(nèi)核 PCA 是 PCA 的擴(kuò)展,通過(guò)使用內(nèi)核函數(shù)實(shí)現(xiàn)非線性降維,包括去噪、壓縮和結(jié)構(gòu)預(yù)測(cè)(內(nèi)核依賴估計(jì))功能。內(nèi)核 PCA 支持 transform 和 inverse_transform 。
案例:
1)內(nèi)核PCA
http://scikit-learn.org/stable/auto_examples/decomposition/plot_kernel_pca.html#sphx-glr-auto-examples-decomposition-plot-kernel-pca-py
1.5 稀疏PCA和微稀疏PCA
稀疏PCA是PCA的變異,目的是抽取數(shù)據(jù)最優(yōu)重建的稀疏向量集合。微稀疏PCA是稀疏PCA的變異,速度更快但精度低;對(duì)于給定的迭代次數(shù),通過(guò)迭代該組特征的小量數(shù)據(jù)來(lái)達(dá)到增加的速度。
PCA的缺點(diǎn)是通過(guò)該方法抽取的特征是完全稠密的,即當(dāng)它們表示為原始變量的線性組合時(shí),它們具有非零系數(shù),這給高低維映射帶來(lái)困難。在很多情況下,真正的潛在向量可以自然地假設(shè)為稀疏向量,例如在面部識(shí)別中,向量可能自然地映射到人臉的部分。
稀疏主成分的產(chǎn)生更簡(jiǎn)潔、可解釋的表示、明確強(qiáng)調(diào)哪些原始特征有助于樣本之間的差異。
下面例子闡述了對(duì)來(lái)自 Olivetti 人臉數(shù)據(jù)集通過(guò)稀疏 PCA 抽取 16 個(gè)向量,可以看到正則化方法是如何生成很多零特征。此外,數(shù)據(jù)的自然結(jié)構(gòu)導(dǎo)致非零系數(shù)垂直相鄰。
模型不會(huì)在數(shù)學(xué)上強(qiáng)制執(zhí)行:每個(gè)特征是一個(gè)向量,,并沒(méi)有垂直相鄰性的概念,除非在人臉友好的可視化中作為64x64像素的圖像。
可視局部的內(nèi)在特征受數(shù)據(jù)固有結(jié)構(gòu)所影響,使得局部模式的重構(gòu)誤差最小化;也存在由稀疏性帶來(lái)的規(guī)則,這些規(guī)則考慮到了結(jié)構(gòu)間的相似性和相異性?;仡櫹∈?/span> PCA 方法,在使用方面的更多細(xì)節(jié),可以看下文的示例部分。
請(qǐng)注意,對(duì)稀疏PCA問(wèn)題來(lái)說(shuō)有很多不同的提法,其中之一就是本文所提及到的。最優(yōu)問(wèn)題的解決是基于L1范數(shù)正則懲罰項(xiàng)的PCA問(wèn)題(字典學(xué)習(xí))。
在幾乎沒(méi)有訓(xùn)練樣本可用時(shí), L1正則導(dǎo)致的稀疏性能防止從噪音中學(xué)習(xí)特征。懲罰程度(因而稀疏度)可以通過(guò)超參數(shù)alpha進(jìn)行調(diào)整。小值導(dǎo)致了溫和的正則化因式分解,而較大的值將許多系數(shù)縮小到零。
注意:本著在線算法的原則,由于MiniBatchSparsePCA類并沒(méi)有實(shí)現(xiàn)partial_fit方法,因?yàn)樗惴ㄑ刂卣鞣较蛱幚?#xff0c;而不是樣本方向。
案例:
1)人臉數(shù)據(jù)集降維
http://scikit-learn.org/stable/auto_examples/decomposition/plot_faces_decomposition.html#sphx-glr-auto-examples-decomposition-plot-faces-decomposition-py
參考:
1)在線詞典學(xué)習(xí)稀疏編碼
http://www.di.ens.fr/sierra/pdfs/icml09.pdf
2)結(jié)構(gòu)化稀疏主成分分析
鏈接失效,可以直接到百度學(xué)術(shù)以文章名搜索該文。
?
2 截?cái)嗥娈愔捣纸?TSVD)和潛在語(yǔ)義分析
TSVD是SVD的變異,它只計(jì)算k個(gè)最大奇異值,其中k是用戶定義的參數(shù)。當(dāng)TSVD應(yīng)用于主題-文檔矩陣時(shí)(由CountVectorizer或TfidfVectorizer返回),這種轉(zhuǎn)換被稱為潛在語(yǔ)義分析(LSA),因?yàn)樗鼘⒅黝}-文檔矩陣轉(zhuǎn)換成低維度的“語(yǔ)義”空間。特別的是,LSA可以消除同義詞和多義詞的影響(這兩個(gè)都帶來(lái)詞的多重含義),這導(dǎo)致主題-文檔矩陣過(guò)度稀疏,并且在諸如余弦相似性的度量下表現(xiàn)出差的相似性。
注意:LSA也被稱為潛在語(yǔ)義索引LSI,盡管嚴(yán)格地說(shuō)它是指在持久索引中用于信息檢索的目的。
數(shù)學(xué)定義上,TSVD應(yīng)用于訓(xùn)練向量空間X以生成低秩的近似X的向量空間:
注意:自然語(yǔ)言處理(NLP)和信息檢索(IR)文獻(xiàn)中的LSA所采用的大多數(shù)處理方式是交換矩陣的軸,使其具有n_features×n_samples的形狀。這里以與Scikit-learn API相匹配的不同方式提供LSA,但是找到的奇異值是相同的。
TSVD和SVD類似,不同的是,前者是直接計(jì)算樣本矩陣而非協(xié)方差矩陣。當(dāng)從特征值中減去x的列(每特征)均值時(shí),得到的矩陣上截?cái)?/span>SVD相當(dāng)于PCA。實(shí)際上,這意味著TSVD轉(zhuǎn)換方法接受了scipy.sparse 矩陣,而不需要對(duì)它們進(jìn)行致密,因?yàn)榧词箤?duì)于中型文檔集合,致密化也可能填滿內(nèi)存。
當(dāng)TSVD轉(zhuǎn)換方法對(duì)任何(稀疏)特征矩陣計(jì)算時(shí),建議在LSA /文檔處理設(shè)置中使用tf-idf矩陣進(jìn)行原始頻率計(jì)數(shù)。特別地,應(yīng)該啟用子線性縮放和逆文檔頻率(sublinear_t_t =True,use_idf = True)使特征值更接近高斯分布,補(bǔ)償LSA對(duì)文本數(shù)據(jù)的錯(cuò)誤假設(shè)。
案例:
1)應(yīng)用k-means聚類文本文檔
http://scikit-learn.org/stable/auto_examples/text/document_clustering.html#sphx-glr-auto-examples-text-document-clustering-py
參考:
1)矩陣分解和潛在語(yǔ)義索引
https://nlp.stanford.edu/IR-book/pdf/18lsi.pdf
3 字典學(xué)習(xí)
3.1 預(yù)計(jì)算字典的稀疏編碼
SparseCoder對(duì)象是一種估計(jì)器,可用于將信息轉(zhuǎn)換為來(lái)自固定的預(yù)計(jì)算字典(例如離散小波基)的原子的稀疏線性組合。因此,該對(duì)象不實(shí)現(xiàn)fit方法。其轉(zhuǎn)換相當(dāng)于一個(gè)稀疏的編碼問(wèn)題:用盡可能少的字典原子的線性組合表示數(shù)據(jù)。字典學(xué)習(xí)的所有變體實(shí)現(xiàn)以下變換方法,可以通過(guò)transform_method初始化參數(shù)控制:
1)正交匹配追蹤OMP算法;
2)最小角回歸算法;
3)最小角回歸計(jì)算Lasso算法;
4)坐標(biāo)下降法求解Lasso算法;
5)閾值算法;
閾值算法非???#xff0c;但不能精準(zhǔn)重構(gòu),在分類任務(wù)的文獻(xiàn)中已被證明是有用的。對(duì)于圖像重構(gòu)任務(wù)來(lái)說(shuō),正交匹配追蹤算法最準(zhǔn)確、無(wú)偏見(jiàn)的。
字典學(xué)習(xí)對(duì)象通過(guò)split_code參數(shù)提供在稀疏編碼的結(jié)果中分離正值和負(fù)值的可能性。當(dāng)使用字典學(xué)習(xí)來(lái)提取用于監(jiān)督學(xué)習(xí)的特征時(shí),這是有用的,因?yàn)樗试S學(xué)習(xí)算法將不同的權(quán)重分配給特定樣本的負(fù)類和正類。
單個(gè)樣本的分割代碼的長(zhǎng)度為2 * n_components,并使用以下規(guī)則構(gòu)建:首先,計(jì)算長(zhǎng)度為n_components的正則代碼;然后split_code的第一個(gè)n_components條目用正則代碼向量的正部分填充,分割代碼的后半部分用正則代碼向量的負(fù)部分填充,只有一個(gè)正號(hào);因此,split_code是非負(fù)數(shù)。
案例:
1)使用預(yù)計(jì)算的字典進(jìn)行稀疏編碼
http://scikit-learn.org/stable/auto_examples/decomposition/plot_sparse_coding.html#sphx-glr-auto-examples-decomposition-plot-sparse-coding-py
3.2通用字典學(xué)習(xí)
詞典學(xué)習(xí)(Dictionary Learning)是一個(gè)矩陣因式分解問(wèn)題,相當(dāng)于找到一個(gè)(通常是過(guò)完備的)在已fit方法處理的數(shù)據(jù)的稀疏編碼中表現(xiàn)良好的字典。
將數(shù)據(jù)表示為來(lái)自過(guò)完備字典的稀疏組合的樣本被認(rèn)為是哺乳動(dòng)物初級(jí)視覺(jué)皮層的工作方式。因此,應(yīng)用于圖像補(bǔ)丁的字典學(xué)習(xí)已被證明在諸如圖像完成、修復(fù)和去噪以及監(jiān)督識(shí)別任務(wù)的圖像處理任務(wù)中給出良好的結(jié)果。
字典學(xué)習(xí)是通過(guò)交替更新稀疏代碼解決的優(yōu)化問(wèn)題,作為解決多個(gè) Lasso 問(wèn)題的一個(gè)解決方案,考慮到字典固定,然后更新字典以最適合稀疏代碼。
在使用這樣一個(gè)過(guò)程來(lái)fit字典之后,transform只是一個(gè)稀疏編碼步驟,與所有字典學(xué)習(xí)對(duì)象共享相同的實(shí)現(xiàn)(參見(jiàn)使用預(yù)計(jì)算字典的稀疏編碼)。
以下圖像顯示了從浣熊臉部圖像中提取4x4像素圖像補(bǔ)丁是如何學(xué)習(xí)的。
案例:
1)應(yīng)用字典學(xué)習(xí)進(jìn)行圖像去噪
http://scikit-learn.org/stable/auto_examples/decomposition/plot_image_denoising.html#sphx-glr-auto-examples-decomposition-plot-image-denoising-py
參考:
1)在線詞典學(xué)習(xí)稀疏編碼
http://www.di.ens.fr/sierra/pdfs/icml09.pdf
3.3 微量字典學(xué)習(xí)
MiniBatchDictionaryLearning類實(shí)現(xiàn)了更適合大型數(shù)據(jù)集的字典學(xué)習(xí),算法更快準(zhǔn)確性低。
默認(rèn)情況下,MiniBatchDictionaryLearning將數(shù)據(jù)分成小批量,并通過(guò)在指定次數(shù)的迭代中循環(huán)使用小批量,以在線方式進(jìn)行優(yōu)化。但是,目前它沒(méi)有退出迭代的停止條件。
訓(xùn)練器還實(shí)現(xiàn)了partial_fit方法,在微批處理中僅迭代一次來(lái)更新字典。當(dāng)數(shù)據(jù)開(kāi)始未準(zhǔn)備好可用,或數(shù)據(jù)未進(jìn)入內(nèi)存時(shí),該方法適用于在線學(xué)習(xí)。
字典學(xué)習(xí)聚類
注意,當(dāng)使用字典學(xué)習(xí)來(lái)提取特征(例如用于稀疏編碼)時(shí),聚類可以是學(xué)習(xí)字典的良好代理。例如,MiniBatchKMeans訓(xùn)練器在計(jì)算上是有效的,并使用partial_fit方法實(shí)現(xiàn)在線學(xué)習(xí)。
案例:在線學(xué)習(xí)人臉部分字典
4 因子分析
這兩個(gè)模型都基本上估計(jì)出具有低秩協(xié)方差矩陣的高斯。因?yàn)檫@兩個(gè)模型都是概率性的,所以它們可以集成到更復(fù)雜的模型中,例如:因子分析集成。如果假設(shè)隱變量上的非高斯先驗(yàn),則得到非常不同的模型(例如Fast ICA)。
因子分析可以產(chǎn)生與 PCA 相似的特征(載荷矩陣的列)。不過(guò),不能對(duì)這些特征做出任何一般性的說(shuō)明(例如他們是否正交)。
因子分析相比于PCA的主要優(yōu)點(diǎn)是可以獨(dú)立地對(duì)輸入空間的每個(gè)方向(異方差噪聲)建模方差:
在異方差噪聲存在的情況下,比概率PCA可做更好的模型選擇:
案例:
1)應(yīng)用概率PCA和因子分析(FA)進(jìn)行模型選擇
http://scikit-learn.org/stable/auto_examples/decomposition/plot_pca_vs_fa_model_selection.html#sphx-glr-auto-examples-decomposition-plot-pca-vs-fa-model-selection-py
5 獨(dú)立成分分析ICA
ICA將多變量信息分解為最大獨(dú)立的加性子成分。Scikit-Learn庫(kù)中實(shí)現(xiàn)了Fast ICA算法。通常,ICA不用于降低維度,而是用于分重復(fù)信息。由于ICA模型不包括噪聲項(xiàng),因此,為了使模型正確,必須清洗。這可以在內(nèi)部使用whiten參數(shù)或手動(dòng)使用其中一種PCA變體進(jìn)行。
ICA 通常用于分離混合信號(hào)(稱為盲源分離的問(wèn)題),如下例所示:
ICA也可以作為一種非線性降維方法,可以找到具有一些稀疏性的特征:
案例:
1)應(yīng)用Fast ICA進(jìn)行盲源分離
http://scikit-learn.org/stable/auto_examples/decomposition/plot_ica_blind_source_separation.html#sphx-glr-auto-examples-decomposition-plot-ica-blind-source-separation-py
2)2D點(diǎn)圖上的Fast ICA
http://scikit-learn.org/stable/auto_examples/decomposition/plot_ica_vs_pca.html#sphx-glr-auto-examples-decomposition-plot-ica-vs-pca-py
3)人臉數(shù)據(jù)集降維
http://scikit-learn.org/stable/auto_examples/decomposition/plot_faces_decomposition.html#sphx-glr-auto-examples-decomposition-plot-faces-decomposition-py
6 非負(fù)矩陣分解(NMF或NNMF)
NMF是一種替代的分解方法,假設(shè)數(shù)據(jù)和組件是非負(fù)數(shù)的。在數(shù)據(jù)矩陣不包含負(fù)值的情況下,應(yīng)用NMF而不是PCA或其變體。NMF通過(guò)對(duì)平方Frobenius范數(shù)進(jìn)行優(yōu)化,將樣本X分解成兩個(gè)非負(fù)元素的矩陣W和H:
這個(gè)規(guī)范是歐幾里得規(guī)范到矩陣的一個(gè)明顯的擴(kuò)展。(NMF文獻(xiàn)中已經(jīng)提出了其他優(yōu)化目標(biāo),尤其是Kullback-Leibler分歧,但目前尚未實(shí)施。)
與PCA不同,通過(guò)疊加成分而不減去,以加法方式獲得向量的表示。這種添加模型對(duì)于表示圖像和文本是有效的。
在[Hoyer,04]中已經(jīng)觀察到,當(dāng)加以約束時(shí),NMF可以產(chǎn)生基于分量表示的數(shù)據(jù)集,從而可訓(xùn)練模型。
與 PCA 特征臉相比,以下示例顯示了 NMF 從 Olivetti 人臉數(shù)據(jù)集中的圖像中發(fā)現(xiàn)的 16 個(gè)稀疏組件:
init屬性確定應(yīng)用的初始化方法,這對(duì)方法的性能有很大的影響。NMF實(shí)現(xiàn)了非負(fù)雙奇異值分解方法。NNDSVD基于兩個(gè)SVD過(guò)程,一個(gè)近似數(shù)據(jù)矩陣,另一個(gè)是使用單位秩矩陣的代數(shù)性質(zhì),得到的部分SVD因子的近似正部分矩陣。基本的NNDSVD算法更適合稀疏分解。其變體NNDSVDa(其中所有零被設(shè)置為等于數(shù)據(jù)的所有元素的平均值)和NNDSVDar(其中將零設(shè)置為小于數(shù)據(jù)平均值的隨機(jī)擾動(dòng)除以100)在稠密案例中適用。
也可以通過(guò)設(shè)置init =“random”正確縮放隨機(jī)非負(fù)矩陣來(lái)初始化NMF。整數(shù)種子或RandomState也可以傳遞給random_state以控制重復(fù)性。
在 NMF 中, L1 和 L2 先驗(yàn)可以被添加到損失函數(shù)中以使模型正則化。 L2 先驗(yàn)使用 Frobenius 規(guī)范,而 L1 先驗(yàn)使用 elementwiseL1 范數(shù)。與 ElasticNet 一樣,我們使用 l1_ratio ( )參數(shù)和 alpha ( )參數(shù)的正則化強(qiáng)度來(lái)控制 L1 和 L2 的組合。先驗(yàn)項(xiàng):
和正則化目標(biāo)函數(shù):
NMF同時(shí)對(duì)W和H正則。公共函數(shù)non_negative_factorization允許通過(guò)聲明屬性進(jìn)行更精細(xì)的控制,并且可以僅將W,僅H或兩者正規(guī)化。
案例:
1)人臉數(shù)據(jù)集降維
http://scikit-learn.org/stable/auto_examples/decomposition/plot_faces_decomposition.html#sphx-glr-auto-examples-decomposition-plot-faces-decomposition-py
2)主題提取與非負(fù)矩陣分解和潛在Dirichlet分配
http://scikit-learn.org/stable/auto_examples/applications/topics_extraction_with_nmf_lda.html#sphx-glr-auto-examples-applications-topics-extraction-with-nmf-lda-py
參考:
1)通過(guò)非負(fù)矩陣分解學(xué)習(xí)對(duì)象的部分
鏈接失效;
2)非負(fù)矩陣因式分解與稀疏約束
http://www.jmlr.org/papers/volume5/hoyer04a/hoyer04a.pdf
3)非負(fù)矩陣分解的投影梯度法
http://www.csie.ntu.edu.tw/~cjlin/nmf/
4)基于SVD的初始化:非負(fù)矩陣分解的開(kāi)始
http://scgroup.hpclab.ceid.upatras.gr/faculty/stratis/Papers/HPCLAB020107.pdf
5)用于大規(guī)模非負(fù)矩陣和張量因子分解的快速局部算法
鏈接失效。
7潛在狄利克雷分配(LDA)
潛在Dirichlet分配是離散數(shù)據(jù)集(如文本語(yǔ)料庫(kù))的集合的生成概率模型。它也是一個(gè)主題模型,用于從文檔集合中發(fā)現(xiàn)抽象主題。
LDA 圖示模型是一個(gè)三級(jí)貝葉斯模型:
LDA實(shí)現(xiàn)在線變分貝葉斯算法,并支持在線和批量更新方法。批處理方法在每次完全傳遞數(shù)據(jù)后更新變分變量,在線方法從微型批量數(shù)據(jù)點(diǎn)更新變分變量。
注意:雖然在線方法保證收斂到局部最優(yōu)點(diǎn),但最優(yōu)點(diǎn)的質(zhì)量和收斂速度可能取決于小批量大小和學(xué)習(xí)率設(shè)置相關(guān)的屬性。
當(dāng)LDA應(yīng)用于“文檔主題”矩陣時(shí),矩陣將被分解為“主題項(xiàng)”矩陣和“文檔主題”矩陣。雖然“主題”矩陣作為components_?存儲(chǔ)在模型中,但是可以通過(guò)transform方法計(jì)算“文檔主題”矩陣。
LDA也實(shí)現(xiàn)了partial_fit方法,當(dāng)數(shù)據(jù)可以順序提取時(shí)使用。
案例:
1)主題提取與非負(fù)矩陣分解和潛在Dirichlet分配
http://scikit-learn.org/stable/auto_examples/applications/topics_extraction_with_nmf_lda.html#sphx-glr-auto-examples-applications-topics-extraction-with-nmf-lda-py
參考:
1)LDA
鏈接失效。
2)LDA在線學(xué)習(xí)
鏈接失效。
3)隨機(jī)變量推論
http://www.columbia.edu/~jwp2128/Papers/HoffmanBleiWangPaisley2013.pdf
?
說(shuō)明:
翻譯自:http://scikit-learn.org/stable/modules/decomposition.html#decompositions
經(jīng)過(guò)兩天的努力成稿,里面有很多屬于還是沒(méi)有完全翻譯透徹,這和基礎(chǔ)理論還沒(méi)掌握有關(guān)系,這部分有些是直譯,有些就參考機(jī)器學(xué)習(xí)專欄http://blog.csdn.net/column/details/16315.html來(lái)翻譯。
要加強(qiáng)算法基礎(chǔ)數(shù)學(xué)理論的掌握,多閱讀相關(guān)英文文獻(xiàn),才能提高翻譯水平。
總結(jié)
以上是生活随笔為你收集整理的【Python学习系列二十三】Scikit_Learn库降维方法(矩阵分解)-PCAFA的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Linux基于expect(tcl)实现
- 下一篇: 【正一专栏】评《我的前半生》——我们需要