程序員如何轉型到機器學習領域之一?
由于機器學習比較火,待遇也比較高,所以很多的程序員小哥都會想要轉型到機器學習的領域,包括我前段時間也有過此類的想法,想去學習一下機器學習的內容。
對于程序員最重要的能力,我也曾經對很多人講過,就是學習,當然,我也自認為自己的學習能力其實還算不錯。所以在電腦上安裝了TensorFlow,然后去Google TensorFlow的官網上去看他的教材和Demo。
然后,我就被打擊了。
可能對于很多程序員來說,以前可能是做.NET應用程序的,或者Java應用程序的,然后想轉行去做游戲,那學習一下游戲的一些引擎,類似U2D, U3D,然后做一些練習,基本就可以入門了。
但是機器學習其實對編程方面的能力要求并不是特別的高,機器學習對什么要求最高呢?數學。
如果想學習機器學習相關知識的同學,可以去看看http://www.tensorfly.cn,它有很多關于機器學習的文章和demo。
我們平時在看技術文章的時候,我們可以看到很多很多的代碼,甚至會有demo的代碼下載。
但是我們看機器學習的文章的時候,會發現,里面出現得最多的兩個字叫“算法”。
我們可以看到很多這樣的內容:
說實話,做互聯網已經10多年了,計算機的知識,代碼的知識,可以說我都問題不大。但是數學真的已經還給老師了。
一篇關于機器學習的文章看完以后,給我的感覺就是,完全不知道寫的什么,這些一個個的數學公式是什么鬼?
所以,如果大家想要從程序員轉型到機器學習領域,我推薦大家去看的第一本書就是《高等數學》。
先從基礎開始學習吧,把數學的基礎知識先穩固一下,這樣我們才能夠看得懂那些更深入的知識,自然,我們大學時候可能并不上心的《高等數學》,就需要好好的研讀一下了,如果你還保留的上課的筆記,少年,你是好樣的。
高數我們復習好了,接下來就是概率了,一本《概率論》掏出來吧。
說穿了,機器學習里面有很多和概率有關的算法,那不了解概率的基礎知識,只從應用出發是不合理的。
當你把這兩本書的知識都復習好了以后,那么就可以開始你的算法之路了。《Deep Learning》可以讓你充分的了解深度學習的算法知識。
當然,可能很多的同學和我一樣,已經把數學知識都還給老師了,直接的去看數學方面的書,可能很難能夠回憶起當時的學習內容。
這個時候,可能你需要找個老師,好好的教教你數學了,無論是培訓班,還是一些大學的課程,去學習一下吧,這樣能夠接受得快一點。
如果同學你本來就是數學系出生,并且你的數學知識比較牢固,那恭喜了,你比學計算機的更加適合機器學習領域。
總而言之,人工智能領域重要的是數學,所以,程序員們,轉型之前要慎重考慮。