學習人工智能需要學習那些知識?
機器學習入門指南(2021版)向大家分享我機器學習之路看過的一些書、教程、視頻,還有學習經驗和建議,希望能對大家的學習有所幫助。
pdf版思維導圖,后臺回復:指南Python——書之前跟出版社合作,書柜里積攢了很多Python相關的書,這里推薦三本最有價值的吧。《流暢的Python》,很厚,比較全面,可以作為工具書常常翻看。《 從入門到實踐(第2版)》 非常全面,對新手還算友好,里面有很多的練習項目非常不錯。《利用Python進行數據分析·第2版》 數據分析入門必讀書,主要介紹了python 3個庫numpy(數組),pandas(數據分析)和matplotlib(繪圖)的學習。有開源版,就不用買了,下載鏈接及代碼如下:https://github.com/iamseancheney/python_for_data_analysis_2nd_chinese_versionPython——教程
學習Python最好的入門線上教程,首推Python官方文檔https://docs.python.org/zh-cn/3/tutorial/index.html官方文檔足夠詳細和系統,但是內容太龐大,學習來會有點吃力,我建議只看tutorial即可,就是上面的鏈接。直接啃官方文檔的教材,不如老師講給你聽來的效率高。廖雪峰的Python新手教程也是個不錯的選擇,每一節都有練習題,學習來更順暢,對新手很友好。https://www.liaoxuefeng.com/wiki/1016959663602400機器學習最常用的庫少不了Numpy Pandas Matplotlib這些庫我覺得看官方文檔就好了,不過英文不好的同學可能就不滿意了,這里分別列一下這些庫的官方文檔和我覺得很不錯的中文教程,提醒一下哈,官方文檔只需要看我列出的鏈接即可。Numpy官方文檔:https://numpy.org/doc/stable/user/quickstart.html中文教程:https://www.numpy.org.cn/user/quickstart.htmlPandas官方文檔:https://pandas.pydata.org/docs/user_guide/10min.html中文教程:https://www.pypandas.cn/docs/getting_started/10min.htmlMatplotlib官方文檔:https://matplotlib.org/stable/tutorials/introductory/usage.html中文教程:https://www.matplotlib.org.cn/tutorials/Python——視頻
實話實話,我沒有完整的看過任何Python視頻。歸根結底,Python入門很簡單,看視頻效率太低。傳言B站的[小甲魚]零基礎入門學習Python不錯,簡單看了一眼,確實0基礎。我們用Python是用來學機器學習的,喜歡看視頻學習的同學可以看看,建議只看P1-P53即可。《零基礎入門學習Python》:https://www.bilibili.com/video/av27789609機器學習——書
市面上凡推薦機器學習的書,都少不了李航的《統計學習方法》和周志華的《機器學習》,我當初也是看了大佬推薦,在這兩本書上耗費了極多的時間。但這兩本我覺得都很不適合入門,尤其是統計學習方法,簡直就是上等武功秘籍,太過精煉,啃起來太吃力。對比起來周老師的《機器學習》相對好點,其中有些公式推導有點跳,Datawhale 出了一本開源的《機器學習公式詳解》是個很好的補充。周世華的《機器學習》是必不可少的工具書,還是必讀的,而且要反復閱讀,不過建議在看過視頻教程之后。https://datawhalechina.github.io/pumpkin-book偏應用的書,只推薦一本,其他的都不要看?。。。骸稒C器學習實戰:基于Scikit-Learn、Keras和TensorFlow(原書第2版)》,入門可以先看前 9 章。市面上很少有書能夠把機器學習在業務層面的應用介紹清楚,比如模型解釋、模型上線,模型監控等等,沒有看到特別詳細的,有一本還算滿意,就是知名度比較低:《機器學習:軟件工程方法與實現。《機器學習:軟件工程方法與實現》現在無論是競賽還是工業界,boost模型都應用十分廣泛,分類、回歸、排序,XGBoost都能搞。最后再介紹一本我認為的必讀:《深入理解XGBoost:高效機器學習算法與進階》,作者是XGBoost開源社區貢獻者何龍。這本書以機器學習基礎知識做鋪墊,深入剖析了XGBoost的原理、分布式實現、模型優化、深度應用等。機器學習——教程
教程沒有看到太好的,除了sklearn的文檔,只推薦吳恩達、李宏毅、林軒田三位老師的視頻課件。課件這里不單獨列出來了,下載鏈接我放到思維導圖里了。Sklearn官方文檔:https://scikit-learn.org/stable/user_guide.html中文教程:https://sklearn.apachecn.org/機器學習——視頻
與Python不同,機器學習基礎我覺得最好還是跟著視頻學,因為初學機器學習算法,涉及很多公式推導,非常難理解,跟著視頻學起來會輕松不少。視頻首推吳恩達的公開課,這是學習機器學習基礎知識的最好的課程。英語不好的同學也不要擔心,視頻是有中文字幕的。https://www.bilibili.com/video/BV164411b7dx作為補充,時間充裕的同學可以看看臺大李宏毅的機器學習公開課,特點是中文授課,比較輕松愉快。https://www.bilibili.com/video/BV1pE411g7Wi時間更充裕的也可以看看林軒田的視頻課,只看基石部分即可。https://www.bilibili.com/video/BV1Ft41197Dy機器學習——數學基礎
系統地學習機器學習所必須的數學知識數學基礎這一塊是個無底洞,不太建議大家耗費過多時間,用到了再補也不遲。也不建議大家看書,基礎確實特別薄弱的同學,推薦一本:《機器學習的數學》,這本書特別全面的介紹了微積分、線性代數、概率統計、信息論、隨機過程、圖論等內容。再強調一遍,此書僅適于基礎特別薄弱的同學。我感覺機器學習中用到最多的應該是線代,喜歡看視頻的可以看看李宏毅的機器學習中的線性代數:https://www.bilibili.com/video/BV1G7411f7BE/或者3blue1brown:線性代數的本質https://www.bilibili.com/video/BV1Ys411k7yQ其他數學基礎相關的電子書,我也放到思維導圖中了。一些經驗和建議
1、我敢肯定很多初學者都是資料收集愛好者,越攢越多反而不知道從何開始。我強烈建議把資料都扔掉,以我的這一套為準,一以貫之的學下去。2、就像前面我提到的,很多東西先不要深究,不要在某些地方卡太久(比如數學部分,比如編程基礎),先學下去,學完。了解大的框架之后,以后用到哪里,再回過來補也不遲。3、機器學習的各種算法沒必要樣樣精通,常用的比如LR、樹模型、RF、XGBoost等等掌握好就不錯了。4、我身邊一些優秀的程序員、分析師、工程師都非常推崇“做中學,學中做”,無論是書本還是視頻,看到一些好的方法和技巧,要立即自己實現一遍??雌饋矸浅:唵蔚臇|西,真真動手的時候才會發現自己的不足??焖賹W完上述內容就盡快開始實踐吧,可以先復現天池或kaggle上優秀的notebook,然后就參與一些入門競賽。5、如果你已有工作,最好的還是在業務中尋找機器學習應用場景,然后嘗試去開發一個適用的模型。不懂就搜索,學習。這是我所知最好的,最有價值的學習方法。6、輸出也是特別好的學習方式,輸出就是把新學到的知識用某種方式講給別人聽,做到讓他們也能理解、學會。我比較喜歡寫筆記(我常用的是微軟的OneNote),然后把筆記整理成文章發到博客上。這樣不僅使對自己知識掌握程度的一種檢驗,發現薄弱點,也可以讓大家共同監督,相互學習,教學相長。OK,以上就是所有內容。歡迎與我交流