• 沒有找到結果。

數值例題

在文檔中 中 華 大 學 (頁 33-40)

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,即代表它們對應的自變數為如果出現在模型的輸入變數中時,

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

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

-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 個模型,建構完畢後將模型的誤

差均方根填入表中。計算每列誤差均方根的平均值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)

如果 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

共 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,即代表它們對應的自變數為如果出現在模型的

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

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

-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。可以發現除 了第四題以外,前者都比後者誤差小,可見本方法確實可以找到重要的自變數,

建構精簡但準確的模型。

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

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

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

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

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

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

在文檔中 中 華 大 學 (頁 33-40)

相關文件