mahout分類算法

1.樸素貝葉斯(Naive Bayes)分類Mahout目前支持兩種根據(jù)貝氏統(tǒng)計來實現(xiàn)內(nèi)容分類的方法。第一種方法是使用簡單的支持MapReduce的Naive Bayes分類器。Naive Bayes分類器以速度快和準(zhǔn)確性高而著稱,但其關(guān)于數(shù)據(jù)的簡單(通常也是不正確的)假設(shè)是完全獨立的。當(dāng)各類的訓(xùn)練示例的大小不平衡,或者數(shù)據(jù)的獨立性不符合要求時,Naive Bayes分類器會出現(xiàn)故障。第二種方法是Complementary Naive Bayes,它會嘗試糾正Naive Bayes方法中的一些問題,同時仍然能夠維持簡單性和速度。簡單來講,Naive Bayes分類器包括兩個流程:跟蹤特定文檔及類別相關(guān)的特征(詞匯),然后使用此信息預(yù)測新的、未見過的內(nèi)容的類別。第一個步驟稱做訓(xùn)練(Training),它將通過查看已分類內(nèi)容的示例來創(chuàng)建一個模型,然后跟蹤與特定內(nèi)容相關(guān)的各個詞匯的概率。第二個步驟稱做分類,它將使用在訓(xùn)練階段中創(chuàng)建的模型及新文檔的內(nèi)容,并結(jié)合Bayes Theorem(貝葉斯定理)來預(yù)測傳入文檔的類別。因此,要運行Mahout的分類器,首先需要訓(xùn)練模式,然后再使用該模對新內(nèi)容進行分類。2.支持向量機(SVM)SVM可以完成分類任務(wù),每一個對象都被看做是n維特征空間中的點,n是用來描述對象的特征數(shù)量,除此之外,每個對象都標(biāo)有一個二進制標(biāo)簽,用來區(qū)分其是“正面的”還是“負(fù)面的”。在學(xué)習(xí)過程中,算法試圖在空間中找到一個超平面,此超平面可以把正面的和負(fù)面的對象完全分開。3.神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)是一個用來進行多維分類的方法,Mahout致力于實現(xiàn)帶有一個隱含層的反向傳播網(wǎng)絡(luò),因為這些網(wǎng)絡(luò)已經(jīng)在2006 NIPS Map Reduce Paper中體現(xiàn)。這些網(wǎng)絡(luò)不僅可以學(xué)習(xí)線性的分享超平面,還可以學(xué)習(xí)任意的決策邊界。4.Perception與Winnow這兩種算法都是相對簡單的線性分類器,如果訓(xùn)練數(shù)據(jù)是在n維向量空間中并且?guī)в卸M制標(biāo)簽作的注釋,算法就可以找到一個線性分類器(如果不存在)。與Perception相比,Winnow僅僅適用于二進制特征矢量。盡管這兩種算法都相對簡單,但是對于文本分類來說都具有較好的效果,并且能快速訓(xùn)練好數(shù)據(jù),即使是一些大型數(shù)據(jù)集。與Naive Bayes相比,這兩種算法不基于對象的所有特征都相對獨立。目前,并行策略比較簡單,首先有足夠的訓(xùn)練數(shù)據(jù),然后分塊,在每一塊上進行分類器的訓(xùn)練。5.隨機森林在機器學(xué)習(xí)中,隨機森林(RF,Random Forests)是一個包含多個決策樹的分類器,并且其輸出的類別是由個別樹輸出類別的眾數(shù)而定的。RF的想法是通過降低不同樹之間相關(guān)性的同時使得每棵樹的方差不增加太多,來達(dá)到降低bagging裝袋方差的效果。RF通過在每次分割時隨機選取不同的候選輸入變量來達(dá)到降低不同樹之間相關(guān)性的目的。RF的一個好處是它不會因為使用了太多的樹而導(dǎo)致最終的模型過擬合,這大概也是為什么它可以比較有效地用于組合多個算法的預(yù)測結(jié)果(如在Netflix Prize Challenge中)。并且使用RF之前對輸入數(shù)據(jù)不需要做預(yù)處理,即可以進行rescale、transform操作或修改數(shù)據(jù)。建造每棵樹的算法步驟如下:(1)用N來表示訓(xùn)練例子的個數(shù),M表示變量的數(shù)目。(2)定義一個數(shù)m用于當(dāng)做一個節(jié)點上的變量,m應(yīng)小于M。(3)采用從N個訓(xùn)練案例中可重復(fù)取樣的方式,取樣N次,形成一組訓(xùn)練集,并使用這棵樹對剩余樣本預(yù)測其類別,同時評估其誤差。(4)對于每一個點,隨機選擇m個基于此點上的變量,根據(jù)這m個變量,計算最佳分隔方式。(5)每棵樹都會完整成長而不會剪枝。RF的模型偏差比單棵樹的偏差要大,之所以它們的模型精確度更高,主要得益于它們的模型方差較低。