hadoop mathout學習筆記

jopen 9年前發布 | 11K 次閱讀 mathout 機器學習
當中會涉及算法和很多陌生知識,拋開能力,我有一個如饑似渴的瘋狂的心;勤懇,專心,積極,磊落

官方網站: http://mahout.apache.org/
聚類----將物理或抽象對象的集合分成由類似的對象組成的多個類的過程被稱為聚類。由聚類所生成的簇是一組數據對象的集合,這些對象與同一個簇中的對象彼此相似,與其他簇中的對象相異。“ 物以類聚,人以群分”,在自然科學和社會科學中,存在著大量的分類問題。聚類分析又稱群分析,它是研究(樣品或指標)分類問題的一種統計分析方法。聚類分析起源于分類學,但是聚類不等于分類。聚類與分類的不同在于,聚類所要求劃分的類是未知的。聚類分析內容非常豐富,有 系統聚類法、有序樣品聚類法、動態聚類法、模糊聚類法、圖論聚類法、聚類預報法



mahout 當前已實現的三個具體的機器學習任務。它們正好也是實際應用程序中相當常見的三個領域:

  • 協作篩選
  • 集群
  • 分類

   協作篩選(CF) 應用程序根據用戶和項目歷史向系統的當前用戶提供推薦。生成推薦的 4 種典型方法如下:

    基于用戶 :通過查找相似的用戶來推薦項目。由于用戶的動態特性,這通常難以定量。

    基于項目 :計算項目之間的相似度并做出推薦。項目通常不會過多更改,因此這通常可以離線完成。

    Slope-One :非常快速簡單的基于項目的推薦方法,需要使用用戶的評分信息(而不僅僅是布爾型的首選項)。

基于模型 :通過開發一個用戶及評分模型來提供推薦。

集群

對于大型數據集來說,無論它們是文本還是數值,一般都可以將類似的項目自動組織,或集群 ,到一起。舉例來說,對于全美國某天內的所有的報紙新聞,您可能希望將所有主題相同的文章自動歸類到一起;然后,可以選擇專注于特定的集群和主題,而不需要閱讀大量無關內容。另一個例子是:某臺機器上的傳感器會持續輸出內容,您可能希望對輸出進行分類,以便于分辨正常和有問題的操作,因為普通操作和異常操作 會歸類到不同的集群中。

  • 與 CF 類似,集群計算集合中各項目之間的相似度,但它的任務只是對相似的項目進行分組。在許多集群實現中,集合中的項目都是作為矢量表示在 n 維度空間中的。通過矢量,開發人員可以使用各種指標(比如說曼哈頓距離、歐氏距離或余弦相似性)來計算兩個項目之間的距離。然后,通過將距離相近的項目歸類到一起,可以計算出實際集群。

    可 以通過許多方法來計算集群,每種方法都有自己的利弊。一些方法從較小的集群逐漸構建成較大的集群,還有一些方法將單個大集群分解為越來越小的集群。在發展 成平凡集群表示之前(所有項目都在一個集群中,或者所有項目都在各自的集群中),這兩種方法都會通過特定的標準退出處理。流行的方法包括 k-Means 和分層集群。如下所示,Mahout 也隨帶了一些不同的集群方法。

    分類

    分類 (通常也稱為歸類 )的目標是標記不可見的文檔,從而將它們歸類不同的分組中。機器學習中的許多分類方法都需要計算各種統計數據(通過指定標簽與文檔的特性相關),從而創建一個模型以便以后用于分類不可見的文檔。舉例來說,一種簡單的分類方法可以跟蹤與標簽相關的詞,以及這些詞在某個標簽中的出現次數。然后,在對新文檔進行分 類時,系統將在模型中查找文檔中的詞并計算概率,然后輸出最佳結果并通過一個分類來證明結果的正確性。

    分類功能的特性可以包括詞匯、詞匯權重(比如說根據頻率)和語音部件等。當然,這些特性確實有助于將文檔關聯到某個標簽并將它整合到算法中。

    機器學習這個領域相當廣泛和活躍。理論再多終究需要實踐。接下來,我將繼續討論 Mahout 及其用法。

     

     

    Mahout 的入門相對比較簡單。首先,您需要安裝以下軟件:

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!