機器學習開發與應用
第一章 前言... 2
第二章 平台的選擇... 2
第三章 API的學習... 2
3.1 Scikit_learn. 2
3.2 Spark MLLib. 3
第四章 進一步提升... 3
第五章 原理層面的提升... 4
第六章 補充的學習... 4
6.1 遇到一個知識點,不斷的google,查看別人的文章... 4
6.2 快速閱讀大量的相關書籍,我閱讀了大概20幾本,也會一並上傳... 4
6.3 閱讀文獻,我下載了少量的文獻也會一並上傳... 4
第七章 機器學習的未來... 4
第八章 總結... 5
8.1 學會快速閱讀... 5
8.2 學會快速的GOOGLE. 5
8.3 不努力是不行的... 5
8.4 多寫代碼... 5
第一章 前言
本文主要講的是學習的方法、路線和一些實踐經驗,不會涉及細節。
第二章 平台的選擇
下面的文章講的非常好:
http://spark.apache.org/docs/latest/ml-guide.html
總結下:
生產環境用spark MLLib
優點:分布式,能處理大數據;
缺點:算法種類不多
語言:python、scala、java
演示環境或者科研環境用scikit-learn
優點:算法種類多樣,演示方便
缺點:不是分布式
語言:python
第三章 API的學習
3.1 Scikit_learn
官網:http://scikit-learn.org/stable/
學習方法:范淼和李超的《python機器學習機實踐-----從零開始通往Kaggle競賽之路》
學習心得:該書適合機器學習的入門者,非常實用,但存在部分API過時,可通過官網修正;
需要下載該書附帶的源碼,自己動手編寫代碼;
該書例子內的數據都比較干凈,需要自己去UCI等網站下載數據進行嘗試;
UCI網址:http://archive.ics.uci.edu/ml/
3.2 Spark MLLib
官網:http://spark.apache.org/docs/latest/ml-guide.html
官網文檔的中文版本:http://blog.csdn.net/liulingyuan6/article/details/53582300
學習方法:
l 首先簡單瀏覽官網或者對應的中文文檔,其中pipline需要全看,特征提取和特征轉換隨機看幾個,分類、回歸、聚類、協同過濾都分別看幾個例子,模型選擇和調試全看。
l 閱讀spark自帶的代碼,並做簡單修改進行代碼編寫,我寫的一些代碼路徑:
/usr/local/spark/examples/src/main/python/ml
l https://www.ibm.com/search/csass/search/?q=Spark+%E5%AE%9E%E6%88%98&sn=dw&lang=zh&cc=CN&en=utf&hpp=20&dws=cndw&lo=zh閱讀里面的文章,並改成python版本,期間肯定會遇到各種問題,借此機會熟悉語法
第四章 進一步提升
http://www.cnblogs.com/pinard/
閱讀上面的文章,里面講解了各種機器學習算法的原理、優缺點、適用場景和調優經驗
學習方法:算法原理只能說是簡單的介紹,可以簡單看看,看不懂可以直接跳過以后再看;
其他內容建議全部閱讀
第五章 原理層面的提升
通過上面的學習,已經具備解決基本問題的能力,但對原理如果能更好的了解,分析和解決問題的思路將更加開闊。
學習方法:吳恩達作為業界公認的大牛,他的公開課非常的給力
http://open.163.com/special/opencourse/machinelearning.html
同時到CSDN上找一些別人聽課的學習筆記
羅馬不是一天建成的,學這個一定有耐心,切記浮躁
第六章 補充的學習
6.1 遇到一個知識點,不斷的google,查看別人的文章
6.2 快速閱讀大量的相關書籍,我閱讀了大概20幾本,也會一並上傳
6.3 閱讀文獻,我下載了少量的文獻也會一並上傳
第七章 機器學習的未來
深度學習 遷移學習
需要更深一步的理論基礎,可以玩玩tensorflow
第八章 總結
8.1 學會快速閱讀
8.2 學會快速的GOOGLE
8.3 不努力是不行的
8.4 多寫代碼
上面是小小的總結,主要是學習路線和方法,不斷實踐才是獲取知識的捷徑