當前位置:編程學習大全網 - 編程語言 - 怎麽學習人工智能?

怎麽學習人工智能?

第壹步:復習線性代數。(學渣的線代忘了好多-_-||)

懶得看書就直接用了著名的——麻省理工公開課:線性代數,深入淺出效果拔群,以後會用到的SVD、希爾伯特空間等都有介紹;

廣告:邊看邊總結了壹套筆記 GitHub - zlotus/notes-linear-algebra: 線性代數筆記。

第二步:入門機器學習算法。

還是因為比較懶,也就直接用了著名的——斯坦福大學公開課 :機器學習課程,吳恩達教授的老版cs229的視頻,講的非常細(算法的目標->數學推演->偽代碼)。這套教程唯壹的缺點在於沒有介紹最近大火的神經網絡,但其實這也算是優點,讓我明白了算法都有各自的應用領域,並不是所有問題都需要用神經網絡來解決;

多說壹點,這個課程裏詳細介紹的內容有:壹般線性模型、高斯系列模型、SVM理論及實現、聚類算法以及EM算法的各種相關應用、PCA/ICA、學習理論、馬爾可夫系列模型。課堂筆記在:CS 229: Machine Learning (Course handouts),同樣非常詳細。

廣告:邊看邊總結了壹套筆記 GitHub - zlotus/notes-LSJU-machine-learning: 機器學習筆記

第三步:嘗試用代碼實現算法。

依然因為比較懶,繼續直接使用了著名的——機器學習 | Coursera ,還是吳恩達教授的課程,只不過這個是極簡版的cs229,幾乎就是教怎麽在matlab裏快速實現壹個模型(這套教程裏有神經網絡基本概念及實現)。這套課程的缺點是難度比較低,推導過程非常簡略,但是這也是它的優點——讓我專註於把理論轉化成代碼。

廣告:作業參考 GitHub - zlotus/Coursera_Machine_Learning_Exercises: Machine Learning by Andrew Ng from Coursera

第四步:自己實現功能完整的模型——進行中。

還是因為比較懶,搜到了cs231n的課程視頻 CS231n Winter 2016 - YouTube ,李飛飛教授的課,主講還有Andrej Karpathy和Justin Johnson,主要介紹卷積神經網絡在圖像識別/機器視覺領域的應用(前面神經網絡的代碼沒寫夠?這門課包妳嗨到爆~到處都是從零手寫~)。這門課程的作業就更貼心了,直接用Jupyter Notebook布置的,可以本地運行並自己檢查錯誤。主要使用Python以及Python系列的科學計算庫(Scipy/Numpy/Matplotlib)。課堂筆記的翻譯可以參考 智能單元 - 知乎專欄,主要由知友杜客翻譯,寫的非常好~

在多說壹點,這門課對程序員來說比較走心,因為這個不像上壹步中用matlab實現的作業那樣偏向算法和模型,這門課用Python實現的模型同時註重軟件工程,包括常見的封裝layer的forward/backward、自定義組合layer、如何將layer組成網絡、如何在網絡中集成batch-normalization及dropout等功能、如何在復雜模型下做梯度檢查等等;最後壹個作業中還有手動實現RNN及其基友LSTM、編寫有助於調試的CNN可視化功能、Google的DeepDream等等。(做完作業基本就可以看懂現在流行的各種圖片風格變換程序了,如 cysmith/neural-style-tf)另外,這門課的作業實現非常推崇computational graph,不知道是不是我的幻覺……要註意的是講師A.K的語速奇快無比,好在YouTube有自動生成解說詞的功能,準確率還不錯,可以當字幕看。

廣告:作業參考 GitHub - zlotus/cs231n: CS231n Convolutional Neural Networks for Visual Recognition (winter 2016) (我的在作業的notebook上加了壹些推導演算哦~可以用來參考:D)

  • 上一篇:四川專科學校有哪些專業比較好的院校
  • 下一篇:舉例子的說明方法有什麽好處?
  • copyright 2024編程學習大全網