課程名稱 |
機器學習 Machine Learning |
開課學期 |
105-2 |
授課對象 |
電機資訊學院 電信工程學研究所 |
授課教師 |
李宏毅 |
課號 |
EE5184 |
課程識別碼 |
921 U2620 |
班次 |
|
學分 |
4.0 |
全/半年 |
半年 |
必/選修 |
選修 |
上課時間 |
星期四2,3,4,5(9:10~13:10) |
上課地點 |
明達231 |
備註 |
與林宗男合開 總人數上限:190人 |
Ceiba 課程網頁 |
http://ceiba.ntu.edu.tw/1052EE5184_ |
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
你可能已經修過和計算機程式相關的課程,能夠設計程式讓電腦處理一些簡單的問題,但是你有沒有想過,那些處理非常複雜問題的程式是如何設計出來的呢?例如:Gmail 如何知道一封郵件是否為垃圾郵件?Facebook 如何知道一張相片是否包含人臉? Siri如何聽懂並回答使用者的問題?人類製作出來的Alpha Go為什麼可以比職業棋士還強呢?事實上,這些程式中的演算法並非由人類直接設計,而是由人類寫出讓機器能夠根據資料學習的演算法後,讓機器自動由大量的資料、過去的經驗找出可以處理這些問題的方法,例如:如果我們想讓機器能夠偵測一封郵件是否為垃圾郵件,我們可以讓機器「看過」大量的郵件,並「告知」機器哪些郵件是垃圾郵件、哪些不是,機器便可以利用這些資訊自動去建構出偵測垃圾郵件的模型,當收到新的郵件時,機器便根據所學的模型去偵測它是否為垃圾郵件,而如何設計出讓機器自動學習的演算法就是「機器學習」這個領域在探討的問題。
課程主要內容如下:
http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_map.png
上課方式:
1. 老師以投影片上課,另有助教時間由助教講授作業。
2. 作業:作業共六個,由個人獨立完成。每個作業包含實作和理論兩部分,實作部分需繳交程式碼由助教驗證成果,理論部分需繳交報告並回答指定的問題。
3. 期末專題:二到四人一組,找不到隊友也沒關係,老師可以幫忙配對。老師會準備數個實際的機器學習競賽題目,這些題目都非常具有挑戰性,需要使用多種機器學習技術才能完成,學生可以從中選取一個題目完成。
|
課程目標 |
本課程旨在介紹機器學習使用者都應該知道的基本機器學習理論、方法和工具,希望透過這門課學生對機器學習的技術可以有系統性的認識,並具備實作這些技術的基本能力,以期在未來能將這些技術活用到各自的專業領域中。 |
課程要求 |
先修課程:需要具備基本的程式設計與數學能力。在程式能力方面,修習過計算機程式的學生即具備修習本課程所需的基本程式能力,但如果熟悉 python 的話,作業、專題進行會較順利;在數學能力方面,修習過微積分、機率、統計相關課程即具備修習本課程所需的基本數學能力。理論上,電機系大三以上的學生就有能力修習本課程。
加簽方式:第一次上課會公告作業0,想要加簽的同學請於當天晚上繳交作業0,正確無誤即獲得加簽資格。作業0 非常簡單,只是為了確定有基礎程式能力,和機器學習無關。
|
預期每週課後學習時數 |
|
Office Hours |
|
指定閱讀 |
待補 |
參考書目 |
本課程無指定教科書。參考書目如下:
Introduction to Machine Learning, second edition, Ethem Alpaydin
Pattern Recognition and Machine Learning, Christopher M. Bishop
Learning from Data, Yaser S. Abu-Mostafa , Malik Magdon-Ismail, Hsuan-Tien Lin
|
評量方式 (僅供參考) |
No. |
項目 |
百分比 |
說明 |
1. |
作業 |
60% |
--- 實作部分:
----- 程式碼:程式碼符合指定格式可以順利執行即得滿分,如格式錯誤經助教要求修改後才能執行會被扣分
----- 執行結果:程式碼執行結果達到指定的正確率即得到滿分,未達指定正確率按和指定正確率的差距扣分
----- 課堂內競賽成績:同學上傳程式執行結果到競賽專用平台 Kaggle,可以即時得知成果,並可得知在班級中的排名,根據排名給予分數。課堂內競賽成績優異的同學會被邀請在課堂上發表,會有額外的加分。課堂內競賽視同考試,嚴禁任何作弊行為,例如:在機器學習過程中使用禁止使用的資料,如測試資料(視同考試攜帶小抄)、註冊多重分身參加比賽(視同考試請人代考)
--- 理論部分:
----- 回答指定問題
----- 自由發揮,例如同學可以比較不同的機器學習方法做深入的分析。
|
2. |
期末專題 |
40% |
同作業 |
|
週次 |
日期 |
單元主題 |
第1週 |
2/23 |
Basic Concepts of Machine Learning |
第2週 |
3/02 |
Regression, 公告作業一 |
第3週 |
3/09 |
Classification |
第4週 |
3/16 |
Classification |
第5週 |
3/23 |
Deep Neural Network, 公告作業二, 繳交作業一 |
第6週 |
3/30 |
Convolutional Neural Network |
第7週 |
4/06 |
Unsupervised Learning: Linear Models, 公告作業三, 繳交作業二 |
第8週 |
4/13 |
Unsupervised Learning: Auto-encoder |
第9週 |
4/20 |
Unsupervised Learning: Generative Model (期中考週) |
第10週 |
4/27 |
Semisupervied Learning, 公告作業四 |
第11週 |
5/04 |
Transfer Learning, 公告期末專題, 繳交作業三 |
第12週 |
5/11 |
Beyond Classification: Recurrent Neural Network, 公告作業五, 繳交作業四 |
第13週 |
5/18 |
Beyond Classification: Structured Learning I |
第14週 |
5/25 |
Beyond Classification: Structured Learning II, 公告作業六, 繳交作業五 |
第15週 |
6/01 |
Learning in the Real World: Reinforcement Learning |
第16週 |
6/08 |
Learning Theory, 繳交作業六 |
第17週 |
6/15 |
TBD |
第18週 |
6/22 |
期末競賽成果展示 |
|