【MOOC專訪】台大林軒田:有故事的“機器學習”課程

Google為什麼能搜索到你想要的結果?廣告商為什麼總能知道你感興趣的事物?Siri怎樣聽懂你講的話?計算機如何從大量數據中挖掘出有用的信息?

這些都少不得“機器學習”的功勞。

“機器學習”是當今的大熱門,“人工智能”、“大數據”等當今熱門領域都離不開“機器學習”。

11月26日起台灣大學林軒田教授將用8週的時間在Coursera的“機器學習基石”課程上帶你進入機器學習這個有趣又有用的世界。

林軒田2008年從加州理工學院回到台灣大學,次年加入了台灣大學數據勘探研究團隊。這支由林智仁、林守德和林軒田三位教授帶領的研究團隊,在2010年到2013年間,拿下了數據挖掘研究領域的國際頂級賽事KDD-Cup的六個世界冠軍。

他合著出版的Learning From Data:A Short Course(從數據中學習:一個短期課程)一書還登上Amazon機器學習書籍排行榜榜首。而這本書實際上是他當年因為在台大開設機器學習課程,找不到合適的教材才不得不出手編寫的。

林軒田老師合著出版的教材Learning From Data

熟悉Coursera的讀者都知道,斯坦福大學的Machine Learning(機器學習)是Coursera聯合創始人吳恩達(Andrew Ng)主講的招牌課程,甚至可以說是Coursera的原型。為什麼林軒田教授還要在Coursera開設這門“機器學習基石”呢?這門課程的魅力在哪裡?

開課之際,果殼網MOOC學院專門採訪了“機器學習基石”的主講老師林軒田。

果殼網:是什麼原因促使你在Coursera 開這門課?

林軒田:台大MOOC執行長,也是我的好友葉丙成教授的熱情邀約是主要的原因。此外,這幾年來在台大想修機器學習的同學越來越多,傳統的教學方式慢慢變得無法滿足這些同學的需求,所以我也希望藉著上MOOC的機會來實驗新的教學方式,並把我們熱門的機器學習課程推廣出去。

果殼網:Machine Learning  是Coursera 的看家課,你為什麼敢於挑戰,也開一門?

林軒田:在決定要開課的時候,倒沒有要向任何人挑戰的想法。不管是在Coursera或edX平台上,現在都有很熱門的機器學習課程,其中edX平台上的還是我在加州理工學院的博士導師開設的。我有一些學生看了這些課程之後,對我反映說英語的教學還是有些不易吸收之處,這是我想另開一個華語教學的機器學習課程的主因。我希望能讓更多的華人接觸機器學習這門學問。

果殼網:“機器學習”聽起來很厲害,可“機器學習”到底是研究什麼的?與當前熱門的大數據、人工智能,有何联系?有沒有一些好玩的例子?

林軒田:其實應該賣個關子,請大家來聽第一堂課就知道了!

機器學習想做的事情,簡單的說是要從資料中歸納出有用的規則。大數據說的是對大量的資料做分析,而人工智能說的是讓機器看起來更聰明,兩者都可以使用機器學習來做核心的工具。

我們可以舉2012 年的KDD-Cup 做例子,當年騰訊給的題目之一,是希望能從大量的線上廣告資料中,找出“這個廣告到底會不會被點擊”的規則,如果機器能找出有用的規則,我們就會有更高“智能”的廣告系統了。我們在第一堂課中還會有些很有趣的例子跟大家分享。

註:KDD Cup ,國際知識發現和數據挖掘競賽,是由ACM  的數據挖掘及知識發現專委會(SIGKDD )主辦的數據挖掘研究領域的國際頂級賽事。台灣大學已連續多年在KDD-Cup 大賽獲獎。

果殼網:  計算機類課程往往牽涉很多算法,令很多同學感到枯燥。你會通過什麼方法讓學生從中獲得樂趣?

林軒田:我們的課程設計中,大家會看到我們把對算法與數學式的推導,以“解決問題”的過程方式呈現。也就是說,我們對算法的介紹是環繞著“為什麼”出發的,當同學們腦中有“為什麼”的時候,就有目標去理解這些算法與數學式的內容了。我們從在台大的教學經驗發現,即使是非常深奧的內容(例如我們這門課的第五到八講),只要說服同學這些內容的“故事性”(也就是“為什麼”),同學們就會有動力把這些深奧的東西都好好的搞懂,而且搞懂後會很有成就感。

果殼網:台灣大學在近幾年的KDD-Cup 中都取得了非常好的成績,其中機器學習發揮了多大作用?

林軒田: KDD-Cup的比賽需要很好的“機器學習”與“人類學習”的合作,才能在短時間內發揮機器學習算法的最大效益。以算法的本身來說,大部份我們並沒有用到很進階的方法,但我們團隊的成員對“活用”與“善用”機器學習非常熟悉,並且我們在這幾年中,累積了很多經驗來避免“誤用”機器學習,這些經驗再加上成員們的努力,讓我們能有不錯的成績。

台灣大學2011年KDD-Cup,團隊成員的合照

果殼網:  你推薦修這門課的同學閱讀什麼書籍?

林軒田:如果已經有微分、線性代數及機率統計的基礎,其實只要聽課與寫作業應該就可以吸收很多知識。如果想讀書的同學,容我老王賣瓜一下,我所合著的Learning from Data一書,包含了我們課程中九成以上的內容,這本書不但是美國亞馬遜長期 ​​以來的機器學習暢銷書,也被edX上的機器學習課程列為參考的書目,值得同學們一讀。

果殼網:學完這門課,學生可以達到一個怎樣的水平?可以往哪些領域繼續深入探究?

林軒田:這門課對應到台大前半學期的課程,我們教給大家的是機器學習最核心的知識。如果你是研究需要“應用”機器學習的領域,例如生物資訊,學完後你已經可以妥善使用機器學習的核心工具來解決手上的問題了。

我預計會把台大後半學期的課程開成另一門Coursera 課程“機器學習技巧”,想學習一些進階工具的同學,可以考慮繼續上這門課。把兩門課都學完後,應該有能力使用進階的機器學習工具,並在機器學習領域或其他領域發展更好的算法。

果殼網:是什麼重要的事件讓你開始關注你講授的領域?

林軒田:我本來就對人工智能很有興趣,所以在大學四年級時,加入了林智仁教授的研究團隊,參與了LIBSVM這個現今世界知名的機器學習軟體的早期開發,這是我和機器學習接觸的開始。

果殼網:你在準備網上課程的時候,有沒有遇到什麼困難?

林軒田:困難相當的多。

我先前在台大講授這門課的時候,都是以黑板書寫為主,因為有不少數學式的推導。但做線上課程的時候,我要把這些教材內容改成投影片來展示,每一個小時要用的投影片,我平均要花八到十二個小時來製作,時間的花費相當驚人。此外,錄影是個很大的問題,在看不到學生,只有攝影機的狀況下,很難有上課的“氣氛”來把課上好,我試了很久才讓自己能投入到錄影上課的情境之中。華語教學比想像中的要困難,因為機器學習的領域中還是有大量的英語名詞,探究如何適度的“混用”華語與英語,也讓我吃足了苦頭。

果殼網:你在台大教授課程的時候,遇到過哪些有趣的事情?

林軒田:今年為了配合Coursera課程的開發,我的做法是把我錄好的課程,在課堂上“試播”,這樣出來效果非常的好。不過要在超大的屏幕上看著自己上課,還挺令人害羞的。有時剪接沒有剪好,錄到的有缺失的段落就會不小心放出來給同學看,感覺有點丟臉,不過也算是全新的體驗。

我們課程的作業一向很難,有一年我出了個作業一,其中一位同學就在他的BBS 看板上說“出這個作業的人實在很沒良心”,我看到了覺得相當好笑!結果到下個星期,因為系上的一項專案,我和幾位同學一同用餐,吃完後其他同學才告訴我,坐我旁邊的那位就是說我沒良心的同學,算是個相見歡吧!

林軒田老師與同學合照

MOOC專訪:http://mooc.guokr.com/opinion/437531/