Python to AI
[前序:]
可能很多人都在每天去尋找各種資源去學習最新的東西,有次聽朋友說,一群考上研究生的學生去選擇導師,當導師問起你們想做什麼的時候,90%的人說我想做機器學習,當老師問他們什麼是機器學習的時候,居然沒有一個人能實質上回答上來。很多人說人工智能這個行業火的原因是因為alphaGo的出現,被商業人士進行各種包裝,商業性質的推動,而實質上我們看了很多大學教授和院士在講解自動駕駛的講座中,他們總會說到,...還有很長的路要走。所以真正的人工智能無需人參與的情景目前還不存在。
你的目標很重要:有的人是僅僅想使用python的基礎功能做數學運算,有的人是想使用python做網絡數據爬蟲,有些人想通過python去做機器學習,數據分析,深度學習,然後衍生到各個領域,這些都是你的自己需要設計的大目標。目標和計劃很重要,小編也是一直拖了很久,怕有什麼不完善,但是大多數時間還是不想去總結。但是2019年都快剩下不到一週的時間,還是給自己的2020年做個技術上的時間和目標規劃。重新撿起寫代碼的興趣,給自己的工作技能做一些實效性的規劃。
PS: 文章很長,絕對硬貨,保證你要有時間讀完。
一、內容概要
1. 章節設置
章節共分為7章,不是為了什麼就業、拿offer這些功名之類的啊,再次強調如果內心想什麼:"速成","一天搞定...","從零...",這些的就不用看了。我可能寫這些更多是因為自身的經驗來描述一下自己關於一個人工智能工程師的完善要求和目標來制定的計劃。
第一章: python 學習路線第二章: Math 學習路線第三章: Data Science 學習路線第四章: Machine Learning 學習路線第五章: Deep Learning 學習路線第六章: 人工智能綜述第七章: 企業崗位需求和時下熱門技術跟進2. 每章內容結構
針對於整個進階的思路我分成了以上7個模塊,每個模塊獨立而且是遞進的,區分模塊化的意義在於是擔心自己在複習的過程中陷入某個模塊太久,以至於不能權衡自己的整個知識體系的學習與掌握。會浪費很多的時間,模塊的同時方便給自己制定時間。再次對每章內容的安排以只上硬貨為主,直接是自己一路走來和結合一些身邊的人的學習路線。主要以書籍和編程實戰為主。
(1) 學習路線概覽
(2) 模塊學習方法
(3) 模塊學習資源
(4) 檢驗學習成果
(5) 學習時間規劃
二、Python 進階路線
1 學習路線概覽
由於選擇的路線的終點是深度學習,要做好一個深度學習的專家,主要是兩個模塊:數據+模型。缺一不可。深度學習的研發人員有70%的時間都是在做數據分析和數據挖掘。因此學習python的主要路線是為做數據分析。在此我們分為兩部分:python基礎和python應用庫。
1.1 Python 基礎路線
1.2 知識解析
編程風格: 學習一門新的語言,首先要學編程規範,這個我就不用多說了吧。不要自己寫的程序,日後自己看不懂,或者讓別人看著噁心。Google的編碼風格,可以在文末鏈接裡下載。基礎必備: 還是建議學習手冊吧。如果想學的全面一點,之前有其他語言基礎的,或者學過matlab的,這種語言很簡單就看完了。其他的書籍可能就不全面。只針對應用寫一些python基礎。具體視大家的需求而來。編程進階: 這個就涉及到接近項目的問題組合了,更加了解python在處理問題時的邏輯。是一個介於基礎知識和項目之間的橋樑書籍。編程優化: 這個第四步是一直持續到你使用python做開發的整個過程中的,編程的優化,項目的優化與部署,以及編程所面臨的一些底層的問題。功能成功只是第一目標,最終的算法性能才是決定python的掌握程度。項目實戰: 這裡只是簡單說一下項目選擇的問題,還是建議大家不要再從都用爛大街的項目:打飛機,泰坦尼克號之類的,沒用的,最好是去實施一些比較好的應用項目。這裡的項目我也給自己總結了一些,存在三個大方向:數據爬蟲Python Web開發Python 數據處理
具體的項目的也有所總結,可以在文末下載。
好好先生:大數據應該具備的10種機器學習方法zhuanlan.zhihu.com
2. Python 應用庫學習方法
基於python開發了很多應用庫和應用框架。這是我們嚮應用進階的開始,下面簡單羅列一下一些具體的庫和應用方向。作為選擇學習的依據。以及參考方向。針對人工智能和大數據方向的模塊庫。
學習方法: 先去學習數據分析三劍客,然後針對數據分析領域嘗試相關項目,學習數據分析庫的時候要學會彼此互相對比,這個在國外的博客上做的是最好的。
好好先生:Pandas 操作數據集(最全總結之一)zhuanlan.zhihu.com
好好先生:機器學習numpy庫的最全運用zhuanlan.zhihu.com
好好先生:Python中機器學習的Numpy指南zhuanlan.zhihu.com
所有庫的總結可以在文後下載。
3. Python 學習資源
首先是自己的知乎收藏夾:
機器學習www.zhihu.com
其次是書籍的分類(基礎,進階,實戰,交叉):
項目工程類:
視頻教程類:
相關博客和網站鏈接:
4. Python 學習檢驗
通過python的學習去部署項目,優化項目,提交項目到自己的數據倉庫或者github上。對每個項目首先要實現重現。學會模塊間同樣功能的對比和替換,找出優勢劣勢。
三、Math 進階路線
吐槽:當下的AI是一個技術交叉融合的技術,正是因為其中有了數學這一分支,才讓每天在github上都有新花樣,讓人破解的費勁。與其追那些東西,還不如踏踏實實把數學學好,其實對於一些乾貨知識是沒有任何捷徑的,也別想快樂的用各種花裡胡哨的東西去幫助自己學習,你不喜歡,你沒動力再好的方法也沒有用。人的抗拒心理是哄不好的。這裡主要針對AI所用到的應用數學做出一些建議:
1 學習路線概覽
1.1 Math 基礎路線
在此對數學的基礎分支做出四個方面的總結:數學分析(微積分),高等代數(線性代數),概率論與信息化(統計學模型與分佈),數值分析(計算數學:插值優化)。如圖:
1.2 Math 知識解析
如果想對數學有更深的認知的愛好者可以看看之前對運籌學專業的解析:
好好先生:數學系|運籌學和控制論(序論)zhuanlan.zhihu.com
王源:【學界】一文讀懂機器學習需要哪些數學知識(附全套優秀課程的網盤鏈接資源)zhuanlan.zhihu.com
1.3 Machine Learning 與 Math 的聯繫
數學知識還是建議先厚後薄,學完數學知識以後,可以結合Math與機器學習每一部分的關聯性書籍,大致鞏固和梳理自己的數學儲備,查漏補缺。
紅色石頭:機器學習數學全書,1900 頁 PDF 下載zhuanlan.zhihu.com
2 Math 學習資源
2.1 書籍力推
依然看書為主:【在精不在多】
數學分析和高等代數書籍不限,當然也可以根據慕課的大學課程去找對應的書籍。
中國大學MOOC(慕課)_國家精品課程在線學習平臺www.icourse163.org
推薦一下:
這裡主要針對概率論進行相關書籍推薦:
(有自己的網站!!)
2.2 網站推薦
2.2.1 知乎高讚的數學仿真網站
線性代數和微積分的講法很好很形象適合初學者
maoooo:我在B站學數學zhuanlan.zhihu.com
2.2.2 囊括數學的基本所有學科的在線知識庫和仿真計算器
Wolfram|Alpha: Making the world’s knowledge computablewww.wolframalpha.com
2.2.3 博士樂園(國內少之又少的平臺,要會員費)
博士家園 - 數學學科交流學術網站www.math.org.cn
2.3 Math軟件推薦(三選其一就好,專業製圖和科學計算)
1)wxMaxima
2)Matlab
3)Orgin
2.4 Math 進階檢驗
1)看書
通過看深度學習和機器學習相關書籍的前幾章。總結關聯!!
2) python 模塊學習
通過學習python相關領域的模塊進行數學知識的鞏固和銜接
前面介紹python的時候已經舉例過很多庫
四、 Data Science 進階路線
1 學習路線概覽
人工智能的最重要的一部分就是數據,前期大部分時間都是用在數據的採集和樣本的歸類清洗標記上,同時機器學習的其中的一種分支應用就是大數據,何為大數據以及何為數據科學家,在此做一個總結,看下圖。
1.1 DataCamp
在DataCamp上我們能看到關於大數據分析的幾乎所有內容以及教學課程。而且具備自身的Ipython平臺,簡化編程環境。
因為數據科學的衍生應用有很多,所以這裡給出一篇關於數據科學的學習路線
https://towardsdatascience.com/the-best-data-science-learning-resources-out-there-and-my-journey-into-data-science-81c5a6ec67bctowardsdatascience.com
主網站:
https://www.datacamp.comwww.datacamp.com
相關具體網站分支:
DATA ANALYST WITH PYTHON:
https://www.datacamp.com/tracks/data-analyst-with-pythonwww.datacamp.com
PYTHON PROGRAMMER:
https://www.datacamp.com/tracks/python-programmerwww.datacamp.com
IMPORTING & CLEANING DATA WITH PYTHON:
https://www.datacamp.com/tracks/importing-cleaning-data-with-pythonwww.datacamp.com
DATA MANIPULATION WITH PYTHON:
https://www.datacamp.com/tracks/data-manipulation-with-pythonwww.datacamp.com
Introduction to Relational Databases in SQL:
https://www.datacamp.com/courses/introduction-to-relational-databases-in-sqlwww.datacamp.com
Introduction to Shell for Data Science:
https://www.datacamp.com/courses/introduction-to-shell-for-data-sciencewww.datacamp.com
Conda Essentials:
https://www.datacamp.com/courses/conda-essentialswww.datacamp.com
1.2 data Science Central
這是介紹數據科學的第二個比較權威的網站:Hadoop, BigData, Statistic, Analystics, DL, ML, AI
2 Data Science 進階資源
2.1 python 大數據分析
視頻資源:
鏈接:https://pan.baidu.com/s/1dt8Fm-Kasrp75RT6G_nx9Q 提取碼:34xw
2.2 hadoop 數據挖掘
鏈接:https://pan.baidu.com/s/14lI6NuHLn01cQc2cddQiGg 提取碼:dp6m
2.3 Data Science Note
鏈接:https://pan.baidu.com/s/1WF2schbXsMbhw5nKcK5ltg 提取碼:5f9e
2.4 三大網站
https://towardsdatascience.com/towardsdatascience.com
Learn SQL - Free Interactive SQL Tutorialwww.learnsqlonline.org
Build software better, togethergithub.com
3 Data Science 進階檢驗
項目為依託
五、Machine Learning 進階路線
1 學習路線概覽
好好先生:超過200種最佳機器學習,NLP和Python教程— 2019年版zhuanlan.zhihu.com
好好先生:Quora中關於機器學習和NLP的187個經典問題zhuanlan.zhihu.com
好好先生:Google精選100+的AI和機器學習資源清單(最全資源列表)zhuanlan.zhihu.com
2 Machine Learning 進階資源
2.1 書籍推薦
2.2 Machine Learning 進階檢驗
2.2.1 機器學習的數學模型和推導
2.2.2 機器學習的Web相關應用
2.2.3 Github的項目實踐:數據挖掘
https://github.com/topics/data-mininggithub.com
六、 Deep Learning 進階路線
1 學習路線概覽
深度學習屬於機器學習的分支,建立於網絡之上:
1.1 深度學習與機器學習的聯繫
1.2 常用的深度學習網絡模型
1.3 深度模型重要框架
1.4 深度學習開發流程
2 DeepLearning 進階推薦
3 DeepLearning 進階檢驗
Build software better, togethergithub.com
七、人工智能綜述
八、 企業崗位需求和時下熱門技術跟進
根據國內當下對機器學習的需求和應用,對相關崗位做出如下總結:
由於應用領域的分支不同,可能每個人終點不一樣,但是起點大家都會是一樣的。
本文所有思維導圖的圖片可以通過我的公眾號回覆【AI】免費下載。同時也希望和大家一起交流。