BerkeleyX: Scalable Machine Learning

這門課是之前介紹的 Introduction to Big Data with Apache Spark 的下一門課程。這門課比上一門課還有趣,上一門比較是介紹基礎Spark RDD操作,並透過簡單的Lab實作 (Ex : Web access log分析或者 ALS 影片推薦)。而這門課就更進階去介紹當資料很大時,一些機器學習演算法的設計原則。這次的Lab實作有廣告點擊預測、PCA實作以及視覺化,都還蠻有趣的。
以下稍微介紹課程內容,以及概念:
Week1 :
課程剛開始還是從Big Data開始講解並描述如何透過Spark解決。此外,簡介Machine learning以及如何處理資料的pipeline,以及後面有教一下基礎線代。若對於ML或者資料處理以及線代想要複習的人,可以看一下這次的影片,並且這次的作業就是在複習python的線代操作。
Week2:
這週的影片跟作業其實完全就是在複習 Introduction to Big Data with Apache Spark,作業也於之前課程作業相似,因此若有照著課程上的,可以直接跳過此週,若跳過前面Introduction to Big Data with Apache Spark的,可以將週看完,作為複習Spark。
Week3:
這週主要是介紹及證明Linear regression / Gradient Descent ,並有簡單介紹ride regression。而這週比較重點是有講解設計Distributed ML的概念及原則,例如:當資料量很大時,如何評估演算法的效能、盡可能Minimize Network Communication (像是透過將大檔留在local等)。最後也有使用LR以及GD的步驟去講解如何設計,並在作業中也有實作的Lab,這次主要是使用UCI的Million Song Dataset train一個LR。

Week4:
這週就很實務的介紹廣告上的應用,透過ML來預測click rate,而做基本的就是使用Logistic regression進行是否click,並利用ROC來評判model training的品質,以及遇到categorical資料時的處理手法(Ex: One-hot encdoding)。這次的Lab就是使用Kaggle competition的資料及,來預測廣告CTR。

Week5:
主要在介紹Dimensionality Reduction中的PCA,但這邊介紹的PCA內容比較少,建議可以去看李宏毅老師的Unsupervised Learning- Linear Methods 或者是另外一位夥伴寫的PCA介紹。在這份lab中也蠻有趣的透過實作,並視覺化PCA的結果

這次是BerkeleyX: Scalable Machine Learning 的分享
參考資料:
若對其他Data Science / ML / DL等主題有興趣等,希望一起討論,也可以留言一起討論。感謝您的閱讀~

