大規模機器學習流程的構建與部署

jopen 9年前發布 | 34K 次閱讀 機器學習

現在有許多的機器學習算法實現是可以擴展到大數據集上的(其中包括矩陣分解、SVM、邏輯回歸、LASSO 等等)。實際上,機器學習專家們很樂于指出的一點是:如果你能把機器學習問題轉化為一個簡單的數值優化問題,你就幾近成功了。

當然,現實的問題是,很多機器學習項目是沒法簡化成一個簡單的優化問題的。因此數據科學家們不得不去管理和維護復雜的數據項目,加之他們所要分 析的問題經常也需要特定的機器學習流程。上游流程中每個階段的決策影響下游流程的結果,因此流程中模塊的連接與交互成為了一個研究的熱點。

大規模機器學習流程的構建與部署

在Strata+Hadoop World New York的報告上,伯克利教授Ben Recht描述了他們新的伯克利 AMPLab項目,該項目旨在提供一種構建和管理大規模機器學習的通用流程。鑒于AMPLab與Spark項目的緊密聯系,該項目的一些想法已在 Apache Spark中初現端倪。

基元辨識與構建

第一步就是創建基礎部件(基石).機器學習流程往往用圖來描述和表達,AMPLab研究人員一直專注于針對大數據集的圖節點(機器學習流程基礎 元件,簡稱基元)的擴展和優化。其中一些基元可能針對于特定領域和數據類型(例如文本,圖像,聲音,時空數據),一些則是針對于更加通用場景的領域(例如 統計學,機器學習).最近的一個例子是ml-matrix矩陣庫,該庫是一個運行于Apach Spark上的分布式矩陣計算庫。

大規模機器學習流程的構建與部署

         機器學習模塊以基元的形式來構成機器學習系統,使得機器學習系統更易于理解。由于流程中的模塊幾乎都可解釋,因此相對于那些依賴于黑盒子的機器學習方法,這樣構建的機器學習系統更具透明性,易于解釋。

讓機器學習更具模塊化:簡化流程融合

盡管基元可以作為基礎部件,但是用戶還是需要工具來完成整個流程的構建。現如今,工作流工具已經變得越來越普遍,而且諸如此類的工具已經有很多 可供數據工程師,數據科學家,甚至商業分析師等使用(例如Alteryx, RapidMiner, Alpine Data, Dataiku)。

正如上篇博文我提到的,我們將會看到越來越多的數據分析工具,這些工具一方面為程序員提供了優雅的接口設計,一方面為提供了簡單的DSL(領域 特定語言)使得非專業程序員可以進行編輯。某種程度上說,通過DSL對機器學習流程(或者說對表達該流程的圖結構)進行封裝會變得越來越普遍。最新版本的 Apache Spark (版本 1.2)提供了構建機器學習流程的API接口(如果你仔細看的話,我們已經利用DSL來實現機器學習流程構建了)。

做一些誤差分析

“我們正在試圖將機器學習系統植入自動駕駛汽車,電力系統網絡等等。如果我們想讓機器學習真正影響到我們的日常生活,那么我們最好能夠保證機器學習系統能如那些復雜系統(就如飛行器設計系統)般穩定。”-Ben Recht

大規模機器學習流程的構建與部署

         我們是否能夠去限定這種層次式流程的近似誤差和收斂率呢?假定我們能夠計算每個節點的誤差,下一步就得有一種機制去提取整個流程的誤差。實際上,我們需要在產品實際部署的時候提供工具來保證流程能正常工作,同時可以期望提供一些測量誤差的方法。

為此,Laurent Lessard、Ben Recht 和 Andrew Packard一直利用從控制理論中的技術自動地對機器學習流程生成驗證證書。該方法已經能夠分析大數據集上大多數流行的機器學習技術。他們更長遠的目標 則是能夠直接通過那些復雜的,分布式軟件系統的偽代碼,分別推導和分析出系統的性能特征和魯棒性。(與AMPLab相關的Velox項目提供了產品中模型 的管理框架)。

隨著機器學習算法日益滲透入各個領域,我們需要更好的工具來構建復雜的,健壯性強,穩定度高的機器學習系統。雖然諸如scikit-learn 和 GraphLab已經提供了對機器學習流程構建的支持,但是像Apache Spark這種常用的分布式框架則把這種思想發揮到了極致,以使其能偶適應于更大的數據集,更廣泛的人們受益。目前,AMPLab前期的一些結果還是很令 人振奮的,研究者們已經構建了大規模的機器學習系統,并且在視覺,語音以及文本處理方面取得了與各自領域最好成績都不相上下的結果。

在Ben Recht的諸多頭銜中, 也是”Hardcore Data Science day at Strata+Hadoop World”的協作方。加入我們吧,我們將和Ben將在2015年1月在San Jose舉辦另一場數據科學盛宴。

來自:http://www.thebigdata.cn/JieJueFangAn/13683.html

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