Data Science online Course 推薦

去年因緣際會知道了有關大數據、資料科學、機器學習這些領域 本來考慮要去參加資策會的課程,但自己要在家帶小孩 如果參加課程,小孩要找保母,整個機會成本太高,因此決定自學先

網路課程現在幾乎是隨手可得,想要自學的人根本不怕沒有教材可以學習,但是五花八門的課程中,怎麼去選擇就是一個很重要的問題了。

我自己是一個門外漢,因此在選擇課程以及安排上面花了蠻多時間,以下大多是我看過或是大概瀏覽過覺得不錯的課程,就推薦給想要自學又不知道怎麼開始的朋友們吧~

概論

由於自己雖為國立大學數學系畢業,但畢業非常多年,加上自己也非科班出身,因此想要先了解整個領域的範疇、概要,之後再開始針對各個科目分進合擊。

PS : 初期我自己都以大數據為出發點,所以上的課都是大數據概論取向,但再其中其實對於資料科學、AI、機器學習都會講到。

  1. [ Coursera ] 大數據分析:商業應用與策略管理 (Big Data Analytics: Business Applications and Strategic Decisions)

    這門課是台大與玉山銀行合作開的線上課程,與其說是課程,我認為比較偏向講座,在這過程中可以對大數據、機器學習等在商業上的應用。這堂課可當作補充資料來上,會有一些實務應用上的概念,當然,如果沒時間也不一定非得要上。

  2. [ Coursera ] Big Data Specialization

    University of California, San Diego 開設的這們課程,我個人還蠻推薦的,尤其是對跨領域、無先備知識的學習者來說,可以在這一系列課程中很快速地對整個領域有蠻深入的理解。

  3. [ Book ] 精通 Python

  4. [ Book ] Python 資料科學學習手冊

    這兩本都是 O'REILLY 的經典書籍,我必須坦白說我沒有完整的看完,精通 Python 我針對資料科學的部分有完整看過,然後做習題,但裡面很多章節稍微跟資料課學無關的我幾乎都暫先跳過,而資料科學學習手冊我是都拿來當工具書翻閱。( 所以我 coding 能力還是一樣很差XDDDDD )

Python

第二階段我開始以 Python 為主進行學習,因為我自己 coding 能力幾乎是 0,這個部分必然要作為初期學習的重點項目。另外,雖然說這是第二階段,但其實這部分跟上述的概論課程我幾乎都是同時期一起上課。

  1. [ Coursera ] Python for Everybody Specialization

    這門是 University of Michigan 所開設的 Python 專項課程,完全從 0 基礎開始上課,上完以後可以可以進行一些初階的程式作業我想是沒有問題的,這堂課並沒有太多針對資料科學的部分,主要是以各領域都會用到的基礎工具為主。Charles Russell 的上課方式我超喜歡,喜歡友去上課方式的人我想也會跟我一樣喜歡這門課。

  2. [ Coursera ] Applied Data Science with Python Specializat ion

    一樣是 University of Michigan 開設的,這專項課程我作為上門課程的接續課程。前面幾堂會針對 python 在資料科學中會用到的模組、方法進行概略式的瀏覽,後面則會針對視覺化、機器學習等領域做較為深入的介紹。整個課程較上一門來說困難度增加不少,因為我自己有做手寫筆記的習慣,這門課的許多東西在我現在 coding 遇到問題時都還能翻閱筆記作為工具書使用,我覺得受益不少。

  3. [ Coursera ] Fundamentals of computing

    Rice University 所開設的課程,之前應該也是在論壇看見推薦的,但課程難度較高,目前我也是暫時先擱置還未進行這課程的學習。

Machine Learning

  1. [ YouTube ] 機器學習基石 & 技法 (Machine Learning Foundations and Techniques)

    台大林軒田教授所開設的機器學習課程,在 Coursera 與 YouTube 軍可以免費觀看課程內容。這門課主要以基礎的機器學習演算法為主,但雖然說世紀處演算法,但內容包含的數學比重較重,啃下來的確會有點困難,但整個課程的安排的確非常流暢,老師的講述也算是蠻清楚。而且教授對於課程教學十分用心,如果在 YouTube 或是 Coursera 上面提問,教授 (或助教) 都會盡可能地回覆。( 即使課程已經是兩三年前的課程了,現在也都會看到教授的回覆,非常用心。 )

  2. [ YouTube ] Machine Learning --- 李宏毅

    台大李宏毅所開設的機器學習課程,一直以來都是台灣及中國學習者極力推薦的中文課程之一。課程內容與時俱進,每一年都會將最新的機器學習、深度學習的演算法、模型加入到課程內,讓學習者能夠跟上整個領域的發展。數學的比重比林軒田教授的課程低,而且多了許多有趣的範例及講述,上課起來輕鬆不少。然而,影片內容我個人覺得安排較為紊亂,可能是每一年的課程進度剪接而成,在某一些地方的銜接度較差,這是上課時稍微讓人困惑的地方。不過瑕不掩瑜,這門課程我認為還是非常值得花時間上的。 [ 補充 ] 最近中國一些人將李宏毅的課程整理成一個 github 專案,完全複刻課程內容,包含了課程中的所有 demo 以及課程作業內容,非常值得大家在上課的同時做參考使用。 [ 補充 ] 李宏毅另外有一門課程 " Machine Learning and having it deep and structured ",會更深入講解機器學習的演算法跟架構,這也是後續上完 Machine Learning 後可以深入補充的課程。

  3. [ Coursera ] Machine Learning --- Andrew Ng

    由 Stanford University 的吳恩達教授所開設的課程,這已經是全世界公認的經典了,不過已經花了大半年上完前面兩門課程的我,可能要稍作休息,待日後有機會再來進行這門課程的學習。

  4. [ YouTube ] Large-Scale Machine Learning

    清大吳尚鴻所開設的課程 (http://www.cs.nthu.edu.tw/~shwu/courses/ml/),忘了在哪看見推薦的,我有上去大概看了一下,就學習論的部分我覺得講解的蠻清楚,就也是有空可以再回頭來看看。

Mathematics

整個 Machine Learning 所涵蓋的數學領域其實是很廣的,有一些甚至不是數學系四年會碰觸到的部分,而且某些部分甚至都是數學系、所一整學年的課程,我認為不用太糾結每一個數學細節,找到一個可以說服自己的方式就好。( 當然,如果你真的想走演算法這條路,要求就要再提高ㄧ些 )。如果有時間我會建議可以把機率統計以及線性代數的部分上過一次(我大學機率統計實在學得慘不忍睹),我認為這兩個領域如果可以上手,就會輕鬆許多。

  1. [ 清大開放式課程 ] 機率論

  2. [ 清大開放式課程 ] 統計學

  3. [ 清大開放式課程 ] 數理統計

    這三們都是清大鄭少為老師所開的課,基本上他的機統普遍受到許多人的推薦,我自己有看過前面幾堂的機率論,我認為條理清楚,講義也很詳細,這是我真的很想找時間上的課程。

  4. 線性代數

    這個部份我目前暫時沒有重新上課的打算,大學教授上的非常好,我的筆記也都還留著,就可以來回對照著參考,如果有推薦的課程也可以讓我知道,一起推薦給所有人參考看看。

補充資料

這裡推薦幾個我認為很有幫助的學習途徑,有些是課程,有些並不算是。但我認為都可以在上面這些基礎課程以外作為增強實力的補充教材。(備註 : 這裡我選出來的都是比較廣泛性的平台,但 Medium 或是ㄧ些個人部落格也有很多非常棒的補充資料可以看,但這樣的資料多且雜,我就暫時沒收在下列推薦名單中。)

  1. AI 研習社 ( https://ai.yanxishe.com/ )

    不得不說,中國在這領域的發展真的比台灣快而且豐富,當我在學習過程中找尋中文資料時,九成都是從中國的論壇或是部落格中找到,台灣在這方面的分享上面的確比較少。 AI 研習社我會建議大家可以去他的線上課程看,裡面有幾個大師級的課程 ( 重點是有簡中字幕XD ),例如 Hinton 的課程我就會想要找時間來看一下。裡面還有一些資料、論文整理的部分,大家也是可以上去晃晃看。

    PS:它有一門「機器學習必修之數學基礎」系列課程其實我還蠻有興趣的,但是學費不便宜就....

  2. CSDN博客 ( https://blog.csdn.net/ )

    不管閱讀論文還是課程上面有疑問,絕對可以針對同一件事情再上面找到非常多樣化的解釋。上面我曾經說過,很多時候不要拘泥,找到一個能說服自己的方式就好,通常我都會在許多不同的解釋當中選擇一個我比較理解且能接受的方式作為我對這件事情的理解。

  3. 知乎

    這有點像是中國版的奇摩知識+ (?),針對一個問題也可以看到底下有許多不同角度的切入,我覺得這樣的學習其實蠻不錯的。當我在找資料的時候,只要是CSDN跟知乎我都會點進去看一下,許多時候都會有不錯的收穫。

  4. reddit/MachineLearing ( https://www.reddit.com/r/MachineLearning/ )

    reddit 的 Machine Learning 版裡面有許多的神人,還潛伏了許多論文的作者在裡面,時不時會有一些很新的論文發表、成果發表還有許多有趣的討論在裡面,我覺得可以收藏起來看。

  5. 微博公眾號

    好,我知道這部分爭議很大,如果真的很介意的可以跳過這一 part。 我完全沒有在用微博,但為了ㄧ些公眾號的訂閱我才開始使用。許多公眾號會把很新的 AI 新知、或是一些知識整理放出來,雖然品質參差不齊,但也不得不說有時候真的能撿到一些不錯的好文章。另外,覺得閱讀reddit 全英文資料很吃力的,有時候大概在reddit 上面發表一兩天之後公眾號就有簡體中文的說明出來,我覺得有時候偷吃步其實也是蠻可以的啦XDDDDD。還有一個公眾號會每天發送各種領域最新的論文內容出來,如果閱讀論文速度很快的,可以從這樣的公眾號中拿到很多最新的論文資訊。

  6. Paper weekly ( https://www.paperweekly.site/home )

    這是一個專門整理論文的網站,裡面集合了許多人可以互相討論、分享筆記,甚至有人會實現論文裡面的 Code 供大家使用。它也提供使用者自訂論文集可以按照自己的喜好來收集論文閱讀,同時也可以讓線上的使用者去看看大家的論文集都有哪些論文收藏,也可以節省翻找論文的時間。