課程相關

課名:機器學習概論 Introduction to Machine Learning
科號:CS 460200
老師:郭柏志
課本:教授自編講義
課別:資工系選修D類
學分:3
涼度:★~★★★(滿分五分,空心代表半分)
甜度:★★★(滿分五分,空心代表半分)

建議先修課程

計算機程式設計、python基本語法

課程內容/簡介

前期教學傳統 ML 方法,後期會教到部分深度學習內容。

教學進度如下:

  • L1 Introduction
  • L2 Regression
  • L3 Bayesian Classifier
  • L4 Decision Tree
  • L5 Linear Classifiers
  • L6 Neural Network
  • L7 Deep Learning
  • L8 Convolutional Neural Network
  • L9 Clustering
  • L10 Dimension Reduction

上課方式

學期初為實體無錄影,學期中因為教室出問題改成線上,將近學期末時改回實體有錄影。

全英文上課,上課時老師會講解簡報,通常簡報中的內容都是口頭快速帶過,但其實考試會考而且考很細,所以需要認真聽老師講課,下課有問題就去問。

講義中有複雜的數學公式,老師通常快速帶過但考試通常都會考,看到最複雜的那種不用懷疑,一定考。建議沒聽懂就下課問老師搞懂,老師很有耐心,問了通常就能被教會。

老師的英文卡卡的沒有到說非常順,我覺得老師的教學功力被英文封印一半,下課問老師用中文時就聽得很清楚,上課聽英文的時候真的都聽不太懂。

簡報內容過少,再複習的時候很常會無法 recall 老師的上課內容,會希望簡報可以有更多資訊。

作業

作業評分由 testcase、f1-score、ranking、report組成,f1-score 要超過一定分數才能拿到成績,低一點點該項就會0分。
ranking 的比重很高,我個人會覺得 ranking 可以算是 bonus 的成績,而不是算在作業的100分成績內,或者至少不要佔這麼重的比例。有時侯 ranking 真的是靠運氣,做很多優化不一定就會比沒有優化的好。

作業1、2是傳統 ML 要 train model,可以較快解決,大約3天,內容也算簡單,ranking 我個人覺得是能分出高下的。作業3要寫一個神經網路,作業量是作業1、2的好幾倍,要花上約一個禮拜完成,並且要花非常多時間 train,很多人最後重新 train 一次時間不夠就遲交了。

作業4的內容不難,但 template 像是助教沒有自己執行過,一堆問題,不斷更新,一天1、2更,剛開始的時候連 import module 都會有問題,最基本的 bug 都能存在,我想這是一個很嚴重的失誤,也嚴重的影響到了我期末的行程安排。

總而言之作業有很多缺點,但在寫的過程中很有趣,撇除作業4不談,從0生出一個 model 的過程讓我有很多收穫,也能真正理解 Machine learning 的運作原理。不過作業還是有很多需要打磨的部分,評分、template 等等,希望明年能有所改善。

考試

考試共4次,約2~3個禮拜一次。

用 google 表單考試,時間一個小時,前2次考試時間非常不夠,很常寫不完,考試的過程中就是一直一直在 google,有沒有讀書可能對成績影響不大。後面的考試有稍微改善,但還是很容易有時間不夠的問題。

因為是用 google 表單,沒有計算過程,所以只要答案錯就會全錯,又因為題目不多,常常計算錯就是少10分,考試又佔很重的成績,我的感受是覺得考試有點偏離考試的初衷,也沒有真正測試到學生是否理解,反而是在考驗 google 的能力。

如果有寫考古可以先準備好計算用的程式,考試當下會省更多時間。

我會覺得這樣的考試很沒辦法測驗到學生是否理解上課內容,鑑別度不高。

Final project

一組約6人,幾乎沒有整組是資工系的。
不能自行分組,只能填寫志願,但如果糾幾個人一起填志願分到同組的機率還是不低。起初我覺得這樣的安排不合理,與老師討論過後得知老師的期望是讓大家可以熟悉 team works,並不用每個人都要打 code。

Project 題目老師與助教會準備,如果想要自己提也可以。老師與助教準備的題目多半為助教自己研究過的題目,因此每組都會有一位助教擔任 mentor,我們這組的助教非常認真,但似乎有組別的助教是直接放生。
老師的 Lab 有許多題目著重在醫學相關,所以其中有不少題目牽涉到醫學影像等等,導致題目的難度參差不齊,有些只需要做好物件辨識,但有些組別還需要研究醫學影像,翻找論文如何做 data preprocess。我們這組的題目很難,我一個禮拜花了一半的時間在做 ML,最後成果還是不好,分數也與其他題目相對簡單的組別差不多,所以這部分還是看人品,分配到甚麼題目。

最後有資工系熟悉的互評環節,聽聞有組別上演後宮甄環傳,有組別是助教開放表單讓大家填寫,這部分挺亂,但互評又大量影響到 Project 的最後成績,希望明年能統一由助教開放表單,才不會一直心結大會。

如上所述,我會覺得 Project 的給分吝嗇,而且這不叫 Final Project,我們從10月就開始做直到1月中,這已經是 Semester Project 了。

結論

修起來難以言喻的課,有令人開心的地方,也有令人無法理解的部分,要把這些感覺統整起來比較像是覺得可惜吧,老師跟助教都很用心,但或許是課程剛開設不久,還有許多地方需要打磨,但我是喜歡這堂課的,也推薦學弟妹來修,但要做好修的過程中可能會不太快樂的心理準備。

給分

Exam 4次 30% +
Assignment 4次 40% +
Term Project 30%
= 100%
完成 Nvidia 的作業可以加作業分好像1.2分,期末報告時提問可以加 Term Project 成績。

老師的喜好、個性

老師很帥很溫柔,上課幽默,能感受到老師對教學的熱忱以及用心,非常尊重以及關心學生,是我資工系最喜歡的老師之一。

加簽

好像是全簽。

成績

總成績/班上排名:93(A+) 1/217
T分數:60.27
成績分布:
本課程成績不公開