close

有機會開始學習寫程式吧!

為了協助企管系博碩士班的學弟妹們學習數據分析
週四晚上
我請了一位資工所的教授
與大家分享相關的技術
並協助大家學習如何撰寫程式
(來參加的同學,還包含好幾位4050歲以上的博士後)

本次分享的主題之一
在透過不同「監督式學習」(Supervised learning)的方式
進行「分類」(Classification)上的比較

該教授以美國加州大學歐文分校
機械學習數據庫中的鳶尾花(Iris)資料為例
來進行說明

該資料共有150
每筆資料有5個欄位
包括
花萼(Sepal)與花瓣(Petal)的長度(Length)與寬度(Width)
以及三種類別

Setosa(山尾鳶)Virginica(維吉尼亞鳶尾)Versicolor(變色鳶尾)

以下是資料的範例

#   Sepal.Length  Sepal.Width  Petal.Length  Petal.Width  Species

# 1     5.1            3.5            1.4            0.2         setosa

# 2     4.9            3.0            1.4            0.2         setosa

# 3     4.7            3.2            1.3            0.2         setosa

# 4     4.6            3.1            1.5            0.2         setosa

# 5     5.0            3.6            1.4            0.2         setosa

接著
該教授將相同的資料
透過不同的監督式學習方式
包括決策樹、單層感知器、多層神經網路、線性SVM、非線性SVM…
來進行比較
並得到不同的建模結果

以決策樹為例
決策樹為直角切割
(rectangular partition)
常用的R套件

包括rpart()tree()

1為所產生的決策樹之圖形
2為對資料進行分類後的圖形

決策樹的圖形.png

1為所產生的決策樹之圖形

分類後的圖形.png

2為對資料進行分類後的圖形

從圖1中我們可以發現
決策樹是採垂直或水平方式切割
先從Y軸花瓣長度(Petal Length)來看
2.5公分以下的是Setosa(山鳶尾)
再從X軸花瓣寬度(Petal Width)來看
1.8公分以下的是Versicolor(變色鳶尾)
1.8公分以下的是Virginica(維吉尼亞鳶尾)

以上的分類方式
還是會有誤差
X軸花瓣寬度(Petal Width)1.8公分以下的是Versicolor(變色鳶尾)
但如果再將Y軸花瓣長度(Petal Length)拉到5公分來看
花瓣寬度1.8公分以下
但花瓣長度5公分以上
還是會有Virginica(維吉尼亞鳶尾)的存在(如圖2所示)

對於管理實務上來說
雖然會有以上的誤差
但決策樹已能符合大多數的情境所需

至於其他不同的監督式學習方式
主要的差異在於切割方式不同
對於影像處理來說
這些不同的監督式學習方式
有其必要的價值

最後
無論在學術界或是實務界
跨領域的學習變得越來越重要
有機會
開始學習寫程式吧!

加油!

Peter

arrow
arrow

    Peter 發表在 痞客邦 留言(0) 人氣()