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