LDA 動手實現LDA

2021-07-03 19:49:47 字數 656 閱讀 3187

這段時間對lda比較感興趣,嘗試在工作中使用它。平時做想法的快速驗證,都用的是「gibbslda++-0.2」,乙個c實現版本的lda。這兩天用c++ stl自己寫了乙個單機版的lda,初衷如下:

1. 「gibbslda++-0.2」雖說號稱是最popular的lda工具包,不過依然有明顯的bug,參考「【lda】修正 gibbslda++-0.2 中的兩個記憶體問題」。

2. 「gibbslda++-0.2」基本上使用純c寫的,變數命名採用數學符號,而不是很直觀的描述型符號,不容易看懂。甚至在工作中,訓練出結果之後,我總要對照著它的說明檔案,才能反應過來每個結果檔案都對應著什麼。

3. 「gibbslda++-0.2」將詞表的提取和模型本身的訓練放到一起了。這對於小規模的訓練還可以,掃瞄一遍訓練集就把此標題取出來、然後在記憶體裡繼續訓練。不過對於稍大一點兒的規模,每次訓練都抽取一遍詞表是很傻的事情,而且很多問題中,訓練集不見得能夠涵蓋詞表中的所有詞......總之,我把他們分開了。要有乙個預處理過程(我沒寫)先從訓練集合中抽取詞表,然後和訓練樣本一起輸入到模型當中,參與訓練。

4. 「gibbslda++-0.2」的無關**太多了,如:解析命令列的**、等等。實際上,比起命令列這種方式,我更願意直接使用源**。

5. 最重要一點原因,其實我是手癢癢了。

**放到git上面了:

完。

lda 協方差矩陣 LDA模型

lda是一種文件主題生成模型,也稱為乙個三層貝葉斯概率模型,包含詞 主題和文件三層結構。作為一種非監督機器學習技術,可以用來識別大規模文件集或語料庫中潛藏的主題資訊。它採用了詞袋的方法,這種方法將每一篇文件視為乙個詞頻向量,從而將文字資訊轉化為了易於建模的數字資訊。但是詞袋方法沒有考慮詞與詞之間的順...

lda 協方差矩陣 LDA演算法詳解

線性鑑別分析法 線性鑑別分析 linear discriminant analysis,lda 有時也稱 fisher 線性判別 fisher linear discriminant fld 這種演算法是 ronald fisher 於年發明的,是模式識別的經典演算法 i 在 年由belhumeur...

lda 協方差矩陣 LDA演算法詳解

精品文件 線性鑑別分析法 線性鑑別分析 linear discriminant analysis,lda 有時也稱 fisher 線性判別 fisher linear discriminant fld 這種演算法是 ronald fisher 於年發明的,是模式識別的經典演算法 i 在 年由belh...