2013年8月31日 星期六

Apache Mahout

Apache MahoutApache Software Foundation旗下的一個開放原始碼的專案,其專案的目的,在於提供具規模可擴充性的機器學習(Machine Learning)程式庫。 

但機器學習是一門很廣闊的領域,而Mahout 的目標是提供各類的經典演算法,以程式庫的方式呈現,Mahout也具備高效及規模可擴充性的特質。 

Mahout在英文翻譯中的意思是「象夫」,有象夫這個名字,是因為Mahout是為了提供規模可擴充性,是基於Apache Software Foundation另一個專案平臺Hadoop之名,以MapReduece的演算法,實作了像群集(clustering)、分類(classification),以及協同過濾(collaborative filtering)的核心演算法。

Mahout 不需要依附在Hadoop之上也可運行,Mahout自身提供了單一節點、非Hadoop的實作版本,開發者可以依據計算能力及規模大,來決定運行的方式。

Mahout所提供的演算法,而非全都分散式的演算法,且都經過高度的最佳化。

因為所以提供的演算法,不論是否是分散式演算法,或是無論在雲端上,都可以提供機器學習或推薦系統良好的環境。

Mahout中提供了許多分類的演算法,像是推薦引擎(Mahout中專指協同過濾式的推薦)、分類演算法、群集演算法、模式探勘(Pattern Mining)、降維(Dimension Reduction),以及向量相似度(Vector Similarity)等,

這些演算法也被運用在各領域中,而可以減少在建置上的成本,也可以結合多種演算法,來達到更有效率的運作,


對於一個推薦系統來說,是節省成本,可以混合多種演算法,對面海量資料也提供規模及擴充性,Mahout是具有足夠彈性的框架

參考資料:

沒有留言:

張貼留言