這是一個很多同學都比較關心的問題,我目前就在給研一的同學上機器學習(深度學習)這門課程,同時也在使用機器學習做一些課題項目,我來說說個人建議。
首先,從入門機器學習的角度來說,Python語言對于初學者是相對比較友好的,所以我通常都會建議初學者先學習Python,然后再采用Python來完成一些經典的機器學習算法實現,比如knn、決策樹、樸素貝葉斯等,這個過程的難度并不大,也會讓初學者建立起學習信心。
對于本科生同學來說,在選擇編程語言的時候,也應該結合本專業的具體科研場景。
除了Python語言之外,Java、C++和R這幾門編程語言在機器學習領域也有很多應用,包括JavaScript也可以完成機器學習的算法實現和驗證等環節。
對于來自統計學專業的同學來說,往往采用R語言是比較適合的,畢竟R語言在統計學領域有更多的應用,而數學大類專業的同學通常更喜歡采用C++語言。
我一直強調一件事,那就是學習人工智能相關知識一定不能脫離實踐場景,不同的實踐場景往往需要采用不同的編程語言。
以我的課題組為例,縱向課題往往會采用Python語言多一些,畢竟縱向課題會更關注理論知識體系上的突破,而橫向課題則使用Java和C++多一些,因為橫向課題更注重落地應用的性能和穩定性。
目前機器學習跟行業場景相結合的空間非常大,很多非計算機專業的同學也在基于機器學習來完成一些課題創新,而對于這部分同學來說,應該盡量選擇跟本組的leader采用相同的編程語言,這能讓自己節省不少時間,也會少走一些彎路。
我目前聯合一些國內外知名大學的導師和互聯網大廠的企業導師,共同搭建了一個技術論壇,在持續開展技術交流和科研實踐等活動,其中就包括機器學習、深度學習方向,感興趣的同學可以聯系我申請參與,相信一定會有所收獲。
最后,如果有機器學習、人工智能相關的問題,歡迎與我交流。