什麼人適合讀這篇文章?
- 具有高中數學程度的人(其實也只要會矩陣和向量就可以了)
- 完全沒有程式語言基礎的人
- 有心想自學AI的人,並用於工作領域的人
- 恰好有3-6個月的空閒時間,希望多學一種語言的人
學習時間大約要多久?
心無旁鶩的全心學習的話,大約一個月可以上手python程式語言
再大約3-6個月可以操作AI機器學習。
之後依應用領域不同自行挑選工具學習。
第一階段
初學Python 程式語言
推薦書單:
《精通 Python:運用簡單的套件進行現代運算》Introducing Python
作者:Bill Lubanovic
(博客來連結請按此)
從安裝下載python 及其相關套件開始教起
用語詼諧幽默,比喻生動有趣
不要被中文標題嚇到了,其實它只是introduce而已。
使用方式:
- 將內容範例程式碼逐步打過,養成眼到手到的習慣,兩周左右便可撰寫基礎程式碼。
- 從第一章開始閱讀,練習到第六章即可。
第一個難關:環境建立
初學者最常遇到的困難就是在自己的電腦上安裝編譯軟體,
由於Mac, Windows, Linux各種作業系統安裝方式不盡相同,
時常會遇到書上沒有教的窘境。
因此初學者我推薦上面這本書。
小撇步:
之後如果覺得安裝各種套件很麻煩,可以直接下載Anaconda,
使用Jupyter notebook 撰寫,自動包含所有常用機器學習套件。(請按此)
第二階段:
熟練Python並了解各種演算法之間的時間複雜度、空間複雜度差異。
推薦學習資源:
Leetcode 網站題庫 (請按此)
使用方法:
- 挑選自己有興趣的題目寫,也可以選擇難度為「簡單」的題目練習。
- 大約寫5-10題即可,1-2周即可完成本階段。
- 完成題目之後可以到討論區看其他專業工程師如何解決同樣的問題,如何更簡單明瞭、運算更快速。
- 用最短的時間在資工系最硬必修──「資料結構」、「演算法設計」初窺門道。
- 並藉此複習上一階段沒有熟練的指令碼。
第二個難關:忘記學過的指令碼
所以需要靠刷leetcode練習複習。同一個題目能夠看到別人用不一樣的方法解決,知道自己的不足。
第三階段:
機器學習基礎知識
學習資源:
- 林軒田教授的課程比較學術生硬,投影片精美,講解詳盡有邏輯,數學成分較多,非常適合對原理有興趣的你。(基礎課程請按此) (進階課程請按此)
- 李宏毅教授的課程風趣幽默,上課步調比較隨興輕鬆,適合喜歡結合生活應用的你。(ML lecture 請按此)
使用方法:
- 兩位台大教授都有將課程影片上傳至youtube,可以挑選一位從頭到尾看完。
- 太過於理論或數學推導的部分可以兩倍速帶過。
- 安排一天3小時,綜合做筆記時間,大約4-6周左右可以掌握AI機器學習所有名詞的意義,以及數學上的邏輯、生活中的應用。
第三個難關:對機器學習原理感到迷惘或卻步
別擔心!請記得,機器學習是數學家和資料科學家經年累月發展出來的深奧學門,一般人不需要了解全部的詳細原理,像是您學習開車但是不需要知道所有的機械結構,只要掌握與操作有關的重點,並知道重要名詞之間的關聯即可,目標是下一階段的實作!
第四階段
機器學習程式碼操作
書單推薦:Tensorflow + Keras 深度學習人工智慧實務應用 (博客來連結請按此)
網路資源:AI 百日馬拉松 (付費活動) (請按此)
我自己有報名第二屆,值得推薦的地方是他會每天給你一點程式碼
也會提供教學講義網站和重要資源的連結
學期間有助教隨時解答,不過我自己覺得,對非科班出生的人而言,原理和教學圖解部分太少
有時候中文語句也不是很通順,還有許多改進空間
因此上面三個階段完成的人來看會比較不吃力
(待續……)