- 機器學習案例實戰
- 趙衛東
- 1567字
- 2020-01-16 10:54:16
1.1 常用機器學習工具
Rapid Miner是一個用于機器學習和數據挖掘實驗的工具。該工具用Java編程語言編寫,通過基于模板的框架提供高級分析。它使得實驗可以由大量的可任意嵌套的操作符組成,這些操作符在XML文件中描述較詳細,并且是由Rapid Miner的圖形用戶界面完成的,用戶不需要編寫代碼。它包含許多模板和其他工具,可以輕松地分析數據。
Apache Mahout是Apache軟件基金會的一個項目,用于協同過濾、聚類和分類領域的分布式或其他可伸縮機器學習算法的實現。Apache Mahout主要支持三種用例:建議挖掘采取用戶行為,并嘗試查找用戶可能喜歡的項目;集群需要文本文檔,并將它們分組為局部相關的文檔;分類從現有的分類文檔中學習特定類別文檔的特點,并能夠將未標記的文檔分配給正確的類別。
TensorFlow是被廣泛使用的實現機器學習以及其他涉及大量數學運算的算法庫之一。TensorFlow由谷歌開發并開源,是GitHub上最受歡迎的機器學習庫之一。TensorFlow采用數據流圖進行數值計算。其中Tensor是可以代表n維數據集的張量,Flow使用計算圖進行計算。數據流圖是用節點和邊組成的有向圖來描述數學運算。節點一般對應數學操作或狀態,并對應節點之間的輸入/輸出關系。在TensorFlow中,所有不同的變量和運算都儲存在計算圖中。因此在構建完模型所需要的圖之后,需要開啟一個Session來運行整個計算圖。TensorFlow的模型構建的基本流程包括構建計算圖、饋送輸入張量、更新權重并且返回輸出值。使用TensorFlow可以方便地搭建各種常見的神經網絡,也可以模擬多種回歸算法,并且在此基礎上對模型中的參數進行訓練,得到訓練好的模型可用于后續實驗。但TensorFlow內部概念眾多、結構復雜,繁雜的API導致新用戶上手困難,冗長的代碼使得工程實現比較費力。
PaddlePaddle是由百度開源的一款全功能的深度學習框架,其架構歷經多次迭代,為開發者提供易學、易用、安全、高效的深度學習研發體驗。PaddlePaddle對開發者非常友好,所有的API都提供詳盡的中文文檔,并且提供了Jupyter文稿。PaddlePaddle的代碼易于理解,方便用戶理解框架和提出問題。PaddlePaddle的API中對算法原理進行了概括,方便用戶學習理解深度學習算法。PaddlePaddle支持Windows、Linux和macOS等多種操作系統,具有非常好的可拓展性,用戶無須配置第三方庫即可完成整個PaddlePaddle框架的編譯。PaddlePaddle提供了全面的深度學習API,支持Python調用。同時PaddlePaddle對于圖像分類、目標檢測、圖像語義分割、圖像生成、場景文字識別、度量學習、視頻分類、語音識別、機器翻譯、強化學習、中文詞法分析、情感傾向分析、語義匹配、機器閱讀理解和個性化推薦等具體的深度學習問題提供了訓練好的模型庫,用戶可以直接調用模型。PaddlePaddle還有一個基于Web的IDE,支持使用者在瀏覽器中使用Jupyter Notebook編程來開發AI應用,隨后發送到云端調試或者運行,程序運行時的輸出會實時地顯示在瀏覽器里。PaddlePaddle底層使用C++編寫,運行速度快,占用內存少。PaddlePaddle在分布式計算上也表現優異,可通過與Kubernetes合作實現彈性作業調度。
Caffe2是面向工業級應用的框架,應用廣泛。但是從安裝部署角度來說,Caffe2的用戶體驗并不是非常友好,官方文檔和教程支持也不是十分充足。而且Caffe2只支持Python 2,這限制了其未來的拓展。
MXNet是一款靈活高效的深度學習框架,并行計算性能好、運行速度快,并且程序節省內存,支持R、Julia、Python、Scala、C++等多種語言。MXNet支持命令式和聲明式兩種編程方式,代碼更加靈活。但MXNet是由社區推動的深度學習框架,很多問題出現后還需要用戶去查閱源碼,而且模型庫支持不夠,需要開發者寫代碼實現。
PyTorch是Facebook開發的面向學術界的一個框架,安裝方便,使用簡單,構建網絡也比較容易。PyTorch運行后立刻出結果,不同于TensorFlow必須把程序寫完之后才知道結果是什么。但PyTorch不適合工業級應用。
VS Tools for AI和VS Code Tools for AI是微軟公司發布的一系列人工智能工具,建立在微軟多年的旗艦產品之上,提供了強大的前端集成式編程環境,支持多種平臺。在公有云、私有云上都提供了可擴展的GPU集群管理和調度工具,可以自動生成并優選神經網絡模型,支持不同框架訓練出來的機器學習模型。
此外還有Amazon Machine Learning(AML)、Theano等,有興趣的讀者可以查詢相關資料。