python用于人工智能的方法:1、掌握基礎(chǔ)python程序語言知識;2、了解基礎(chǔ)數(shù)學(xué)及統(tǒng)計學(xué)和機器學(xué)習(xí)基礎(chǔ)知識;3、使用python科學(xué)計算函式庫和套件;4、使用【scikit-learn】學(xué)習(xí)python機器學(xué)習(xí)應(yīng)用。
【相關(guān)學(xué)習(xí)推薦:python教程】
python用于人工智能的方法:
為什么選擇python?
在數(shù)據(jù)科學(xué)和機器學(xué)習(xí)領(lǐng)域最重要的兩大程序語言就是python 和r,python 簡潔易學(xué)、應(yīng)用范圍廣(不限于數(shù)據(jù)分析)且學(xué)習(xí)曲線平緩,適合作為第一個入門的程序語言,透過pandas、scipy/numpy、sckikit-learn、matplotlib和statsmodels 可以進行數(shù)據(jù)分析的工作,適合工程任務(wù)和需要和網(wǎng)絡(luò)應(yīng)用程序整合的項目。至于r 由于是統(tǒng)計學(xué)家開發(fā)的程序語言,則是擅長于統(tǒng)計分析、圖表繪制,常用于學(xué)術(shù)研究領(lǐng)域,建議也要有一定程度的掌握。一般情況下python 和r 并非互斥,而是互補,許多數(shù)據(jù)工程師、科學(xué)家往往是在python 和r 兩個語言中轉(zhuǎn)換,小量模型驗證、統(tǒng)計分析和圖表繪制使用r,當要撰寫算法和數(shù)據(jù)庫、網(wǎng)絡(luò)服務(wù)互動等情況時在移轉(zhuǎn)到python。為了降低學(xué)習(xí)成本。
此外python本身是一種通用語言,除了數(shù)據(jù)科學(xué)外也可以廣泛使用在 網(wǎng)絡(luò)開發(fā)、網(wǎng)站建置、游戲開發(fā)、網(wǎng)絡(luò)爬蟲等領(lǐng)域,當你需要整合系統(tǒng)產(chǎn)品服務(wù)時,可以擔任一站式的開發(fā)語言,更重要的是 python 也可以當成 膠水語言非常輕易和 c/c 等效能較佳的語言整合。簡而言之,python是一種簡潔易學(xué)但功能強大,值得投資的程序語言,所以我們這邊先使用python 進行介紹。
若對于python和r 比較,這邊有兩篇文章可以參考數(shù)據(jù)科學(xué)界華山論劍:r與python巔峰對決、which is better for data analysis:r or python?。
如何開始入門機器學(xué)習(xí)?
事實上,數(shù)據(jù)科學(xué)是個跨領(lǐng)域?qū)W門,在學(xué)習(xí)如何使用python 進行機器學(xué)習(xí)過程中通常必須掌握以下知識:
機器學(xué)習(xí)算法
python 程序語言和資料分析函式庫
線性代數(shù) / 統(tǒng)計學(xué)等相關(guān)學(xué)門
專業(yè)領(lǐng)域的領(lǐng)域知識( domain knowledge )
為了掌握以上三大領(lǐng)域知識(我們先把焦點放在機器學(xué)習(xí)核心技法,暫時忽略數(shù)據(jù)科學(xué)中對于領(lǐng)域知識的掌握),具體來說我們可以有以下步驟可以參考:
1. 掌握基礎(chǔ)python 程序語言知識
在線學(xué)習(xí)資源:
o codecademy
o datacamp(也可以學(xué)r)
o learn x in y minutes(x = python)
o learn python thehard way
2. 了解基礎(chǔ)數(shù)學(xué)/統(tǒng)計學(xué)和機器學(xué)習(xí)基礎(chǔ)知識
o 可汗學(xué)院線性代數(shù)
o introto deive statistics
o introto inferential statistics
o andrew ng 機器學(xué)習(xí)課程
o andrew ng 機器學(xué)習(xí)筆記
o carnegiemellon university machine learning
o machinelearning foundations (機器學(xué)習(xí)基石)
3. 知道如何使用python 科學(xué)計算函式庫和套件
推薦安裝anaconda,支持跨平臺多種版本python,默認將數(shù)據(jù)分析、科學(xué)計算的套件裝好,自帶spyder 編輯器、jupyternotebook(ipythonnotebook),可以提供一個網(wǎng)頁版接口,讓用戶可以透過瀏覽器進行julia、python或r 程序的開發(fā)與維護。
o numpy:科學(xué)分析,scipylecture notes 教學(xué)文件
o pandas:資料分析
o matplotlib:會制圖瞟
o scikit-learn:機器學(xué)習(xí)工具
4. 使用scikit-learn 學(xué)習(xí)python 機器學(xué)習(xí)應(yīng)用
o machinelearning: python 機器學(xué)習(xí):使用pytho-n
5. 運用python 實作機器學(xué)習(xí)算法
o 感知器
o 判定樹
o 線性回歸
o k-means分群
6. 實作進階機器學(xué)習(xí)算法
o svm
o knn
o randomforests
o 降低維度
o 驗證模型
7. 了解深度學(xué)習(xí)(deeplearning)在python 的實作和應(yīng)用
o ntu applied deeplearning
o stanford deeplearning
o 深度學(xué)習(xí)(deep learning)自學(xué)素材推薦
o 深度學(xué)習(xí)deep learning:中文學(xué)習(xí)資源整理
想了解更多相關(guān)學(xué)習(xí),敬請關(guān)注php培訓(xùn)欄目!