事實上有許多的途徑能夠了解機器學習,也有許多的資源例如書籍、公開課等可爲所用,一些相關的比賽和工具也是你瞭解這個領域的好幫手。本文我將圍繞這個話題,給出一些總結性的認識,併爲你由程序員到機器學習高手的蛻變旅程中提供一些學習指引。php
根據能力能夠將學習過程分紅四個階段。這也是一個有助於咱們將全部學習資源進行分類的好方法。java
我之因此把初學階段和新手階段區分開來,是由於我想讓那些徹底初學者(對這個領域感興趣的程序員)在初學階段對機器學習有一個大體的認識,以便決定是否繼續深刻。python
咱們將分別探討這四個階段,並推薦一些可以幫助咱們更好地理解機器學習和提升相關技能的資源。對學習階段進行這樣的分類只是我我的的建議,也許每一個分類的先後階段中也有一些適合當前階段的資源。程序員
我認爲對機器學習有一個總體性的認識是很是有幫助的,我也但願能聽聽大家的想法,經過在下面評論告訴我吧!算法
初學者是指那些對機器學習感興趣的程序員。他們或許已經接觸過一些相關的書籍、wiki網頁,或者是已經上過幾節機器學習課程,可是他們並無真正地瞭解機器學習。他們在學習過程感到沮喪是由於他們獲得的建議每每是針對中級或高級階段的。編程
初學者須要的是一個感性的認識而不是純粹的代碼、教科書、課程。他們首先須要對機器學習有一個是什麼、爲何、怎麼作的認識以此爲接下來的階段學習奠基基礎。小程序
新手是指那些已經對機器學習有必定了解的人,他們已經閱讀過一些專業書籍或者是接受過完整地課程學習,而且對這個東西有很大的興趣想作更深刻的瞭解,想經過進一步學習去解決他們所面臨的問題。segmentfault
下面是給新手的一些資料或者建議:機器學習
在新手階段已經閱讀過一些專業書籍並完成了一些專業課程,這些人已經懂得如何使用機器學習相關的工具,而且也已經爲實現機器學習算法和完成一些教程寫過很多的代碼了。中級階段實際上是一個自我突破的過程,能夠經過創建本身的項目去探索新的技巧並在社區的交流互動中獲取更多的知識。ide
中級階段的目標是學習如何實現並使用準確、合適、健壯機器學習算法。一樣,他們也在數據預處理、數據清洗、概括總結上花了很多時間,並思考這些數據能解決什麼問題。
下面是給中級學習者的一些資料或者建議:
機器學習的高級玩家是那些已經整理過大量機器學習算法或者是本身獨立實現算法的人。他們或許參加過機器學習的競賽又或許寫過機器學習的程序包。他們已經閱讀過許多書籍、學習過許多相關課程,對這一領域有較充分的認識,同時對本身研究的幾個關鍵技術有很深刻的瞭解。
這些高級使用者平時負責生產環境下的機器學習系統的創建、部署和維護。他們能時刻緊跟這個行業的最新動態,經過本身或他人的一線開發經驗發現並瞭解每一種機器學習技術的細微差距。
下面是給高級階段學習者的一些資料:
知識在不斷地收穫,但學習永無止境。在機器學習的征途中遇到問題時你能夠隨時停住腳步本身鑽研問題自行解決,或者繞道而行查閱資料借用羣體智慧,事實上,我但願繞道而行成爲一種常態。
這樣的學習階段劃分是以程序員的角度來規劃的,這能夠做爲技術人員實現從入門到精通的一條線性學習路線。我很樂意收到對於這篇文章的批評建議,這樣可使文章變得更好。在特定的學習階段你能夠獲得更多的學習資源,由於針對每一個階段所推薦的學習資源也僅僅是我我的的建議。
好了,如今想一想你在哪一個學習階段呢?接下來你該怎麼作?
原文:Self-Study Guide to Machine Learning
轉載於:伯樂在線 - zhibinzeng