lda演算法-九游会j9娱乐平台
ⅰ 請問,線性判別分析lda和偏最小二乘判別分析plsda有什麼區別
把4維的x向量x=(x1,x2,x3,x4),拓展成14維的向量(x1,x2,x3,x4,x1*x1,x1*x2,x1*x3,x1*x4,x2*x2,x2*x3,x2*x4,x3*x3,x3*x4,x4*x4),可以把原問題化簡為老師提示的問題,從而進行求解. 樓主學過模式識別(pattern recognition)里的lda(linear discriminant analysis)演算法嗎?中文叫線性判別分析.lda演算法基本就是求解這么個問題: minimize t subject to ax=-1 (數值) lda演算法是模式識別里的經典演算法,它有很成熟的解析解,你隨便網上搜搜,就能得到很詳細的解答. 樓主本身的這個問題,算是qda演算法(quadratic discriminant analysis),中文叫二次項判別分析.因為qda帶了二次項,因此比lda本身要復雜一些. 但是qda問題可以簡化成lda演算法,具體方法就是把4維向量x=(x1,x2,x3,x4),擴展成如下的14維向量y=(x1,x2,x3,x4,x1*x1,x1*x2,x1*x3,x1*x4,x2*x2,x2*x3,x2*x4,x3*x3,x3*x4,x4*x4). 這樣xt*a*x bt*x c,就可以化為dt*y c的形式了(這個14維向量d和a,b的關系很容易算),然後套用下現成的lda演算法求出d,然後反推出a和b,基本就搞定了.
ⅱ 線性判別分析lda是有監督學習演算法嗎
用eviews計算,看各參數的t檢驗及f檢驗是否通過,如果f檢驗通過,但是有兩個以上t檢驗不通過,就有很大的可能是多重共線性了。還有就是看模型中所用的變數之間會不會明顯相關,就像,貨幣供應量和工資之類的。可以嘗試直接聯立兩個變數的方差,看變數間的r平方是不是很接近1,越接近1,說明多重共線性越明顯。希望對你有用
ⅲ lda演算法裡面dirichlet分布的兩個參數alpha和beta怎樣確定
一.主題模型傳統判斷兩個文檔相似性的方法是通過查看兩個文檔共同出現的單詞的多少,如tf-idf等,這種方法沒有考慮到文字背後的語義關聯,可能在兩個文檔共同出現的單詞很少甚至沒有,但兩個文檔是相似的。舉個例子,有兩個句子分別如下:「喬布斯離我們而去了。」「蘋果價格會不會降?」可以看到上面這兩個句子沒有共同出現的單詞,但這兩個句子是相似的,如果按傳統的方法判斷這兩個句子肯定不相似,所以在判斷文檔相關性的時候需要考慮到文檔的語義,而語義挖掘的利器是主題模型,lda就是其中一種比較有效的模型。在主題模型中,主題表示一個概念、一個方面,表現為一系列相關的單詞,是這些單詞的條件概率。形象來說,主題就是一個桶,裡面裝了出現概率較高的單詞,這些單詞與這個主題有很強的相關性。怎樣才能生成主題?對文章的主題應該怎麼分析?這是主題模型要解決的問題。首先,可以用生成模型來看文檔和主題這兩件事。所謂生成模型,就是說,我們認為一篇文章的每個詞都是通過「以一定概率選擇了某個主題,並從這個主題中以一定概率選擇某個詞語」這樣一個過程得到的。那麼,如果我們要生成一篇文檔,它裡面的每個詞語出現的概率為:這個概率公式可以用矩陣表示:其中」文檔-詞語」矩陣表示每個文檔中每個單詞的詞頻,即出現的概率;」主題-詞語」矩陣表示每個主題中每個單詞的出現概率;」文檔-主題」矩陣表示每個文檔中每個主題出現的概率。給定一系列文檔,通過對文檔進行分詞,計算各個文檔中每個單詞的詞頻就可以得到左邊這邊」文檔-詞語」矩陣。主題模型就是通過左邊這個矩陣進行訓練,學習出右邊兩個矩陣。主題模型有早起使用svd的lsa(隱形語義分析),然後引入基於概率的plsa(),其參數學習採用em演算法和後來改進plsa,引入hyperparameter的lda(latentdirichletallocation),其參數學習主要採用em和gibbssampling,下面主要介紹lda。二.ldalda要乾的事情簡單來說就是為一堆文檔進行聚類(所以是非監督學習),一種topic就是一類,要聚成的topic數目是事先指定的。聚類的結果是一個概率,而不是布爾型的100%屬於某個類。國外有個博客上有一個清晰的例子,直接引用::iliketoeatbroccoliandbananas..chinchillasandkittensarecute...?it』.forexample,,:100%topicasentences3and4:100%topicbsentence5:60%topica,40%topicbtopica:30%broccoli,15�nanas,10%breakfast,10%munching,…(atwhichpoint,)topicb:20%chinchillas,20%kittens,20%cute,15%hamster,…(atwhichpoint,)上面關於sentence5的結果,可以看出來是一個明顯的概率類型的聚類結果(sentence1和2正好都是100%的確定性結果)。再看例子里的結果,除了為每句話得出了一個概率的聚類結果,而且對每個topic,都有代表性的詞以及一個比例。以topica為例,就是說所有對應到topica的詞裡面,有30%的詞是broccoli。在lda演算法中,會把每一個文檔中的每一個詞對應到一個topic,所以能算出上面這個比例。這些詞為描述這個topic起了一個很好的指導意義,我想這就是lda區別於傳統文本聚類的優勢吧。lda整體流程先定義一些字母的含義:文檔集合d,topic集合td中每個文檔d看作一個單詞序列,wi表示第i個單詞,設d有n個單詞。(lda裡面稱之為wordbag,實際上每個單詞的出現位置對lda演算法無影響)d中涉及的所有不同單片語成一個大集合vocabulary(簡稱voc)lda以文檔集合d作為輸入(會有切詞,去停用詞,取詞乾等常見的預處理,略去不表),希望訓練出的兩個結果向量(設聚成k個topic,voc中共包含m個詞):對每個d中的文檔d,對應到不同topic的概率θd,其中,pti表示d對應t中第i個topic的概率。計算方法是直觀的,pti=nti/n,其中nti表示d中對應第i個topic的詞的數目,n是d中所有詞的總數。對每個t中的topict,生成不同單詞的概率φt,其中,pwi表示t生成voc中第i個單詞的概率。計算方法同樣很直觀,pwi=nwi/n,其中nwi表示對應到topict的voc中第i個單詞的數目,n表示所有對應到topict的單詞總數。lda的核心公式如下:p(w|d)=p(w|t)*p(t|d)直觀的看這個公式,就是以topic作為中間層,可以通過當前的θd和φt給出了文檔d中出現單詞w的概率。其中p(t|d)利用θd計算得到,p(w|t)利用φt計算得到。實際上,利用當前的θd和φt,我們可以為一個文檔中的一個單詞計算它對應任意一個topic時的p(w|d),然後根據這些結果來更新這個詞應該對應的topic。然後,如果這個更新改變了這個單詞所對應的topic,就會反過來影響θd和φt。lda演算法開始時,先隨機地給θd和φt賦值(對所有的d和t)。然後上述過程不斷重復,最終收斂到的結果就是lda的輸出。用數學語言描述就是如下過程轉化成概率圖模型表示就是圖中k為主題個數,m為文檔總數,是第m個文檔的單詞總數。是每個topic下詞的多項分布的dirichlet先驗參數,是每個文檔下topic的多項分布的dirichlet先驗參數。是第m個文檔中第n個詞的主題,是m個文檔中的第n個詞。剩下來的兩個隱含變數和分別表示第m個文檔下的topic分布和第k個topic下詞的分布,前者是k維(k為topic總數)向量,後者是v維向量(v為詞典中term總數)。三.用gibbssampling學習ldagibbssampling的流程:lda中的變數,和都是未知的隱含變數,也是我們需要根據觀察到的文檔集合中的詞來學習估計的,那麼如何來學習估計呢?這就是概率圖模型的inference問題。主要的演算法分為exactinference和approximateinference兩類。盡管lda是最簡單的topicmodel,但是其用exactinference還是很困難的,一般我們採用approximateinference演算法來學習lda中的隱含變數。比如lda原始論文blei02中使用的mean-演算法和griffiths02中使用的gibbssampling,其中gibbssampling更為簡單易懂。gibbssampling是markov-chainmontecarlo演算法的一個特例。這個演算法的運行方式是每次選取概率向量的一個維度,給定其他維度的變數值sample當前維度的值。不斷迭代,直到收斂輸出待估計的參數。可以圖示如下初始時隨機給文本中的每個單詞分配主題,然後統計每個主題z下出現termt的數量以及每個文檔m下出現主題z中的詞的數量,每一輪計算,即排除當前詞的主題分配,根據其他所有詞的主題分配估計當前詞分配各個主題的概率。當得到當前詞屬於所有主題z的概率分布後,根據這個概率分布為該詞sample一個新的主題。然後用同樣的方法不斷更新下一個詞的主題,直到發現每個文檔下topic分布和每個topic下詞的分布收斂,演算法停止,輸出待估計的參數和,最終每個單詞的主題也同時得出。用gibbssampling學習lda參數的演算法偽代碼如下四.lda開源工具gibbslda gibbslda 說明文檔寫的很清晰易懂,這里只說下輸出模型。.others:lda模型的一些參數。α、βlda的先驗參數、ntopics主題數、liter采樣迭代次數.phi:thisfilecontainstheword-topicdistributions,i.e.,p(wordw|topict).eachlineisatopic,.theta:thisfilecontainsthetopic-documentdistributions,i.e.,p(topict|documentm)...tassign:.:.twords:.casestudy示例:學習:src/lda-est-alpha0.5-beta0.1-ntopics100-niters1000-savestep100-twords20-dfilemodels/casestudy/trndocs.dat預測:src/lda-inf-dirmodels/casestudy/-modelmodel-01800-niters30-twords20-dfilenewdocs.dat
ⅳ 為什麼lda演算法需要假設輸入數據符合高斯分布
matlab用randn生成(-inf,inf)區間內的標准
高斯分布
(μ
=
0,σ
=
1)的
隨機數
,而且,一般來說,這樣生成的隨機數不會超出區間[-3,3],因為隨機數在區間[-3,3]的概率為99.8%。那麼在[-90,90]之間的概率呢?我沒有算,想來應該會超過0.99999
ⅳ pca lbp lda哪個演算法好
我把訓練樣本和測試樣本的數據用pca降維後,直接用歐式距離計算訓練向量和測試向量的距離,發現准確率一點都不比lda差。lda的主要優點是不是在於降維?
ⅵ lda演算法裡面dirichlet分布的兩個參數alpha和beta怎
lda演算法裡面dirichlet分布的兩個參數alpha和beta怎樣確定
利用sqoop將數據從mysql導入到hdfs中,利用mahout的lda的cvb實現對輸入數據進行聚類,並將結果更新到資料庫中。數據流向圖如下
mahout演算法分析
輸入數據格式
為的matrix矩陣,key為待聚類文lda演算法裡面dirichlet分布的兩個參數alpha和beta怎
ⅶ lda演算法詳解
邊肇祺的模式識別那本書里,第四章線性判別函數里的fisher線性判別。
就幾頁紙的內容,看看就夠入門了
ⅷ gensim通過lda怎麼計算文本屬於那個主題
1、層次聚類演算法 1.1聚合聚類 1.1.1相似度依據距離不同:single-link:最近距離、complete-link:最遠距離、average-link:平均距離 1.1.2最具代表性演算法 1)cure演算法 特點:固定數目有代表性的點共同代表類 優點:識別形狀復雜,大小不一的聚類。
ⅸ lda演算法中用類內散布矩陣的逆乘以類間散布矩陣來求相應的特徵向量,當特徵值、特徵向量出現復數時怎麼辦
可以利用類間散列度矩陣的對稱正定性將其對角化,
ⅹ matlab中的一個語句,關於圖像的,lda演算法,請幫我解釋下這句話的意思。見下方括弧里。
我把解釋的內容寫在注釋里了。同時還對您的代碼進行了速度優化。如滿意請追分採納。