Monday, September 04, 2017

Python Spark ML(二):Machine Learning

Python Spark ML(二):Machine Learning

2017/09/05

本次的作業是「講解」何謂「機器學習」。

請參考 [1],將答案寫在 GiHub。再將答案的網址回應在下方的連結。
https://www.facebook.com/groups/pythontw/permalink/10156845398873438/

建議已經熟悉「機器學習」的學員,可以假裝您正在接受 interview,主考官要您簡單講一下這個主題(不參考任何資料)。

如果對「機器學習」這個主題還不熟悉,建議您搜尋一下相關的文章,整理後寫成您自己的一篇。

-----

這邊我也來交一下作業。不過為了方便講解,我還是先找了幾張圖片,用以輔助。

「機器學習」,大部分的情境,是用電腦對於小規模的資料建立(訓練)模型,用以預測大規模(或者無限?)的資料。由於網路上的資料呈指數成長(?),所以「機器學習」跟「大數據」這兩個主題通常離不開。

常見的機器學習框架,有 Mahout 跟 Spark。Spark 的特點是暫存放在記憶體而不是磁碟,所以效能更佳。

機器學習有個基本的問題是 overfitting。它是因為在訓練時你希望模型正確率很高,但是小規模資料如果正確率太高,則訓練出來的模型因為是針對這群小規模的資料,反而在實際應用上表現不佳。在機器學習的一支,深度學習,用來避免 overfitting 的方法有 dropout、weight decay、early stopping 等。



Fig. 1. Steps to predictive modelling [2].

-----

換個角度講「機器學習」,它可以說是幾類演算法的集合。

有的書上,定義是分類、分群、推薦系統。

圖2a分成三類,監督式學習、非監督式學習、強化學習。強化學習這支目前跟深度學習綁在一起,稱為深度強化學習。

那什麼叫監督式學習,你的訓練資料如果貼標籤,然後測試資料用你訓練好的模型貼標籤,這就是一種監督式學習。比方說,本活動的主題:決策樹(二元分類、多元分類、迴歸分析)。

非監督式學習,分群是一種(沒仔細去想有沒有其他種)。
分群最簡單的演算法是 k-means [4]。



Fig. 2a. Type of machine learning [2].



Fig. 2b. Type of machine learning [3].

-----

結論:

簡單介紹了「機器學習」。同學們,您眼中的「機器學習」,長的如何呢?

-----

學員編號:

000001 章銘恒
000002 陳敬翔
000003 Yu-wei Chen
000004 王韋勝
000005 王得懿
000006 Sheng-Chih Tseng
000007 吳政龍
000008 謝岳霖
000009 Chiung-Po Hsiao
000010 Mirage Chung
000011 曾琦瑋
000012 沈佩璇
000013 Pei Hsuan Hsieh
000014 陳柄宏

-----

References

[1] Mark Chang's Blog
https://ckmarkoh.github.io/

[2] Machine Learning  A Beginner's Guide - UpX Academy
https://upxacademy.com/introduction-machine-learning/  

[3] Machine Learning 1.0 Over Coffee - DZone AI
https://dzone.com/articles/machine-learning-10-over-coffee 

[4] AI從頭學(二二):Azure Machine Learning - Clustering
http://hemingwang.blogspot.tw/2017/04/aiazure-machine-learning-clustering.html 

[5] 有趣的机器学习:最简明入门指南 - 文章 - 伯乐在线
http://blog.jobbole.com/67616/

No comments: