天天看點

Mahout和Hadoop:機器學習的基本原理

   計算技術通常用來分析資料,而了解資料則依賴于機器學習。多年來,對于大多數開發者來說,機器學習卻是非常遙遠、一直是難以企及的。

  這可能是現在收益最高,也是最受歡迎的一項技術之一。毫無疑問——作為開發人員,機器學習是一個能夠大展身手的舞台。

Mahout和Hadoop:機器學習的基本原理

圖1:機器學習的構成

    機器學習是簡單資料檢索與存儲的合理擴充。通過開發各種元件,使計算機更加智能學習和發生行為。

  機器學習使得挖掘曆史資料和預測未來趨勢成為可能。你可能還沒意識到,但的确已經在使用機器學習,并受益頗多。與機器學習有關的例子很多,如搜尋引擎産生結果、線上推薦、廣告投放、欺詐檢測以及垃圾郵件過濾等。

  機器學習依賴資料進行決策。直覺雖然重要,但卻也很難超越經驗資料。

  機器學習的各個方面

  一旦你開始深入探索機器學習,你會遇到以下幾個問題:

  1. 有監督與無監督的學習

  2. 分類

  3. 馬爾科夫模型、貝葉斯網絡等

  Mahout和Hadoop

  Apache Mahout項目的目的是建立一個可擴充的機器學習庫。

  大資料分析與hadoop之間存在一定程度的重疊

  與Hadoop一起,你可以免費獲得整個機器學習開源項目。更多内容參見:

  http://mahout.apache.org/

  Mahout内置聚類、分類以及協同過濾等算法。除此之外還有:

  1. 基于矩陣分解的推薦系統

  2. K-均值,模糊k-均值聚類算法

  3. 隐含狄利克雷配置設定算法

  4. 奇異值分解

  5. 邏輯回歸分類器

  6. (互補)樸素貝葉斯分類器

  7. 随機森林分類器

  我去過加利福尼亞大學伯克利分校,發現他們有很多不錯的課程。

  我希望能有更多的時間。我認真考慮過,決定開始參加MIT線上課程,位址如下:

  http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-867-machine-learning-fall-2006/index.htm

  Azure是民主化的機器學習

  機器學習曾經需要複雜的軟體與高端的計算機,以及資料科學家。。而對于現在的機器學習,即預測分析來講,所需要的是一個全管理的雲服務。

  歡迎使用ML Studio

  通過使用拖拽(drag-and-drop)與一些資料流圖就可以進行一些實驗,就如寫代碼一般利用起高大上的算法。

  資料科學家用R編寫代碼

  對于統計與資料挖掘的來說,R是一個很受歡迎的開源項目。好消息是R能夠很容易的內建到ML Studio中。我有很多朋友在使用機器學習的功能語言,如F#。但是很顯然的,R在此領域仍占統治地位。

  資料挖掘的測驗與調查顯示,近年來R受歡迎的程度逐漸增強。R是由紐澤西的Auckland大學的Ross Ihaka 與Robert Gentleman發明的,目前由R核心開發組(R Development Core Team)負責研發,其中Chambers也是開發成員之一。R的命名主要是根據前兩個R作者名字的首字母。R是一個GNU項目,主要是用C語言與 Fortran寫的。

  資料分析

  以下架構提供了了解機器學習預測的方法。總的來說就是當涉及到如何使用有限的資源,為增加收益或限制成本提供決策支援。包括預測消費模型、優化供應鍊等。

  如何進行資料分析

  了解機器學習的最好方法就是将分析分解為3個問題:

  1. 發生了什麼?

  a) 從曆史角度去看

  2. 将發生什麼?

  a) 預測未來

  3. 下一步應該怎麼做?

  a) 規範與指引

  分析過程中大家扮演什麼角色

  1. 資訊工作者

  a) 通常使用自助服務工具Power BI:Office 365的Power BI是一種自我服務的事務智能解決途徑,能夠通過BI Excel 與Office 365給資訊工作者提供資料分析與鑒别資料深層事務預測可視化的能力。

  2. IT專家

  a) 涉及資料轉換、資料倉庫、建立資料分析立方體及資料模組化

  3. 資料科學家

  a) 深層次的技術與技能,包括編碼、數學、統計以及機率

  b) 能夠通過一系列技術将機率用于預測(如未來18小時内價格上漲的機率為42%)

  c) 如蒙特卡羅(Monte Carlo)模拟,模型參數化

  d) 資料科學家應具備的素質

  i. 領域知識

  ii. 對于科學方法的清晰了解:目标、假設、驗證、透明度

  iii. 擅長數學與統計學

  iv. 求知欲與極強的思考能力

  v. 圖形化描述與溝通能力

  vi. 進階計算與資料管理能力

  學術背景

  如果你想進入學校,通過學習成為一個資料科學家,可選擇的課程如下:

  1. 應用數學

  2. 計算機科學

  3. 經濟學

  4. 統計學

  5. 工程學

  從資料科學中受益的行業包括:

  1. 金融服務業

  2. 電信業

  3. 資訊技術

  4. 制造業

  5. 公共事業

  6. 公共衛生

  7. 市場

FROM:http://www.thebigdata.cn/Hadoop/12227.html

繼續閱讀