• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
90
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

題目:以因子實驗法發掘支援向量機的重要變數 與建構最小成本之診斷模型

Using Factorial Experiments to Discover Important Features of Support Vector Machine and Building

the Minimum Cost Diagnosis Model

系 所 別:資訊管理系

學號姓名:E09410004 杜榮原 指導教授:葉怡成

中華民國 九十六 年 七 月

(2)
(3)
(4)

摘要

本研究旨在以實驗計畫法來解決支援向量機的「變數選擇」問題,以建構精 簡但準確的模型。其基本原理為:將一個輸入變數的選取與否視為一個二水準的 實驗因子;將一個參數視為一個連續的噪音因子;將模型的準確度視為因變數;

利用部分因子實驗設計得到實驗因子與噪音因子的組合;實驗完畢後,進行因子 的效果分析,以決定最佳的實驗因子組合,即最佳的輸入變數組合。並以四個人 為數值例題(分類與迴歸各二題)、四個實際應用例題(分類與迴歸各二題)加以驗 證。研究結果顯示本方法確實可以找到重要的自變數,建構精簡但準確的模型。

此外,本研究將此方法擴充到成本最佳化問題,令因變數改為模型的總成本(自 變數構成的診斷成本與誤診構成的風險成本),並以一心臟病診斷實例及一甲狀 腺機能診斷實例加以驗證。研究結果顯示本方法確實可以找到符合成本效益的自 變數,建構總成本最低的醫學診斷模型。

關鍵字:支援向量機、部分因子實驗法、反應曲面法、中央合成設計法、特徵選

取。

(5)

Abstract

The purpose of this study is to employ design of experiments (DOE) to discover important features to build simple but accurate model for support vector machine (SVM). Its basic principle is to regard selecting or do not selecting a feature as a two-level independent factor; the parameters of SVM as continuous noise factors; the accuracy of the SVM model as the dependent variable; to employ a fractional factorial experiment design to form the experiment which combines the two-level factors and the noise factors; after the experiment is finished, to analyze the effect of each factor to determine the effective independent factor combination, namely the best feature combination for the SVM model. To prove the performance of methodology, four artificial problems (two classification problems and two regression problems) as well as four real problems (two classification problems and two regression problems) were employed to verify the methodology. The results proved that the methodology can discover the important features to build simple but accurate model. Moreover, this study extended the methodology to cost optimization problem, which regarded the dependent variable as the total cost of the model (the diagnosis cost consisted of independent variables plus the risk cost consisted of misdiagnosis cost multiplied by misdiagnosis probability), and employed the heart disease diagnosis and the thyroid disease diagnosis case study to verify it. The results showed that it can really discover the cost-effective independent variables, and build the minimum cost medical

diagnosis model.

Key words: support vector machine, fractional factorial experiments, response surface methodology, central composite design, feature selection.

ii

(6)

誌 謝

首先感謝指導教授葉怡成老師的教導,使學生能夠順利完成學業。老師對學 術之嚴謹與執著令人佩服,研究期間沐於老師之身教、言教之中,令我受益匪淺;

在此謹致最高之敬意與由衷的感謝。

同時也要感謝口試委員交通大學資工系傅心家博士及中華大學資管系系主 任邱登裕博士在百忙之中抽空參加我的論文口試,不但提出相當多中肯的建議並 給予寶貴的意見,讓我的論文更臻完善。

研究生涯中,感謝沛儒、培彥、育仕、進明等同儕好友們在生活與學業上的 協助與關懷,很高興能與你們一起渡過這些時光。在這兼顧工作與課業的學習過 程中,所經歷的每一分感覺與悸動皆難以磨滅,足以作為一輩子的資產。

最後由衷感謝父母親劬勞養育之恩與無怨無悔的付出,家人與至親好友不時 給予我的支持鼓勵與包容,使我能順利完成學位。在此,僅將本論文獻給所有幫 助過我的人以及我的家人。

杜榮原 謹誌

民國 96 年 7 月

(7)

目錄

第一章 前言...1

1.1 研究動機...1

1.2 文獻回顧...2

1.3 研究方法...3

1.4 研究內容...4

第二章 研究方法...6

2.1 支援向量機...6

2.2 實驗設計法簡介...8

2.3 二階段支援向量機的變數選擇與參數的設定...14

第三章 數值例題...21

3.1 前言 ...21

3.2 例題一:交互與二次分類函數 ...21

3.3 例題二:交互與二次迴歸函數 ...22

3.4 例題三:線性與二次分類函數 ...23

3.5 例題四:線性與二次迴歸函數 ...25

3.6 結語 ...26

第四章 實例分析...28

4.1 前言 ...28

4.2 例題五:森林地表覆蓋類型問題...28

4.3 例題六:混凝土強度個案 ...31

4.4 例題七:集集大地震引致山崩個案...33

4.5 例題八:休旅車潛在客戶開發個案...35

4.6 結語 ...38

第五章 最小成本之醫學診斷模型 ...39

5.1 方法 ...39

5.2 例題九:心臟病診斷個案 ...39

5.3 例題十:甲狀腺機能診斷個案 ...45

5.4 結語 ...49

第六章 結論與建議...50

6.1 結論...50

6.2 研究貢獻...51

6.3 建議...52

iv

(8)

參考文獻...53

附錄一:32 回合實驗設計表 ...56

附錄二:各例題的 32 回合實驗設計表數據 ...59

附錄三:各例題的網格法結果 ...69

(9)

圖目錄

圖1-1 線性可分情況下的最優分類面 ...1

圖2-1 基於反應曲面法的品質設計程序 ...13

圖2-2 中央合成設計(K=2)...14

圖2-3 十個自變數二個參數的實驗設計表 ...17

圖2-4 十個自變數二個參數的實驗設計結果 ...18

圖2-5 數值例題一的實驗因子效果直條圖 ...19

圖2-68*8 網格法尋找最佳參數的 3D 圖...20

圖2-78*8 網格法尋找最佳參數的 2D 圖...20

圖3-1 數值例題一的實驗因子效果直條圖 ...22

圖3-2 數值例題二的實驗因子效果直條圖 ...23

圖3-3 數值例題三的實驗因子效果直條圖 ...24

圖3-4 數值例題四的實驗因子效果直條圖 ...26

圖4-1 例題五(森林地表覆蓋類型)的實驗因子效果直條圖...30

圖4-2 例題三(森林地表覆蓋類型)的 BPN 重要性指標直條圖 ...31

圖4-3 例題六(混凝土強度)的實驗因子效果直條圖...32

圖4-4 例題四(混凝土強度)的 BPN 重要性指標直條圖...33

圖4-5 例題七(集集大地震引致山崩)的實驗因子效果直條圖...34

圖4-6 例題七(集集大地震引致山崩)的 BPN 重要性指標直條圖 ...35

圖4-7 例題八(休旅車潛在客戶開發)的實驗因子效果直條圖...37

圖4-8 例題八(休旅車潛在客戶開發)的 BPN 重要性指標直條圖 ...38

圖5-1 誤診成本假設為 30 萬元時的心臟病診斷例題之實驗因子效果...43

圖5-2 誤診成本假設為 100 萬元時的心臟病診斷例題之實驗因子效果...43

圖5-3 誤診成本假設為 300 萬元時的心臟病診斷例題之實驗因子效果...44

圖5-4 誤診成本假設為 1000 元時的甲狀腺機能診斷例題之實驗因子效果...47

圖5-5 誤診成本假設為 3000 元時的甲狀腺機能診斷例題之實驗因子效果...47

圖5-6 誤診成本假設為 10000 元時的甲狀腺機能診斷例題之實驗因子效果...47

附錄三………..69

圖 1 例題一之網格法結果 2D 圖...69

圖 2 例題二之網格法結果 2D 圖...70

圖 3 例題三之網格法結果 2D 圖...71

圖 4 例題四之網格法結果 2D 圖...72

圖 5 例題五之網格法結果 2D 圖...73

圖 6 例題六之網格法結果 2D 圖...74

圖 7 例題七之網格法結果 2D 圖...75

圖 8 例題八之網格法結果 2D 圖...76

圖 9 例題九之網格法結果 2D 圖...77

vi

(10)

圖 10 例題十之網格法結果 2D 圖...78

(11)

表目錄

表2-1 8*8 網格法尋找最佳參數設定 ...19

表3-1 使用重要變數與使用全部變數下的誤差之比較...27

表4-1 森林地表覆蓋類型實例的自變數 ...29

表4-2 各覆蓋類型的資料數目 ...29

表4-3 混凝土強度個案例題的自變數 ...31

表4-4 集集大地震引致山崩個案輸入變數表 ...34

表4-5 休旅車潛在顧客開發之輸入變數 ...36

表4-6 使用重要變數與使用全部變數下的誤差之比較 ...38

表5-1 心臟病診斷例題之自變數 ...40

表5-2 心臟病診斷例題編碼後之變數 ...41

表5-3 心臟病診斷三種誤診成本下的結果 ...42

表5-4 心臟病診斷誤診成本之影響分析 ...44

表5-5 甲狀腺機能診斷使用之自變數 ...45

表5-6 甲狀腺機能診斷三種誤診成本下的結果 ...46

表5-7 甲狀腺機能診斷誤診成本之影響分析 ...48

表6-1 各例題使用重要變數與使用全部變數下的準確度之比較...50

附錄一………..56

表 1 七個變數實驗設計表...56

表 2 八個變數實驗設計表...56

表 3 九~十個變數實驗設計表 ...57

表 4 十一~三十一個變數實驗設計表(0 即代表 -1)...58

附錄二………...59

表 1 交互與二次分類函數的 32 回合實驗設計表數據...59

表 2 交互與二次迴歸函數的 32 回合實驗設計表數據...60

表 3 線性與二次分類函數的 32 回合實驗設計表數據...61

表 4 線性與二次迴歸函數的 32 回合實驗設計表數據...62

表 5 森林地表覆蓋類型問題的 32 回合實驗設計表數據...63

表 6 混凝土強度個案的 32 回合實驗設計表數據...64

表 7 集集大地震引致山崩個案的 32 回合實驗設計表數據 ...65

表 8 休旅車潛在客戶開發個案的 32 回合實驗設計表數據 ...66

表 9 心臟病診斷個案的 32 回合實驗設計表數據...67

表 10 甲狀腺機能診斷個案的 32 回合實驗設計表數據...68

附錄三………..………69

表 1例題一之網格法結果...69

表 2例題二之網格法結果...70

表 3例題三之網格法結果...71

viii

(12)

表 4例題四之網格法結果...72

表 5例題五之網格法結果...73

表 6例題六之網格法結果...74

表 7例題七之網格法結果...75

表 8例題八之網格法結果...76

表 9例題九之網格法結果...77

表 10 例題十之網格法結果...78

(13)

第一章 前言

1.1 研究動機

支援向量機(Support Vector Machine) ,又譯為支撐向量機,或支持向量機,

是 Vapnik 等人根據統計學理論提出的一種新的通用學習方法,它是建立在統計 學理論的 VC 維(Vapnik Chervonenks Dimension)理論和結構風險最小原理 (Structural Risk Minimization Inductive Principle)的基礎上[1-4]。支援向量機是從 線性可分情況下的最優分類面發展而來的,其基本思想可用圖 1-1 的二維情況說 明。圖中黑點和白點代表兩類樣本,H 為分類超平面,H

1

、H

2

分別為過各類中 距離分類超平面最近的樣本且平行於分類超平面的平面,它們之間的距離叫做分 類間隔(margin)。所謂最優分類面就是要求分類面不但能將兩類正確分開(訓 練錯誤率為 0),而且使分類間隔最大,從而提高分類預測能力[5-8]。距離最優 分類超平面最近的向量稱為支援向量。

(a)較差的分類超平面(分類間隔較小)

(b)較佳的分類超平面(分類間隔較大) 圖 1- 1 線性可分情況下的最優分類面

H

2

支援向量

H

分類間隔

H

1

支援向量

H

1

H H

2

支援向量 分類間隔 支援向量

(14)

雖然支援向量機能較好地解決小樣本、高維次、非線性和局部極小點等實際 問題,已成為機器學習界的研究熱點之一,並成功的應用於分類、函數逼近和時 間序列預測等方面[9,10],但它仍有兩個課題有待解決:

(1) 參數的設定:支援向量機的參數如懲罰係數、核心係數的設定對模型的準確 度有重大影響[11-13],不適當的參數設定值無法產生具預測能力的模型。

(2) 變數的選擇:選取建構模型所需要的最少輸入變數,以建立一個精簡但準確 的模型。

本研究旨在以實驗計畫法來解決支援向量機的「變數的選擇」問題,令因變 數為模型的準確度,以建構精簡但準確的模型。此外,亦將此方法擴充到成本最 佳化問題,即令因變數為模型的總成本(自變數構成的診斷成本與誤診構成的風 險成本),建構總成本最低的醫學診斷模型。

1.2 文獻回顧

上述支援向量機提到仍有兩個課題有待解決:(1) 參數的設定;(2) 變數的 選擇,其相關論點也在過去研究文獻中提及並討論。

參數的設定在文獻中已有不少研究[12,13]。最簡單的方法當然是地毯式搜尋 的網格法,把參數如懲罰係數、核心係數各取一、二十個水準,再以直交方式組 合成數百個網格點,嘗試這些參數組合即可得到最佳參數設定,但此法十分費時 [11]。

有學者利用實驗計畫法(design of experiments)來幫助更有效率地選擇參數 設定值,讓使用者可以容易並快速地建構預測能力佳的模型,此法雖較網格法節 省時間,但此法並未考慮前述的變數選擇問題[12],因此如果要同時考慮變數選 擇問題,則仍十分費時。

上述這兩個課題中,變數的選擇猶為重要,但在文獻中還很少有人探討

[14,15]。一個必須選取建構模型所需的最少輸入變數的原因是,在某些領域,如

醫學診斷,輸入變數值的取得需要時間與成本,如果能建立精簡但準確的模型可

以提高應用時的時間效率與成本效益[16-18]。例如在心臟病診斷上,在相同的預

測能力下,一個只需五個輸入變數的模型比需二十個者可以用更短的時間、更低

的花費就可判斷病情,即時挽救更多的患者。

(15)

雖然地毯式搜尋可以找出最精簡、準確的模型,但它有組合爆炸的問題,實 際上並不可行。使用逐步迴歸的觀念來建構最精簡、準確的 SVM 模型可能可以 達成取建構模型所需的最少輸入變數的目的,但因為不同的變數組合其參數的適 當設定值可能不同,故在逐步迴歸的過程中還需考慮到不同變數組合下的參數設 定,因此仍然相當費時;但若在逐步迴歸的過程中不考慮參數設定最佳化,則會 影響到輸入變數的選取,所得到的模型可能不是最精簡、準確的模型。

另一個可行的方法是定量衡量每個輸入變數的重要程度,即可做為建構模型 時取捨輸入變數的依據,以建立精簡但準確的模型[16-18]。此法必需先發展出可 以判斷各輸入變數的顯著性的方法,但 SVM 不像邏輯迴歸可以使用 t 檢定分析 各輸入變數的顯著性,故必須另外設計合適的指標。雖然有學者提出一些估計 SVM 模型的各輸入變數的貢獻度的方法,例如以 F-score 公式計算屬性之重要性 [14],但此法並不是很可靠。

1.3 研究方法

實驗計畫法中有兩個方法可以分別處理離散與連續的實驗因子[19]:

(1) 部分因子實驗法:可以處理離散實驗因子。大多數實際應用中,顯著的因子 與因子交互作用並不多,特別是高階的因子交互作用經常是不顯著的,因此 可以在實驗規劃時暫時排除高階的因子交互作用顯著的可能性,其基本方法 就是讓某些因子之水準由其它因子之交互作用之正負號決定,以減少實驗數 目。實驗完畢後,進行因子的效果分析,以決定最佳的因子組合。

(2) 反應曲面法(response surface methodology,RSM) :可以處理連續實驗因子,

其基本方法利用中央合成設計(central composite design,CCD)[19]等設計 取得實驗因子的組合,以減少實驗數目。實驗完畢後,進行因子的迴歸分析,

建立迴歸模型,再決定最佳的因子組合。

本研究旨在以實驗計畫法來解決支援向量機的「變數選擇」問題,以建構精 簡但準確的模型。其基本原理為:

z 將一個輸入變數的選取與否視為一個二水準的實驗因子;

z 將一個參數視為一個連續的噪音因子;

z 將模型的準確度視為因變數;

z 利用部分因子實驗設計得到實驗因子與噪音因子的組合;

(16)

z 實驗完畢後,進行因子的效果分析,以決定最佳的實驗因子組合,即最佳的 輸入變數組合。

1.4 研究內容

本文第二節介紹支援向量機、部分因子實驗法、反應曲面法,並介紹本文提 出的解決支援向量機的「變數選擇」問題的實驗設計法。第三節以兩個分類數值 例題與兩個迴歸數值例題驗證本演算法。第四節以森林地表覆蓋分類實際例題、

混凝土強度迴歸實際例題、集集大地震引致山崩個案分類實際例題、休旅車潛在 客戶開發個案迴歸實際例題驗證本演算法。第五節將此方法擴充到成本最佳化問 題,令因變數改為模型的總成本(自變數構成的診斷成本與誤診構成的風險成 本),並以心臟病診斷實例與甲狀腺機能診斷實例加以驗證。第六節為節論。

本研究與其它文獻不同之處與創新的貢獻簡述如下:

1. 使用以實驗計畫法來解決支援向量機的「變數選擇」問題

因為SVM是建立在分類間隔最大化的基礎上,雖然相對於BPN而言,具有普 遍化預測能力佳的優點,但它無法和BPN一樣,利用微分方法去分析模型的內在 結構,以估計輸出變數(分類)對輸入變數的重要性,故難以選取建構模型所需的 最少輸入變數,以建立精簡但準確的模型。本研究以實驗計畫法來解決支援向量 機的「變數選擇」問題,它不需分析SVM模型的內在結構,因此不需修改現有 的SVM演算法,即可估計輸出變數(分類)對輸入變數的重要性。本研究也以八個 例題證明,利用本法來選取輸入變數確實可以建構精簡但準確,甚至比使用全部 輸入變數更準確的模型。

2. 可以同時解決支援向量機的「參數設定」問題

支援向量機的參數如懲罰係數、核心係數的設定對模型的準確度有重大影 響,雖然有學者利用利用實驗計畫法來幫助更有效率地選擇參數設定值,但此法 並未考慮前述的變數選擇問題,而這兩個問題是互制的,無法單獨分開處理。本 研究將一個輸入變數的選取與否視為一個二水準的實驗因子;將一個參數視為一 個連續的噪音因子;將模型的準確度視為因變數;利用部分因子實驗設計得到實 驗因子與噪音因子的組合。此種實驗設計同時考慮了「變數選擇」與「參數設定」

的影響,解決了兩者互制的難題。

3. 可以用來建構最小成本分類模型

(17)

傳統的「變數選擇」問題旨在選取最少的輸入變數,以建構精簡但準確的分

類模型,完全不考慮輸入變數成本的高低。這對某些領域,如醫學診斷,而言是

不合理的。本研究的方法可以擴充到成本最佳化問題,令實驗計畫法的因變數改

為模型的總成本(輸入變數構成的診斷成本加上誤診構成的風險成本),並以一心

臟病診斷實例及一甲狀腺機能診斷實例加以驗證。研究結果顯示本方法確實可以

找到符合成本效益的輸入變數,建構總成本最低的醫學診斷模型。

(18)

第二章 研究方法

2.1 支援向量機

一、 模型架構

支援向量機(Support Vector Machine) ,又譯為支撐向量機,或支持向量機,

是 Vapnik 等人根據統計學理論提出的一種新的通用學習方法,它是建立在統計 學理論的 VC 維(Vapnik Chervonenks Dimension)理論和結構風險最小原理 (Structural Risk Minimization Inductive Principle)的基礎上[1-4],能較好地解決小 樣本、高維次、非線性和局部極小點等實際問題,已成為機器學習界的研究熱點 之一,並成功的應用於分類、函數逼近和時間序列預測等方面。

支援向量機是從線性可分情況下的最優分類面發展而來的,其基本思想可用 圖 1-1 的二維情況說明。圖中黑點和白點代表兩類樣本,H 為分類超平面,H

1

、 H

2

分別為過各類中距離分類超平面最近的樣本且平行於分類超平面的平面,它 們之間的距離叫做分類間隔(margin)。所謂最優分類面就是要求分類面不但能 將兩類正確分開(訓練錯誤率為 0),而且使分類間隔最大,從而提高分類預測 能力。距離最優分類超平面最近的向量稱為支持向量。

二、 模型建立

設樣本為 n 維向量,某區域的 k 個樣本及其所屬類別表示為

(x

1

,y

1

),…,(x

k

,y

k

) (2-1) 其中 x

i

n 維向量,y

i

={±1}為二元分類變數。

設超平面 H 表示為

w·x+b=0 (2-2)

「兩類正確分開」的要求

依據最優分類面必須使「兩類正確分開」的要求,對所有樣本 x

i

滿足下列不等式:

w·x

i

+b≥1 若 y

i

=1 (2-3a)

w·x

i

+b≤-1 若 y

i

=-1 (2-3b)

(19)

可將上述不等式合併為單一不等式:

y

i

·(w·x

i

+b)≥1 i=1,2,…,k. (2-4)

「分類間隔最大」的要求

依據「分類間隔」的定義: 「H 為分類超平面,H

1

、H

2

分別為過各類中距離 分類超平面最近的樣本且平行於分類超平面的平面,H

1

、H

2

之間的距離稱為分 類間隔。」故分類間隔可表示為:

) , , ( )

, , ( )

,

( Min Min

} 1 : { }

1 :

{ j

y x i y

x

x b w d x

b w d b

w p

j j i

i = =−

+

= (2-5)

因為點 x 到超平面 H 的距離為:

w b x x w

b w

d ⋅ +

= ) , ,

( (2-6)

代入(2-5)得

w b x w w

b x b w

w

p

j

y x i

y

xi i j j

+ + ⋅

+

= ⋅

=

=

Min

Min

{ : 1} { : 1}

) ,

( (2-7)

由(2-3)式知,最優分類面必須使「兩類正確分開」,得 w·x

i

+b≥1 若 y

i

=1

w·x

i

+b≤-1 若 y

i

=-1

w w

b x w

i

y xi i

Min 1

} 1 : {

+ =

=

(2-8a)

w w

b x w

j

y xj j

Min 1

} 1 : {

+ =

=

(2-8b)

代入(2-7)得

w w b w

w

p 1 1 2

) ,

( = + = (2-9)

(20)

限制最佳化問題

依據最優分類面必須使「分類間隔最大」的要求,就是使上式最大化,相當 於將其倒數最小化。此外最優分類面必須使「兩類正確分開」的要求,因此必須 滿足式(2-3)的條件。綜合以上二個要求,構造最優分類超平面的問題可轉化為以 下的限制最佳化問題:

b w w b p

w

Min 2

1 ) , ( ) 1 ,

( = =

Φ (2-10) subjected to y

i

·(w·x

i

+b)≥1 i=1,2,…k. (2-11)

但是考慮到可能存在一些樣本不能被超平面正確分類,即(2-11)式無法被滿 足,因此引入鬆馳變數 ξ

i

,將(2-11)修改成

y

i

·(w·x

i

+b)≥1-ξ

i

, i=1,2,…,k. (2-12)

顯然,當樣本分類出現錯誤時,ξ

i

大於零;分類沒有錯誤時,ξ

i

等於零。故 ξ

i

≥0, i=1,2,…,k (2-13)

最優分類超平面為了盡可能減少不能被超平面正確分類的樣本數,應使鬆馳 變數最小化,因此將鬆馳變數的和視為「懲罰項」 ,加入目標函數。綜合以上考 慮,構造最優分類超平面的問題可轉化為以下的限制最佳化問題:

=

+

=

Φ

k

i

C

i

w b

w Min

2

1

) 1 ,

( ξ (2-14) Subjected to y

i

·(w·x

i

+b)≥1-ξ

i

, i=1,2,…,k. (2-15)

在(2-14)式中,C 為懲罰係數,C≥0,C 越大,對分類的誤差的懲罰越重。目 標函數(2-14)的第一項是使樣本到超平面的距離儘量大,從而提高分類預測能 力;第二項以及限制條件(2-15)是使超平面分類的誤差儘量小。

最優分類超平面的係數可由求解(2-14)與(2-15)所構成的限制最佳化問題得 到,但其原理較複雜,在此不討論。

2.2 實驗設計法簡介

一、 部分因子實驗法(Fractional Factorial Experiments)

(21)

部份因子設計原由

全因子設計的優點是可以全面了解所有高階交互作用對反應變數是否有影 響力,但全因子設計存在一個重大的缺點,即實驗數目為 2

k

(k=因子數),因此會 隨因子數目的增加而暴增。例如 10 個因子的問題需 1024 個實驗,這對大部份的 應用而言都是無法接受的。

所幸大多數實際應用中,顯著的因子與因子交互作用並不多,特別是高階的 因子交互作用經常是不顯著的,因此可以在實驗規劃時暫時排除高階的因子交互 作用顯著的可能性,以減少實驗數目。例如對一個 10 個因子問題而言,如果不 考慮任何交互作用,則只要作 16 次實驗就夠了;如果要考慮所有二因子交互作 用,也只要作 128 次實驗就夠了,大大地節約了實驗成本與時間。這種設計稱部 份因子設計。但部份因子設計也有其代價,即會出現交絡現象,降低了解析度。

例如對一個 10 個因子問題而言,只作 16 次實驗只能分辨因子效果(又稱主效 果);如果只作 32 次實驗只能分辨主效果與二因子交互作用效果;要作 128 次實 驗才能分辨所有二因子交互作用效果。

部份因子設計的基本方法就是讓某些因子之水準由其它因子之交互作用之 正負號決定。例如三因子的全因子實驗有八個 ( 2

3

= 8 ) 實驗,但如果不考慮任何 交互作用,則只要作 4 次實驗就夠了,即先建立只含 A,B 因子的全因子設計,

令 C 因子的符號由 AB 之符號來決定,這就是一個部份因子設計。這個實驗設計 比起全因子設計法節省一半的實驗次數,但它無法分辨交互作用 AB 效果與因子 C 效果,因此解析度較差,此即節省實驗次數所付的代價。部份因子設計的要點 即在耗費特定的實驗次數下,將解析度最大化;或換個角度來看,在獲得特定的 解析度下,將實驗次數最小化。

實驗完畢後,進行因子的效果分析,因子的效果為因子在+1 水準下之平均 值與在-1 水準下之平均值之差額,以 A 因子的效果為例:

+

= y

A

y

A

A

(

2-

16)

水準下之反應平均值。

因子在 水準下之反應平均值;

因子在

其中 y

A+

= A + 1 y

A

= A − 1

部份因子設計乃基於三大基本原理:

(1) 效果稀少原理:通常只有主效果與低階交互作用的效果較顯著。

(2) 投射增強原理:初步分析後,如果發現有效果不顯著的因子,排除這些因子,

重新分析,可以提高設計解析度。(因子數減少,實驗數不變)

(22)

(3) 連續實驗原理:初步分析後,如果發現無法獲得足夠的解析度,增加新的實 驗,重新分析,可以提高設計解析度。(因子數不變,實驗數增加)

實驗設計方法

接下來以三因子的部分因子實驗為例,部份因子設計的基本方法就是讓某些 因子之水準由其它因子之交互作用之正負號決定。例如三因子的全因子實驗為:

A B C 1 -1 -1 -1 2 +1 -1 -1 3 -1 +1 -1 4 +1 +1 -1 5 -1 -1 +1 6 +1 -1 +1 7 -1 +1 +1 8 +1 +1 +1

如果不考慮任何交互作用,則只要作 4 次實驗就夠了,即先建立只含 A,B 因子的全因子設計,令 C 因子的符號由 AB 之符號來決定:

A B C 1 -1 -1 +1 2 +1 -1 -1 3 -1 +1 -1 4 +1 +1 +1

這就是一個部份因子設計。這個實驗設計比起全因子設計法節省一半的實驗 次數,但它無法分辨交互作用 AB 效果與因子 C 效果,因此解析度較差,此即節 省實驗次數所付的代價。部份因子設計的要點即在耗費特定的實驗次數下,將解 析度最大化;或換個角度來看,在獲得特定的解析度下,將實驗次數最小化。

只作全因子設計半數實驗的設計稱為 1/2 部份因子設計。其因子設計的步驟 如下:

(1)建構 2

k-1

全因子設計(k=因子數)。

(23)

(2)第 k 個因子之正負號由前 k-1 個因子之最高階交互作用 ABC...(K-1)之正負號 決定。

以三因子設計為例,令 C=AB,其因子設計表如下:

A B C 平均反應 1 -1 -1 +1 c

2 +1 -1 -1 a 3 -1 +1 -1 b 4 +1 +1 +1 abc 其中

a 代表 A= 1,B=-1,C=-1 水準下之平均反應。

b 代表 A=-1,B= 1,C=-1 水準下之平均反應。

c 代表 A=-1,B=-1,C= 1 水準下之平均反應。

abc 代表 A= 1,B= 1,C= 1 水準下之平均反應。

效果分析與變異分析

以三因子設計為例,令 C=AB,其主效果與二因子交互作用如下:

A 的效果= y

A+

y

A

= (a + abc)/2 - (b + c)/2 = (a - b - c + abc)/2 (2-17) B 的效果= y

B+

y

B

= (b + abc)/2 - (a + c)/2 = (-a + b - c + abc)/2 (2-18) C 的效果= y

C+

y

C

= (c + abc)/2 - (a + b)/2 = (-a - b + c + abc)/2 (2-19) BC 的效果= y

(BC)+

y

(BC)

= (a + abc)/2 - (b + c)/2 = (a - b - c + abc)/2 (2-20) AC 的效果= y

(AC)+

y

(AC)

= (b + abc)/2 - (a + c)/2 = (-a + b - c + abc)/2 (2-21) AB 的效果= y

(AB)+

y

(AB)

= (c + abc)/2 - (a + b)/2 = (-a - b + c + abc)/2 (2-22) 可發現 A,B,C 主效果與 BC,AC,AB 二因子交互作用效果之估計公式完全 一樣。

當二個效果間具有相同的估計公式時,稱二者互為「別名」(alias) ,故上述 例子中

A 與 BC 互為別名;

B 與 AC 互為別名;

C 與 AB 互為別名。

事實上,上述 A,B,C 主效果(或 BC,AC,AB 二因子交互作用效果)之估

(24)

計公式實際上分別為 A 與 BC,B 與 AC,C 與 AB 效果之總和估計。

因子變異與因子交互作用變異可用效果求得:

因子變異=實驗總數×(因子效果/2)

2

(2-23) 交互作用變異=實驗總數×(交互作用效果/2)

2

(2-24) 其中

實驗總數=所有實驗的總數,以三因子二水準 1/2 部份因子設計為例,共有(1/2)×2

3

=4 回合。

別名結構

設計產生器(design generator)是指決定部份因子設計中非獨立的實驗因子之 實驗水準的公式。設計產生器即因子設計的步驟: 「第 k 個因子之正負號由前 k-1 個因子之最高階交互作用 ABC...(K-1)之正負號決定。」中決定第 k 個因子之正 負號的公式(交互作用)。以三因子設計為例,可定義「設計產生器」C=AB,因 此當 A=-1,B=-1 時,C=AB=(-1)(-1)=1。

定義關係(defining relation)I 是指部份因子設計中,實驗水準恆為 1 的交互作 用。將設計產生器等號左式之因子加入等號右式之交互作用所組成的交互作用即 為「定義關係」 。以三因子設計為例,因為「設計產生器」C=AB,因此「定義關 係」I= (AB)C= ABC,I 具有必為+1 的特性,因為 I=ABC=(AB)C=(C)C=C

2

=+1。

要探討某一效果的別名為何,只要以「定義關係」乘以該因子(或交互作用) 即可得到。例如以三因子設計為例,要求得因子 A 之別名

A=IA=(ABC)A=A

2

BC

因 A 不是-1 便是+1,故 A

2

=1,因此由上式得 A=(1)BC=BC

同理 B

2

=1,C

2

=1,可證得

B=IB=(ABC)B=AB

2

C=A(1)C=AC C=IC=(ABC)C=ABC

2

=AB(1)=AB BC=IBC=(ABC)BC=AB

2

C

2

=A(1)(1)=A AC=IAC=(ABC)AC=A

2

BC

2

=(1)B(1)=B AB=IAB=(ABC)AB=A

2

B

2

C=(1)(1)C=C 此一結論與(2-17)式至(2-22)式所得者相同。

令 C=AB,此一部份因子設計稱為「主部份」(principal fraction)。反之,如

(25)

果令 C=-AB,此一部份因子設計稱為「補部份」(complementary fraction)。在「補 部份」設計產生器 C=-AB,定義關係 I=-ABC 仍具有必為+1 的特性,因為 I=-ABC=(-AB)C=(C)C=C

2

= +1

二、 反應曲面法(response surface methodology,RSM)

反應曲面法 (Response Surface Methodology,RSM) 是一套用以發展、改善、

優化製程的統計與數學技術。反應曲面法的重要概念包括:

z 反應 (response) y:因變數,即品質特性。

z 獨立變數 (independent variable) x

1

x

2

... :自變數,即品質因子。

z 反應曲面 (response surface):以獨立變數為變數,以反應為函數值所構成之 曲面,用以表達反應(即品質特性)與獨立變數(即品質因子)間的關係。

基於反應曲面法的品質設計程序如下(圖 2-1):

(1) 實驗設計:由於實驗是有成本的,必需以最少量的實驗,獲得最大量有用之 品質特性資訊,因此產生實驗設計問題。有系統地選擇獨立變數組合,進行 實驗,記錄反應值,以收集建立系統模型所需的數據之程序稱為實驗設計。

(2) 模型建構:透過實驗只能獲得特定獨立變數組合下的反應,必需建立獨立變 數與反應間的函數關係(反應曲面),因此產生模型建構問題。利用實驗數據 建立獨立變數與反應間的函數關係之程序稱為模型建構。模型建構常應用統 計學中的迴歸分析技術。

(3) 參數優化:由於品質設計問題常有一定的目標需要優化,或者有一定的規格 需要滿足,因此產生參數優化問題。尋找一個能滿足各種品質特性(反應)的 限制,並優化某些品質特性(反應)的目標之品質因子(獨立變數)水準之方案之 程序稱為參數優化。要達成參數優化可利用在模型建構程序中得到的獨立變 數與反應間的函數關係(反應曲面),以及應用數學中的最佳化技術。

實驗設計

獨立變數 x 組合下 反應 y 之實驗數據

x →實驗→ y

模型建構

獨立變數 x 與反應

y 間之函數關係 x,y →建模→ y=f(x)

參數優化

滿足反應限制並優 化反應目標之獨立 變數 y

→反推→ x

圖 2- 1 基於反應曲面法的品質設計程序

(26)

反應曲面法具有連續性的本質,即實驗設計、模型建構與參數優化等三個程 序是一個連續、循環與持續的過程。上述的步驟二「實驗設計」常使用中央合成 設計法,它由下列三種實驗構成:

(1) 角點實驗:因為二階模型含二因子交互作用,因此須採解析度 V 以上之因子 設計實驗。

(2) 軸點實驗:因為二階模型含二次曲率作用,因此在軸線上距中心點α處(二端) 進行實驗。又為了使實驗設計具有可旋性,須令

α=

4

F (2-25) 其中 F 為角點實驗之因子設計實驗數。

(3) 中心點實驗:因為要使中心點之預測變異合理化,因此要有重複實驗的中心 點實驗。一般而言,重複實驗次數取 3 至 5。

以 2 因子為例,其中央合成設計的實驗點分佈如圖 2-2。

圖 2- 2 中央合成設計(k=2)

2.3 二階段支援向量機的變數選擇與參數的設定 本文提出支援向量機的變數選擇實驗設計法原理如下:

z 將一個輸入變數的選取與否視為一個二水準的實驗因子;

z 將一個參數視為一個連續的噪音因子;

z 將模型的準確度視為因變數;

z 利用部分因子實驗設計得到實驗因子與噪音因子的組合;

z 實驗完畢後,進行因子的效果分析,以決定最佳的實驗因子組合,即最佳的 輸入變數組合。

如果一個自變數是重要的,則當它被排除在輸入變數之列時,其準確度(因

-2 -1 0 1 2

-2 -1 0 1 2

(27)

變數)較低;當它被加入在輸入變數之列時,其準確度(因變數)較高。雖然自變數 可能有交互作用,即某一個變數要與另一個變數一同出現時才能對因變數有影 響,則當只有其中之一個自變數被加入在輸入變數之列時,其準確度(因變數)並 不會較高,但其中之一個自變數被加入在輸入變數是這兩個自變數都被加入在輸 入變數的必要條件,因此當它被加入在輸入變數之列時,其準確度(因變數)仍有 可能較高。因此解析度三的二水準因子實驗就足夠找出重要的輸入變數。n 個回 合的解析度三的二水準因子實驗可以容納 n-1 個因子,因此 32 個回合的解析度 三的二水準因子實驗可以容納 31 個因子。實驗完畢後,進行因子的效果分析,

以決定最佳的實驗因子組合,即最佳的輸入變數組合,不同因子數目的 32 回合 實驗計畫表見附錄一。

但因為懲罰係數、核心係數對 SVM 模型的準確度(因變數)的影響甚大,因 此將一個參數視為一個連續的噪音因子,採用中央合成設計,並與上述解析度三 的二水準因子實驗直交,得如圖 2-3 的直交表。因為這二個係數經常使用對數尺 度,例如懲罰係數=0.001, 0.1, 1, 10, 100, 1000, 10000, 10000;核心係數=0.0001, 0.001, 0.01, 0.1, 1,10, 100, 1000。為了使這二個係數能有相同的值域,在此取

10

1

log

7

= 4

z (懲罰係數)- 7

2 (2-26)

10

2

log

7

= 4

z (核心係數)+

7

2 (2-27)

如此一來 z

1

z

2

的值域均在-2 至+2 之間。其反函數如下:

懲罰係數=

7)

( 2 4 7

10

z1+

(2-28)

核心係數=

7)

( 2 4 7

10

z2

(2-29)

以圖 2-3 為例,假設有十個自變數,懲罰係數、核心係數等兩個參數,則其 實驗設計過程如下:

(1) 需要十個代表選取一自變數與否的二水準(-1,+1)的實驗因子 A, B, C, D, E, F, G, H, J, K。

(2) 因有十個實驗因子,16 個回合的因子實驗就可達到解析度三,但在此使用 32 個回合的因子實驗,以獲得解析度四的結果。

(3) 令前五個實驗因子 A, B, C, D, E 為獨立的實驗因子,F=ABCD, G=ABCE,

(28)

H=ABDE, J=ACDE, K=BCDE。

(4) 兩個參數需要兩個噪音因子 z

1

z

2

(值域均在-2 至+2 之間),採用中央合成設 計,即( z

1

, z

2

}=(-1,-1), (-1,1), (1,-1), (1,1), (-2,0), (2,0), (0,-2), (0,2), (0,0)等九種 組合。當 z

1

=-2, -1, 0, 1, 2 時,依公式計算得懲罰係數為 0.001, 0.06, 3, 178, 10000,但為了方便起見取 0.001, 0.1, 3, 100, 10000。同理,當 z

2

=-2, -1, 0, 1, 2 時,依公式計算得懲罰係數為 0.0001, 0.006, 0.3, 17.8, 1000,但為了方便起見 取 0.0001, 0.01, 0.3, 10, 1000。

(5) 將實驗因子 A, B, C, …, K 的 32 個回合因子實驗 與噪音因子的 9 個回合中央 合成設計直交,得 32 × 9 = 288 個實驗。

(6) 建構 32 × 9 = 288 個模型,建構完畢後將模型的準確度填入表中。

(7) 計算每列的最佳值Y 。使用最佳值而不用平均值的原因是,C、g 並非真正不 可控制的因子,因此在嘗試九種組合後,可選用能產生最準確 SVM 模型的 參數來建立 SVM 模型,並以此模型評估特定實驗因子組合的模型之準確度。

(8) 利用Y 計算各實驗因子的效果。

(9) 取出效果為正的實驗因子,將其對應的自變數列入輸入變數。

(10) 用上述輸入變數以網格法嘗試不同參數建模,產生最佳模型。

以本文第 3.2 節「例題一:交互與二次分類函數」之人為數值例題為例,利 用圖 2-3 的實驗設計表決定每回合的實驗因子,再利用部分因子實驗法做 10 因 子 32 回合的實驗,並以懲罰係數、核心係數等兩個參數為噪音因子,經過 SVM 程式的演算,建構出 32 × 9 = 288 個模型,建構完畢後將模型的準確度填入圖 2-3 實驗表中,得圖 2-4。

計算每列準確度的平均值Y 後,利用Y 計算各實驗因子的效果,並可得到

10 因子的重要性直條圖,如圖 2-5。由直條圖可知不同因子的重要性,由此例題

可知,實驗因子 A, D, E, H, K 的效果為正,代表 A, D, E, H, K 為此題重要變數。

(29)

C -2 2 0 0 0 -1 -1 1 1 g 0 0 -2 2 0 -1 1 -1 1 A B C D E F G H J K Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9

Y

1 -1 -1 -1 -1 -1 1 1 1 1 1 2 1 -1 -1 -1 -1 -1 -1 -1 -1 1 3 -1 1 -1 -1 -1 -1 -1 -1 1 -1 4 1 1 -1 -1 -1 1 1 1 -1 -1 5 -1 -1 1 -1 -1 -1 -1 1 -1 -1 6 1 -1 1 -1 -1 1 1 -1 1 -1 7 -1 1 1 -1 -1 1 1 -1 -1 1 8 1 1 1 -1 -1 -1 -1 1 1 1 9 -1 -1 -1 1 -1 -1 1 -1 -1 -1 10 1 -1 -1 1 -1 1 -1 1 1 -1 11 -1 1 -1 1 -1 1 -1 1 -1 1 12 1 1 -1 1 -1 -1 1 -1 1 1 13 -1 -1 1 1 -1 1 -1 -1 1 1 14 1 -1 1 1 -1 -1 1 1 -1 1 15 -1 1 1 1 -1 -1 1 1 1 -1 16 1 1 1 1 -1 1 -1 -1 -1 -1 17 -1 -1 -1 -1 1 1 -1 -1 -1 -1 18 1 -1 -1 -1 1 -1 1 1 1 -1 19 -1 1 -1 -1 1 -1 1 1 -1 1 20 1 1 -1 -1 1 1 -1 -1 1 1 21 -1 -1 1 -1 1 -1 1 -1 1 1 22 1 -1 1 -1 1 1 -1 1 -1 1 23 -1 1 1 -1 1 1 -1 1 1 -1 23 1 1 1 -1 1 -1 1 -1 -1 -1 25 -1 -1 -1 1 1 -1 -1 1 1 1 26 1 -1 -1 1 1 1 1 -1 -1 1 27 -1 1 -1 1 1 1 1 -1 1 -1 28 1 1 -1 1 1 -1 -1 1 -1 -1 29 -1 -1 1 1 1 1 1 1 -1 -1 30 1 -1 1 1 1 -1 -1 -1 1 -1 31 -1 1 1 1 1 -1 -1 -1 -1 1 32 1 1 1 1 1 1 1 1 1 1

圖 2- 3 十個自變數二個參數的實驗設計表

(30)

C -2 2 0 0 0 -1 -1 1 1

g 0 0 -2 2 0 -1 1 -1 1

A B C D E F G H J K Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9

Y

1 -1 -1 -1 -1 -1 1 1 1 1 1 57% 55% 57% 57% 57% 57% 57% 57% 51% 57%

2 1 -1 -1 -1 -1 -1 -1 -1 -1 1 57% 57% 57% 55% 57% 57% 57% 57% 57% 57%

3 -1 1 -1 -1 -1 -1 -1 -1 1 -1 57% 57% 57% 55% 57% 57% 57% 57% 57% 57%

4 1 1 -1 -1 -1 1 1 1 -1 -1 57% 70% 57% 57% 65% 57% 57% 57% 62% 70%

5 -1 -1 1 -1 -1 -1 -1 1 -1 -1 57% 57% 57% 50% 57% 57% 57% 57% 57% 57%

6 1 -1 1 -1 -1 1 1 -1 1 -1 57% 55% 57% 57% 57% 57% 57% 57% 56% 57%

7 -1 1 1 -1 -1 1 1 -1 -1 1 57% 57% 57% 57% 57% 57% 57% 57% 51% 57%

8 1 1 1 -1 -1 -1 -1 1 1 1 57% 70% 57% 57% 64% 57% 57% 57% 67% 70%

9 -1 -1 -1 1 -1 -1 1 -1 -1 -1 57% 57% 57% 58% 57% 57% 57% 57% 57% 58%

10 1 -1 -1 1 -1 1 -1 1 1 -1 57% 69% 57% 57% 69% 57% 57% 57% 70% 70%

11 -1 1 -1 1 -1 1 -1 1 -1 1 57% 66% 57% 57% 64% 57% 57% 57% 64% 66%

12 1 1 -1 1 -1 -1 1 -1 1 1 57% 65% 57% 57% 68% 57% 57% 57% 63% 68%

13 -1 -1 1 1 -1 1 -1 -1 1 1 57% 68% 57% 57% 62% 57% 57% 57% 67% 68%

14 1 -1 1 1 -1 -1 1 1 -1 1 57% 82% 57% 57% 78% 57% 57% 57% 78% 82%

15 -1 1 1 1 -1 -1 1 1 1 -1 57% 59% 57% 57% 57% 57% 57% 57% 51% 59%

16 1 1 1 1 -1 1 -1 -1 -1 -1 57% 60% 57% 57% 57% 57% 57% 57% 54% 60%

17 -1 -1 -1 -1 1 1 -1 -1 -1 -1 57% 57% 57% 53% 57% 57% 57% 57% 55% 57%

18 1 -1 -1 -1 1 -1 1 1 1 -1 57% 71% 57% 57% 69% 57% 58% 57% 66% 71%

19 -1 1 -1 -1 1 -1 1 1 -1 1 57% 60% 57% 57% 57% 57% 57% 57% 58% 60%

20 1 1 -1 -1 1 1 -1 -1 1 1 57% 59% 57% 57% 57% 57% 57% 57% 61% 61%

21 -1 -1 1 -1 1 -1 1 -1 1 1 57% 60% 57% 57% 57% 57% 57% 57% 62% 62%

22 1 -1 1 -1 1 1 -1 1 -1 1 57% 72% 57% 57% 66% 57% 57% 57% 75% 75%

23 -1 1 1 -1 1 1 -1 1 1 -1 57% 50% 57% 57% 57% 57% 57% 57% 61% 61%

23 1 1 1 -1 1 -1 1 -1 -1 -1 57% 59% 57% 57% 57% 57% 57% 57% 63% 63%

25 -1 -1 -1 1 1 -1 -1 1 1 1 57% 75% 57% 57% 66% 57% 57% 57% 79% 79%

26 1 -1 -1 1 1 1 1 -1 -1 1 57% 81% 57% 57% 67% 57% 57% 57% 72% 81%

27 -1 1 -1 1 1 1 1 -1 1 -1 57% 57% 57% 57% 57% 57% 57% 57% 56% 57%

28 1 1 -1 1 1 -1 -1 1 -1 -1 57% 80% 57% 57% 68% 57% 59% 57% 76% 80%

29 -1 -1 1 1 1 1 1 1 -1 -1 57% 57% 57% 57% 57% 57% 57% 57% 56% 57%

30 1 -1 1 1 1 -1 -1 -1 1 -1 57% 57% 57% 57% 57% 57% 57% 57% 66% 66%

31 -1 1 1 1 1 -1 -1 -1 -1 1 57% 73% 57% 57% 68% 57% 58% 57% 72% 73%

32 1 1 1 1 1 1 1 1 1 1 57% 92% 57% 57% 84% 57% 57% 57% 63% 92%

圖 2- 4 十個自變數二個參數的實驗設計結果

(31)

-0.02 0 0.02 0.04 0.06 0.08 0.1

A B C D E F G H J K

實驗因子

因子效果

圖 2- 5 數值例題一的實驗因子效果直條圖

接下來使用上述找到的重要自變數 A, D, E, H, K 為輸入變數並利用網格法:

懲罰係數=0.01, 0.1, 1, 10, 100, 1000, 10000, 100000 核心係數=0.0001, 0.001, 0.01, 0.1, 1,10, 100, 1000

共 8 × 8 = 64 種參數組合來尋找最佳參數設定。在此懲罰係數採用 0.01~100000,

而不採用前述的 0.001~10000 的原因是發現懲罰係數再大一些可能可以建構更準 確的模型。結果如表 2-1 與圖 2-6 及圖 2-7,得到懲罰係數=10000、核心係數=0.1 時,可得到最佳正判率 97%。

表 2- 1 8*8 網格法尋找最佳參數設定

核心係數 g

懲罰係數 C

0.0001 0.001 0.01 0.1 1 10 100 1000

0.01 57% 57% 57% 57% 57% 57% 57% 57%

0.1 57% 57% 57% 57% 60% 70% 57% 57%

1 57% 57% 57% 57% 91% 91% 57% 57%

10 57% 57% 57% 73% 95% 91% 63% 57%

100 57% 57% 57% 92% 95% 89% 63% 57%

1000 57% 57% 74% 94% 93% 89% 63% 57%

10000 57% 57% 91% 97% 94% 89% 63% 57%

100000 57% 73% 96% 97% 94% 89% 63% 57%

(32)

0.0001 0.001 0.01 0.1 1 10 100 1000

0.01

10 10000 50%

60%

70%

80%

90%

100%

準確率%

核心係數g

懲罰係數C

90%-100%

80%-90%

70%-80%

60%-70%

50%-60%

圖 2- 6 8*8 網格法尋找最佳參數的 3D 圖

0. 0001 0. 001 0.01 0.1 1 10 100 1000

0.01 0.1 1 10 100 1000 10000 100000

核心係數g

懲罰係 數 C

95%-100%

90%-95%

85%-90%

80%-85%

75%-80%

70%-75%

65%-70%

60%-65%

55%-60%

50%-55%

圖 2- 7 8*8 網格法尋找最佳參數的 2D 圖

(33)

第三章 數值例題

3.1 前言

本節以兩個分類數值例題與兩個迴歸數值例題驗證本演算法。本文 SVM 軟 體部份採用 LIBSVM [20]。四個例題都是人為設計的題目,故重要自變數是已知 的,本節各例題皆以 1000 筆做為訓練範例,100 筆做為測試範例,期能證實此 方法確實可以找到重要的自變數,並建構精簡但準確的模型。

3.2 例題一:交互與二次分類函數 假設有如下函數

2 5

10 4

8

1

0 . 5 )( 0 . 5 ) 1 . 5 ( 0 . 5 )( 0 . 5 ) ( 0 . 5 )

( 5 .

1 − − + − − + −

= X X X X X

Y (3-1)

如果 Y > 0 則為第一類;否則為第二類。

此例題的資料集屬於分類問題,在此函數中, X、

1

X

8

X 、

4

X

10

為二組交互 作用變數, X 為曲率作用變數,其餘

5

X

2

X

3

X

6

X

7

X

9

為無關變數。

首先利用部分因子實驗法做 10 因子 32 回合的實驗,並以懲罰係數、核心係 數等兩個參數為噪音因子,經建構 32 × 9 = 288 個模型,建構完畢後將模型的準 確度填入表中。計算每列準確度的平均值Y 後,利用Y 計算各實驗因子的效果,

得到圖 3-1 之結果。由圖可知,實驗因子 A, D, E, H, K 的效果為正,即代表它們 對應的自變數為 X

1

X

4

X 、

5

X 、

8

X 如果出現在模型的輸入變數中時,準

10

確度分別可以提升 5.2%~8.5%,所以是重要的自變數,其餘實驗因子 B, C, F, G, J 的效果都接近 0,即代表它們對應的自變數為如果出現在模型的輸入變數中時,

準確度無法提升,所以是不重要的自變數。此結果與本數值例題的函數設定完全

一致,可見本法能找出重要的自變數。

(34)

-0.02 0 0.02 0.04 0.06 0.08 0.1

A B C D E F G H J K

實驗因子

因子效果

圖 3- 1 數值例題一的實驗因子效果直條圖

接下來使用上述找到的重要自變數 X

1

X

4

X 、

5

X 、

8

X 為輸入變數並

10

利用網格法:

懲罰係數=0.01, 0.1, 1, 10, 100, 1000, 10000, 100000 核心係數=0.0001, 0.001, 0.01, 0.1, 1,10, 100, 1000

共 8 × 8 = 64 種參數組合來尋找最佳參數設定。結果得到懲罰係數=10000、核心 係數=0.1 時,可得到最佳正判率 97%。

為了證明只用自變數 X

1

X

4

X 、

5

X 、

8

X 為輸入變數,可得到最精簡、

10

準確的模型,在此以全部十個自變數為輸入變數,並利用上述網格法來尋找最佳 參數設定。結果得到懲罰係數=10000、核心係數=0.1 時,可得到最佳正判率 93%,

還低於上述方法的 97%,可見上述方法可以找出重要的變數。

3.3 例題二:交互與二次迴歸函數 假設有如下函數

2 5

10 4

8

1

0 . 5 )( 0 . 5 ) 1 . 5 ( 0 . 5 )( 0 . 5 ) ( 0 . 5 )

( 5 .

1 − − + − − + −

= X X X X X

Y (3-2)

此例題的資料集屬於迴歸問題,在此函數中, X、

1

X

8

X 、

4

X

10

為二組交互 作用變數, X 為曲率作用變數,其餘

5

X

2

X

3

X

6

X

7

X

9

為無關變數。

首先利用部分因子實驗法做 10 因子 32 回合的實驗,並以懲罰係數、核心係

數等兩個參數為噪音因子,經建構 32 × 9 = 288 個模型,建構完畢後將模型的誤

(35)

差均方根填入表中。計算每列誤差均方根的平均值Y 後,利用Y 計算各實驗因子 的效果,得到圖 3-2 之結果。由圖可知,實驗因子 A, D, E, H, K 的效果為負,即 代表它們對應的自變數為 X

1

X

4

X 、

5

X 、

8

X 如果出現在模型的輸入變數

10

中時,誤差均方根分別可以降低 0.006~0.009,所以是重要的自變數,其餘實驗 因子 B, C, F, G, J 的效果都接近 0,即代表它們對應的自變數為如果出現在模型的 輸入變數中時,誤差均方根無法降低,所以是不重要的自變數。此結果與本數值 例題的函數設定完全一致,可見本法能找出重要的自變數。

-0.01 -0.008 -0.006 -0.004 -0.002 0 0.002

A B C D E F G H J K

實驗因子

因子效果

圖 3- 2 數值例題二的實驗因子效果直條圖

接下來使用上述找到的重要自變數 X

1

X

4

X 、

5

X 、

8

X 為輸入變數並

10

利用網格法來尋找最佳參數設定。結果得到懲罰係數=10000、核心係數=0.01 時,

可得到最佳誤差均方根 0.0429。

為了證明只用自變數 X

1

X

4

X 、

5

X 、

8

X 為輸入變數,可得到最精簡、

10

準確的模型,在此以全部十個自變數為輸入變數,並利用上述網格法來尋找最佳 參數設定。結果得到懲罰係數=10000、核心係數=0.01 時,可得到最佳差均方根 0.0528。

3.4 例題三:線性與二次分類函數 假設有如下函數

] ) 5 . 0 (

8 ) 5 . 0 ( 4 ) 5 . 0 ( 2

) 5 . 0 ( 1 ) 5 . 0 ( 0 [ 4 8 4 2 1 0

2 10

2 9

2 8

2 7

2 6

5 4 3 2 1

− +

− +

− +

− +

− +

=

X X

X

X X

X X X X X

Y (3-3)

(36)

如果 Y > 0 則為第一類;否則為第二類。

此例題的資料集屬於分類問題,在此函數中,可明顯看出 X

1

~ X 和輸出變

5

數的關係為線性且變數重要性逐漸上升, X ~

6

X 和輸出變數的關係為二次且變

10

數重要性逐漸上升。

首先利用部分因子實驗法做 10 因子 32 回合的實驗,並以懲罰係數、核心係 數等兩個參數為噪音因子,經建構 32 × 9 = 288 個模型,建構完畢後將模型的準 確度填入表中。計算每列準確度的平均值Y 後,利用Y 計算各實驗因子的效果,

得到圖 3-3 之結果。由圖可知,實驗因子 D, E, H, J, K 的效果為正,即代表它們 對應的自變數為 X

4

X 、

5

X 、

8

X

9

X 如果出現在模型的輸入變數中時,準

10

確度分別可以提升 1.6%~14.2%,所以是重要的自變數,其餘實驗因子 A, B, C, F, G 的效果都接近 0,即代表它們對應的自變數為如果出現在模型的輸入變數中 時,準確度無法提升,所以是不重要的自變數。此結果與本數值例題的函數設定 一致,可見本法能找出重要的自變數。

-0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16

A B C D E F G H J K

實驗因子

因子效果

圖 3- 3 數值例題三的實驗因子效果直條圖

接下來使用上述找到的重要自變數 X

4

X 、

5

X 、

8

X

9

X 為輸入變數並

10

利用網格法:

懲罰係數=0.01, 0.1, 1, 10, 100, 1000, 10000, 100000

核心係數=0.0001, 0.001, 0.01, 0.1, 1,10, 100, 1000

(37)

共 8 × 8 = 64 種參數組合來尋找最佳參數設定。結果得到懲罰係數=10、核心係數

=1 時,可得到最佳正判率 95%。

為了證明只用自變數 X

4

X 、

5

X 、

8

X

9

X 為輸入變數,可得到最精簡、

10

準確的模型,在此以全部十個自變數為輸入變數,並利用上述網格法來尋找最佳 參數設定。結果得到懲罰係數=10000、核心係數=0.1 時,可得到最佳正判率 95%。

3.5 例題四:線性與二次迴歸函數 假設有如下函數

] ) 5 . 0 (

8 ) 5 . 0 ( 4 ) 5 . 0 ( 2

) 5 . 0 ( 1 ) 5 . 0 ( 0 [ 4 8 4 2 1 0

2 10

2 9

2 8

2 7

2 6

5 4 3 2 1

− +

− +

− +

− +

− +

=

X X

X

X X

X X X X X

Y (3-4)

此例題的資料集屬於迴歸問題,在此函數中,可明顯看出 X

1

~ X 和輸出變

5

數的關係為線性且變數重要性逐漸上升, X ~

6

X 和輸出變數的關係為二次且變

10

數重要性逐漸上升。

首先利用部分因子實驗法做 10 因子 32 回合的實驗,並以懲罰係數、核心係

數等兩個參數為噪音因子,經建構 32 × 9 = 288 個模型,建構完畢後將模型的誤

差均方根填入表中。計算每列誤差均方根的平均值Y 後,利用Y 計算各實驗因子

的效果,得到圖 3-4 之結果。由圖可知,實驗因子 D, E, H, J, K 的效果為負,即

代表它們對應的自變數為 X

4

X 、

5

X 、

8

X

9

X 如果出現在模型的輸入變數

10

中時,誤差均方根分別可以降低 0.28~6.34,所以是重要的自變數,其餘實驗因

子 A, B, C, F, G 的效果都接近 0,即代表它們對應的自變數為如果出現在模型的

輸入變數中時,誤差均方根無法降低,所以是不重要的自變數。此結果與本數值

例題的函數設定一致,可見本法能找出重要的自變數。

(38)

-7 -6 -5 -4 -3 -2 -1 0 1

A B C D E F G H J K

實驗因子

因子效果

圖 3- 4 數值例題四的實驗因子效果直條圖

接下來使用上述找到的重要自變數 X

4

X 、

5

X 、

8

X

9

X 為輸入變數並

10

利用網格法來尋找最佳參數設定。結果得到懲罰係數=10000、核心係數=0.1 時,

可得到最佳誤差均方根 0.7323。

為了證明只用自變數 X

4

X 、

5

X 、

8

X

9

X 為輸入變數,可得到最精簡、

10

準確的模型,在此以全部十個自變數為輸入變數,並利用上述網格法來尋找最佳 參數設定。結果得到懲罰係數=100000、核心係數=0.01 時,可得到最佳差均方根 0.0691。

3.6 結語

上述四個例題都是人為設計的題目,故重要自變數是已知的。而本文方法找 出的重要變數與已知者幾乎完全相同,顯示本方法確實可以找到重要的自變數,

建構精簡但準確的模型。

將使用重要變數與使用全部變數下的誤差之比較整理如表 3-1。可以發現除 了第四題以外,前者都比後者誤差小,可見本方法確實可以找到重要的自變數,

建構精簡但準確的模型。

(39)

表 3- 1 使用重要變數與使用全部變數下的誤差之比較 使用重要變數 使用全部變數 方法

例題 變數數目 誤差 變數數目 誤差

例題一(分類) 誤判率 5 3% 10 7%

例題二(迴歸) 誤差均方根 5 0.0429 10 0.0528

例題三(分類) 誤判率 5 5% 10 5%

例題四(迴歸) 誤差均方根 5 0.7323 10 0.0691

(40)

第四章 實例分析

4.1 前言

本節以兩個分類實際例題與兩個迴歸實際例題驗證本演算法。本文 SVM 軟 體部份採用 LIBSVM [20]。四個例題皆為實際類型題目,故重要自變數並無定 論,期能證實此方法確實可以找到重要的自變數,並建構精簡但準確的模型。

4.2 例題五:森林地表覆蓋類型問題

為了證明以因子實驗法發掘支援向量機的重要變數可以應用在實際分類應 用上,本研究選擇常被用來做為分類演算法測試基準的森林地表覆蓋類型(樹種) 分類問題(Blackard 1998)來進行測試[21,22]。在此資料集中,森林被分割 30 × 30 公 尺的格子,其實際森林覆蓋類型是由美國森林服務署(USFS) Region 2 資源資訊 系統(RIS)資料決定。獨立變數是從美國地質調查署(USGS)與美國森林服務署 (USFS)原始資料導出。總共有 54 個欄位資料,獨立變數包括 10 個定量連續變數,

及 44 個定性二元變數(4 個自然保護區和 40 種土壤類型)。其中 40 個用來表示土 壤分類類型的二元變數,因其數量龐大,但對分類的影響很小,本研究將其捨去,

只取其餘 14 個變數,如表 4-1 所示。原始資料共有 58 萬(581012)筆資料,有七 種覆蓋類型(樹種) ,如表 4-2 所示。由於各覆蓋類型的資料數目差距極大,本研 究採用分層取樣法使各類的資料數目接近,故實際上只用 4000 筆,各覆蓋類型 的資料數目如表 4-2。其中 3000 筆做為訓練範例,1000 筆做為測試範例。

首先利用部分因子實驗法做 14 因子 32 回合的實驗,並以懲罰係數、核心係 數等兩個參數為噪音因子,經建構 32 × 9 = 288 個模型,建構完畢後將模型的準 確度填入表中。計算每列準確度的平均值Y 後,利用Y 計算各實驗因子的效果,

得到圖 4-1 之結果。由圖可知,實驗因子 A, D, F, K, L, O 的效果為正,即代表它

們對應的自變數為 X

1

X 、

4

X

6

X 、

10

X

11

X

14

如果出現在模型的輸入變數

中時,準確度分別可以提升 7%~18%,所以是重要的自變數,其餘實驗因子的效

果都接近 0,即代表它們對應的自變數為如果出現在模型的輸入變數中時,準確

度無法提升,所以是不重要的自變數。

(41)

表 4- 1 森林地表覆蓋類型實例的自變數

實驗因子 輸入變數 輸入變數意義 資料型態 單位

A

X

1 高程 連續變數 公尺

B

X

2 方位 連續變數 度

C

X

3 坡度 連續變數 度

D

X

4 對水體水平距離 連續變數 公尺

E

X

5 對水體垂直距離 連續變數 公尺

F

X

6 對道路水平距離 連續變數 公尺

G

X

7 上午九點陰影 連續變數 0 to 255

H

X

8 中午陰影 連續變數 0 to 255

J

X

9 下午三點陰影 連續變數 0 to 255

K

X

10 對火點距離 連續變數 公尺

L

X

11 Rawah Wilderness 荒野區 二元變數 0/1 M

X

12 Neota Wilderness 荒野區 二元變數 0/1 N

X

13 Comanche Peak 荒野區 二元變數 0/1 O

X

14 Cache la Poudre 荒野區 二元變數 0/1

表 4- 2 各覆蓋類型的資料數目

編號 覆蓋類型 原始數目 採用數目

1 雲杉木 (Spruce-Fir) 211840 580 2 海灘松樹 ( Lodgepole Pine) 283301 557 3 美國黃松木 (Ponderosa Pine) 35754 551 4 楊樹/柳樹 (Cottonwood/Willow) 2747 560

5 白楊樹 (Aspen) 9493 607

6 花旗松 (Douglas-fir) 17367 556 7 矮盤灌叢 (Krummholz) 20510 589

合計 581012 4000

參考文獻

相關文件

For 5 to be the precise limit of f(x) as x approaches 3, we must not only be able to bring the difference between f(x) and 5 below each of these three numbers; we must be able

[This function is named after the electrical engineer Oliver Heaviside (1850–1925) and can be used to describe an electric current that is switched on at time t = 0.] Its graph

include domain knowledge by specific kernel design (e.g. train a generative model for feature extraction, and use the extracted feature in SVM to get discriminative power).

This theorem does not establish the existence of a consis- tent estimator sequence since, with the true value θ 0 unknown, the data do not tell us which root to choose so as to obtain

The writer is convinced that Seng-chao’s concept of the Saint should be interpreted as an activity which is, in a sense, similar to the basic nature of NG Yu-kwan’s concept of Pure

Understanding and inferring information, ideas, feelings and opinions in a range of texts with some degree of complexity, using and integrating a small range of reading

Writing texts to convey information, ideas, personal experiences and opinions on familiar topics with elaboration. Writing texts to convey information, ideas, personal

Writing texts to convey simple information, ideas, personal experiences and opinions on familiar topics with some elaboration. Writing texts to convey information, ideas,