我的研究方向主要是機器學習演算法的分析與設計。這可能跟其他的機器學習的Lab會不太一樣。首先是我們不會做純應用的機器學習,我們比較著重在找現有理論解決不了的機器學習問題,設計演算法去解決它。
對於設計出來的算法,我們也要推演出完善的證明來說明他在假設的前提下是可以運作的。而有一些流傳許久的演算法,其實還沒有很好的理論說明它為何會有這樣的表現,只是基於經驗法則發現它可以運作。對於這些演算法,我們也會希望能夠分析並說明它在什麼情形下能夠或不能夠運作。
可以直接寄email給我,跟我約時間聊一聊。會希望同學在email內提供自己的資訊,在面談時才能比較知道討論怎麼進行,也能夠比較好的知道未來可以分配怎麼樣的題目給同學。我會希望同學都能做自己有興趣的題目,同時跟我的研究領域也有關。
在同學寫信之前,會希望同學至少能看過我的個人網站以及我的幾篇paper,對我有更多的認識,在面談時也會知道能夠討論什麼內容。
另外同學也可以到我的Lab(407),找那裡的同學聊一聊。同學之間給的看法或評論可能會跟老師給的不太一樣,都可以作為參考。
我每個學期都會開一門選修課,是跟我的研究內容比較相關的機器學習的理論。如果是修過我的課的同學,我當然更歡迎。但是沒有修過的同學也沒關係,只要我確定同學的想法跟我的研究領域是相關的,且同學對機器學習的理論以及演算法設計、分析有興趣,都可以先跟我做一個學期的專題看看結果如何。
在數學方面,會希望同學的微積分、線性代數以及機率都有一定的程度,不會在做專題的時候需要一直複習這些科目基本的內容。但其實我也沒有一個固定的門檻。曾經有一位同學,除了必修課以外沒有修過額外的理論相關課程,但他的表現非常非常好,所以其實還是case by case。
最理想的情況當然是學生有自己感興趣的主題,只要跟我的研究領域相關,我們都可以一起來做,我也很樂意學習我自己還不熟的知識。
如果是我來給題目,通常我會給一些我有興趣的問題,但對於剛入門的學生而言可能會顯得比較困難。不過我只是指出一個方向,不一定要走到終點。這些問題可能很困難,需要先經過許多難關,如果能克服其中幾個難關,就是份量很足夠的研究成果了。如果同學在過程中對機器學習的理論有更多了解,發現自己有興趣的領域想要換個方向,我也都很歡迎。
我目前跟每個學生每週都會進行一次個人的meeting,時間平均大約1小時左右。但meeting的時間其實是彈性的,如果同學覺得每週一次meeting的節奏太緊湊,可以跟我反應,改成兩週一次也可以。或者是維持每週一次,但有時候遇到難關沒有靈感或想法,取消當週meeting也是可以的。
如果是我的研究生,我會希望能夠做出有一定程度創新且重要的結果。不一定要投稿到哪個會議或是期刊被接受,但我們有自信這是一個值得分享的研究成果,可以放到arXiv上。
專題生的部分,我認為只要讓我看到明顯的成長就可以了。這有點主觀,不過我可以舉一個例子:有一位同學來跟我做專題。他之前沒有修過任何理論或是機器學習的課程,所以我先請他看一個機器學習領域很基本的演算法,結果這對他來說已經足夠難了。
所以我們整個學期就專注在這個演算法,而最後他對於這個演算法的原理、證明都很熟悉,關於這個演算法的變形也能很快的講出來。以專題生來說,我認為這就是不錯的成果了。