第三章 Fuzzy Rough Sets 與 Rule Selection
3.1 Rough Sets
本章主要介紹 rough sets 的概念以及使用 fuzzy rough sets 做降維的過 程,最後從降維後的資料中尋找重要的法則。
Negative Region, NEGP(D) (denoted by -)
Upper Approximation, PX (surrounded by bold blue line)
Lower Approximation, PX (denoted by +)
Boundary Region, BNP(D) (gray region)
: the concept to be approximated X
Fig. 3.1 Definitions of rough set.
令整個資訊系統I =( , )U A ,U為宇集,是一個非空且有限的集合,稱 為 universal set,U 中的每一個物件,可能表示狀態、事件、或是某種觀測 資訊;A為 attribute set,且A= ∪C D,其中C為 condition attribute set,表 法則之前項條件(antecedent)部分,也就是條件部份的特徵所組成之集合,
為該物件的狀態;D為 decision attribute set,表法則之推論結果(consequence) 部分,為該物件所對應結論的特徵所組成之集合。假設特徵子集合P⊆C, 為 一 組 特 徵 所 組 成 之 集 合 , 則 P 之 equivalence relation IND P( ) (indiscernibility relation overP):
( ) { ( , ) 2| , ( ) ( ) }
IND P = x y ∈U ∀ ∈p P p x = p y (3-1) 其中p x( )表示物件x在特徵p的特徵值,因此,若( , )x y ∈IND P( ),則表示
物件x與物件y無法利用特徵集合P中的特徵區分出來,也就是對於P中 所含的任一特徵p∈P而言,物件x與物件y皆擁有相同的特徵值,無法區 分出兩物件有何差異。U IND P/ ( )表使用特徵集合P中各特徵 p∈P將整個 宇集U 做分割的結果。分割完後的同一個區域中的各物件,對於所有的特 徵p∈P皆擁有相同的特徵值,也就是說,位於相同分割區域中的物件,兩 兩之間是無法利用P中的的特徵來分辨其不同處的。此外,將U IND P/ ( )中 擁有物件x的分割區域定義為[ ]x IND P( ),也就是使用特徵集合P中所有的特 徵的情況下,所有和物件x無法區分出來的物件所組成的集合。
/ ( ) { / ({ }) : }
U IND P = ⊗ U IND p p∈P , 其中 (3-2)
{ : , , }
A⊗ =B X ∩Y ∀ ∈X A ∀ ∈Y B X ∩ ≠Y φ
[ ]x IND P( ) ={ y U∈ | ∀ ∈p P p x, ( )= p y( ) } (3-3) 假設X 為欲分類之某一類別的物件所組成之集合,X ⊆U,在 Fig. 3.1 中以粗黑曲線所圍成的區域表示,P為分類所使用的特徵集合,P⊆C。 依據 rough set 定義,可將整個宇集 U 分成四個部份:
(1)PX (P-lower approximation):表利用各特徵p∈P,可以分辨出來屬於X 的區域。
{ | [ ]IND P( ) }
PX = x x ⊆ X (3-4)
(2)PX (P-upper approximation):表利用各特徵p∈P,有機會可以分辨出 來屬於X 的區域。
{ | [ ]IND P( ) }
PX = x x ∩X ≠φ (3-5)
(3)BNP( )D (boundary region):表利用各特徵p∈P,不能確定是否可以分辨 出來屬於X 的區域。
/ ( ) / ( )
P( )
X U IND D X U IND D
BN D PX PX
∈ ∈
= ∪ − ∪ (3-6)
(4)NEG DP( )(negative region):表利用各特徵p∈P,可以分辨出來不屬於X 的區域。
/ ( )
P( )
X U IND D
NEG D U PX
∈
= − ∪ (3-7)
在此對上述四個部分詳細介紹。假設使用特徵集合P中的特徵將宇集 U 分割成若干個子集合,即U IND P/ ( ),如 Fig. 3.1 中粗線區域內由細線所 圍 成 之 數 個 小 矩 形 , 則 PX 為 完 全 落 在 欲 分 類 之 類 別 X 中 的 子 集 合
/ ( )
U IND P 所組成的區域(圖中以「+」號表示的部份)。也就是說當U IND P/ ( ) 中的某個子集完全包含於X 的範圍中,只要是屬於此子集的物件,即可確 定其結果為類別X ,因此,PX 為使用特徵集合P對類別X 來說可完成分 類之物件所組成的物件集合。
P( )
BN D 為邊緣區域(boundary region),為只有部份物件落於 X 中的
/ ( )
U IND P 子集所組成之區域,在圖中以灰色區域表示。當物件屬於這些
/ ( )
U IND P 子集時,無法確定是否屬於類別X ,因為根據所擁有的所有物
件來看,此分割區域中有部份物件是屬於類別X,但也有部分物件並不屬 於類別X 。也就是說當一分割區域U IND P/ ( )屬於邊緣區域時,表示使用 特徵集合P中的特徵只能判斷該子集之物件「有可能」屬於類別X ,但並 沒有辦法完全確定其物件屬於或不屬於類別X 。這也是 rough sets 和傳統 集合論最大不同之處,rough sets 不像傳統集合將所有集合分為「屬於」及
「不屬於」兩類,若出現無法確定的集合時,rough sets 保留了其「可能性」, 以待更多資訊的加入來完成集合的分類。
PX 範圍包含了PX 及BNP( )D 的部份,也就是只要是U IND P/ ( )中含有 任 一 物 件x 屬 於 X , 這 些 使 用 特 徵 集 合P 中 的 特 徵 對 宇 集U 的 分 割
/ ( )
U IND P 子集全在PX 的範圍內,為 Fig. 3.1 中外圍的黑色粗線,是「+」
號區域及灰色區域的聯集。最後,在PX 範圍之外的部分為NEG DP( ),表 示使用特徵集合P可確認不屬於分類X 的部分,在圖中以「−」號表示。
因此,使用某一特徵集合P中的特徵,針對某一類別X 便可將整個宇 集U分成四個部分,其中最重要的部份為PX,因為只要屬於PX 集合中的 物件,便代表著使用 condition attribute set P中的特徵可以區分出類別X。 將宇集U 根據 decision attribute set D中的特徵做分割,產生出許多類別
X,X∈U IND D/ ( ),例如,若D中僅含一個表「危險程度」的特徵,且「危 險程度」包含著「很危險」、「危險」、「普通」、「安全」、「很安全」等五個 類別,如此一來U IND D/ ( )便包含了五個類別子集。使用特徵集合P中的 特徵在各分類中尋找PX 的部分,取其聯集,最後可得到所謂的 positive region,以POSP( )D 表示之,表示宇集U 中使用特徵集合P中的特徵對D中 各類別能確實分類的部份。
/ ( )
P( )
X U IND D
POS D PX
= ∈ ∪ (3-8)
最後,將POSP( )D 裡的物件個數除以總物件個數|U|,如 3-9 式所示,
代表使用特徵集合P中的特徵對結果D做分類,能被分類出來的物件個數 佔整個宇集的比例,也就是使用特徵集合P中的特徵可推論得到D的推論
(b)
Obj. a b c q
O1 Sa Sb Sc Yes
O2 Sa Sb Sc Yes
O3 Sa Sb Tc No
O4 Ta Sb Sc Yes
O5 Sa Sb Sc No
O6 Ta Tb Sc No
表示使用特徵集合P中的特徵對結果D做分類,有較好的分類結果。
| ( ) |
( ) | |
P P
POS D
D U
γ = (3-9)
3.2 Fuzzy Rough Sets
如同上節所示,我們使用同一個小型資料庫資料為例,如 Table 3.1 (a),其中共有 6 個物件O ~O1 6,condition 特徵為{ , , }a b c 其值範圍皆介於 -0.5~0.5、decision 特徵為{ q}表示各物件所對應的分類結果,有{ Yes }與 { No }兩類別、以及一組隸屬函數(Fig. 3.2),以此小型資料庫為例子來說明 如何使用 fuzzy rough sets 技術做特徵維度的降維。
Table 3.1 Two examples. (a) real data. (b) discrete data.
(a)
Obj. a b c q
O1 -0.4 -0.2 0.2 Yes O2 0 0.2 -0.4 Yes
O3 0 0.2 0.3 No
O4 0.5 -0.3 -0.1 Yes O5 -0.2 -0.4 0.2 No
O6 0.4 0.3 0 No
Fuzzy rough sets 技術是對每一個物件x U∈ 皆計算物件特徵值對所有
/ ( )
U IND P 分 割 的 隸 屬 程 度 値 、 以 及 物 件 特 徵 值 對 所 有 結 果 類 別
/ ( )
X∈U IND D 的隸屬程度値。在此以 condition 特徵子集合P={ b}, P∈C 為例,特徵集合P使用 fuzzy 分類,分為{ Sb }與{ Tb }兩類,而 decision 特 徵集合D={ q },為硬性分類,可分為 Yes 與 No 兩類:
{ } { } P b
D q
=
=
/ ( ) { b, b } U IND P = S T
1 2 4 3 5 6
/ ( ) { Yes, No }
{{O , O , O }, {O , O , O }}
U IND D =
=
特徵集合P={ b}為 fuzzy 分類,宇集U 中每一個物件皆需對P的兩類別 { Sb }及{ Tb }計算隸屬程度值,而特徵集合D={ q}為硬性分類,分為 { Yes }與{ No }兩類別,其組成的物件為{O , O , O }1 2 4 及{O , O , O }3 5 6 兩部 分,也藉此區分 fuzzy set 和 crisp set 兩種不同分類運算過程的不同之處。
在硬性分類中,每一個物件隸屬於某類別的程度不是 0 就是 1,如 Table Fig. 3.2 Membership functions.
3.1 (b)中,decision 特徵q即為硬性分類,舉個例子來說,物件O6隸屬於Yes 的程度値為 0,而隸屬於No程度値則為 1。假設我們對高速公路上車子的 速度做分類,將速度分成「快」、「中」、「慢」三類別,有兩速度 100 及 150,
在硬性分類中皆被分類於「快」的類別,速度 100 雖然歸類於「快」,但 在高速公路一般路段限速為 60~100 的情況下,速度 100 雖然位於速限最 上限,但依舊屬於合法速度的範圍內,相對來說,150 是很嚴重的超速,
兩者的差異在硬性分類中,卻無法表達出來。
若使用 fuzzy 分類,將 100 及 150 兩速度,對「快」、「中」、「慢」三 類別皆計算其隸屬程度值,速度 100 相對於速度 150,在「中」的類別將 會有更高的隸屬程度值,也就是說速度 100 比 150 更符合「中」的類別,
因此,當資料使用 fuzzy 分類時,依舊可以分辨出兩者不同處,不會像硬 性分類般,只用單一的類別來記錄,造成更多資訊的遺失。因此在 fuzzy 分類中,由於每一個物件對每一類別皆會計算其隸屬程度值,使物件大致 位於整體範圍的資訊保留的較完整。
計算物件隸屬於特徵集合P的程度值,以 Table 3.1 (a)的資料庫為例 子,由於特徵集合P可分為{ Sb }與{ Tb }兩類別,因此需分別計算物件O6隸 屬{ Sb }與{ Tb }兩類別的隸屬程度值:
(O )6 0.4
Sb
μ =
(O )6 0.6
Tb
μ =
如同傳統 rough sets,接著計算 lower approximation 部份。此時 lower approximation 可用μX( )Fi 表示,其中F ii( =1 to #(U IND P/ ( ))),為使用特徵
集合P中的特徵對宇集U 做分割之後的各U IND P/ ( ),X 為根據 decision attribute set D對宇集U 做 fuzzy 分割之後的各U IND D/ ( ),計算方式如式 子(3-10),式子中x為宇集U中所含的物件x U∈ , ( )
Fi x
μ 表示物件x隸屬於
Fi的程度值,μX( )x 表示物件x隸屬於X 的程度值。
, ( ) inf max{ 1 ( ), ( ) },
X i x Fi X
i μ F μ x μ x x U
∀ = − ∈ (3-10)
依據上式所計算出的値μX( )Fi 為Fi對於分類結果類別X 的隸屬程度值,也 就 是 說 Fi 對 類 別 X 的 可 分 類 程 度 。 仔 細 觀 察 式 子 中
max{ 1 ( ), ( ) }
Fi x X x
μ μ
− ,當 ( )
Fi x
μ 值接近 1 時,max{ 1 ( ), ( ) }
Fi x X x
μ μ
− 會相當
於計算μX( )x ;反過來當 ( )
Fi x
μ 值接近 0 時,max{ 1 ( ), ( ) }
Fi x X x
μ μ
− 的值就
會接近 1。這相當於計算法則「If then Fi X 」的真實性,程度值 1 為 true,
程度值 0 為 false,當物件x隸屬於Fi的程度高時,表法則前半部正確性高,
因此,此法則的正確與否將由後半部來決定;相反的,當物件x隸屬於Fi的 程度低時,表法則前半部正確性低,此時法則後半部為何就不再重要了,
因為不管後半部如何,只要前半部為 false 此法則皆會是 true(1)。最後將每 一個物件x U∈ 計算後之值取最小值,以此表示整個資料庫來看,Fi隸屬於 類別X 的程度值。
在此以 Table 3.1 (a)的小型資料庫為例,針對特徵計算當特徵集合 { }
P= b 時,Fi(1≤ ≤i 2),分別為F1={ Sb }和F2 ={ T }b ,而分類結果X 有 兩類,分別為X ={ Yes } { O , O , O }= 1 2 4 以及X ={ No } { O , O , O }= 3 5 6 兩類
別。針對每一個Fi與X ,運算Fi隸屬於X 的程度值:
1 2 4 1 2 4
{ O , O , O }( ) inf max{ 1 ( ), { O , O , O }( ) } inf{ 1, 1, 0.4, 1, 0.8, 0.6 }
0.4
b x Sb
S x x
μ = −μ μ
=
=
1 2 4 1 2 4
{ O , O , O }( ) inf max{ 1 ( ), { O , O , O }( ) } inf{ 1, 1, 0.6, 1, 1, 0.4 }
0.4
b x Tb
T x x
μ = −μ μ
=
=
3 5 6 3 5 6
{ O , O , O }( ) inf max{ 1 ( ), { O , O , O }( ) } inf{ 0.4, 0.4, 1, 0.6, 1, 1 }
0.4
b x Sb
S x x
μ = −μ μ
=
=
3 5 6 3 5 6
{ O , O , O }( ) inf max{ 1 ( ), { O , O , O }( ) } inf{ 1, 0.6, 1, 1, 1, 1 }
0.6
b x Tb
T x x
μ = −μ μ
=
=
上述μX( )Fi 計算出Fi對某結果類別X 的隸屬程度,因此,對於每一個
/ ( )
X∈U IND D ,將各μX( )Fi 取聯集便可得到Fi對於整體結果特徵集合D的 分類程度,以 ( )
POSP Fi
μ 表示, ( )
POSP Fi
μ 愈大,表示使用特徵集合P中的特徵 對宇集U做分割後,使用分割Fi來推論結果D推論程度高,也就是說使用
Fi來區分結果D,有較好的分類結果。
/ ( )
( ) ( )
POSP i X i
X U IND D
F F
μ μ
= ∈ ∨ (3-11)
以 上 述 的 小 型 資 料 庫 做 例 子 , 對 U IND D/ ( ) 中 所 有 的 分 割
1 2 4
{ Yes } { O , O , O }
X = = 與X ={ No } { O , O , O }= 3 5 6 皆計算μX( )Fi 値,再 將其取聯集得到各Fi對於整體結果特徵集合D的分類程度 ( )
POSP Fi
μ ,也就
是特徵集合P中兩分割{ Sb }和{ T }b 對於整體結果的分類程度:
{ }( ) / ( ) ( ) max{ 0.4, 0.4 } 0.4
POSb Sb X U IND D X Sb
μ μ
= ∈ ∨
=
=
{ }( ) / ( ) ( )
max{ 0.4, 0.6 } 0.6
POSb Tb X U IND D X Tb
μ μ
= ∈ ∨
=
=
接下來將物件x對於某Fi的隸屬程度 ( )
Fi x
μ 和上面所算出的 ( )
POSP Fi
μ 取
交集,便可得到物件x在使用此Fi的情況下對結果特徵集合D的分類程 度,因此,將特徵集合P中的特徵對宇集U造成的所有分割Fi∈U IND P/ ( ) 皆計算一次並取聯集,便可得到物件x對整體結果特徵集合D的最大分類 程度,在此以 ( )
POSP x
μ 表示之。 ( )
POSP x
μ 值愈大,表示物件x可被特徵集合D 所分類出來的程度值高。
/ ( )
( ) { ( ) ( ) }
P i P
i
POS F POS i
F U IND P
x x F
μ μ μ
= ∈ ∨ ∧ (3-12)
以 Table 3.1 的資料庫來說,將物件O6隸屬於某Fi的程度值和Fi對特徵 集合D的分類程度 ( )
POSP Fi
μ 取交集,得到物件O6使用某Fi對D的分類程
度,接著將特徵集合P中的特徵對宇集U 造成的所有分割Fi∈U IND P/ ( )皆 計算一次並取聯集,便可得到物件O6對整體結果特徵集合D的最大分類程 度,以此表示物件O6對特徵集合D的分類程度
{ }(O )6 POSb
μ :
{ } 6 6
/ ( )
6 6
(O ) { (O ) ( ) }
max{ { (O ) ( ) }, { (O ) ( ) } } max{ min(0.4, 0.4), min(0.6, 0.6) }
0.6
b i P
i
b P b P
POS F POS i
F U IND P
S POS b T POS b
F
S T
μ μ μ
μ μ μ μ
= ∈ ∨ ∧
= ∧ ∧
=
=
使用相同的方法計算宇集U中其他物件O ~O1 5:
{ } 1 1
/ ( )
1 1
(O ) { (O ) ( ) }
max{ { (O ) ( ) }, { (O ) ( ) } } max{ min(0.6, 0.4), min(0, 0.6) }
0.4
b i P
i
b P b P
POS F POS i
F U IND P
S POS b T POS b
F
S T
μ μ μ
μ μ μ μ
= ∈ ∨ ∧
= ∧ ∧
=
=
{ } 2 2
/ ( )
2 2
(O ) { (O ) ( ) }
max{ { (O ) ( ) }, { (O ) ( ) } } max{ min(0.6, 0.4), min(0.4, 0.6) }
0.4
b i P
i
b P b P
POS F POS i
F U IND P
S POS b T POS b
F
S T
μ μ μ
μ μ μ μ
= ∈ ∨ ∧
= ∧ ∧
=
=
{ } 3 3
/ ( )
3 3
(O ) { (O ) ( ) }
max{ { (O ) ( ) }, { (O ) ( ) } } max{ min(0.6, 0.4), min(0.4, 0.6) }
0.4
b i P
i
b P b P
POS F POS i
F U IND P
S POS b T POS b
F
S T
μ μ μ
μ μ μ μ
= ∈ ∨ ∧
= ∧ ∧
=
=
{ } 4 4
/ ( )
4 4
(O ) { (O ) ( ) }
max{ { (O ) ( ) }, { (O ) ( ) } } max{ min(0.4, 0.4), min(0, 0.6) }
0.4
b i P
i
b P b P
POS F POS i
F U IND P
S POS b T POS b
F
S T
μ μ μ
μ μ μ μ
= ∈ ∨ ∧
= ∧ ∧
=
=
{ } 5 5
/ ( )
5 5
(O ) { (O ) ( ) }
max{ { (O ) ( ) }, { (O ) ( ) } } max{ min(0.2, 0.4), min(0, 0.6) }
0.2
b i P
i
b P b P
POS F POS i
F U IND P
S POS b T POS b
F
S T
μ μ μ
μ μ μ μ
= ∈ ∨ ∧
= ∧ ∧
=
=
最後,將每一個物件x U∈ 對D的分類程度值 ( )
POSP x
μ 累加起來,表示 整個質料庫使用特徵集合P對 decision 特徵集合D可完成分類的物件個 數,相當於傳統 rough sets 中 positive region 的部分。如同傳統 rough sets 般將 positive region 除以宇集總物件個數|U|,得到整個資料庫使用特徵集 合P對 decision 特徵集合D的可分類百分比γP′( )D :
( )
( ) ( )
| ( ) |
( ) | | | |
P
P POS D
POS D x U
P
x D x
U U
μ μ
γ′ = =∑ ∈ (3-13)
以 Table 3.1 的資料庫為例,將物件O ~O1 6對分類結果D的分類程度
{ }(O ) ~1 { }(O )6
b b
POS POS
μ μ 加總的和除以宇集U 的總物件個數 6,得到的值即為 使用特徵集合P={ b}對 decision 特徵集合D={ q }的分類程度值γ{ }′b ( )D :
{ }
{ }
( )
( ) | |
0.4 0.4 0.4 0.4 0.2 0.6
6 2.4
6
POSb
x U b
D
D U
γ′ = ∈ μ
+ + + + +
=
=
∑
以上述使用特徵集合P中的特徵對特徵集合D的分類程度值的計算方法,
針對特徵集合P′ ={ a}, P′′ ={ c}皆計算其γP′( )D 値,以了解哪一個特徵對 分類結果是最有幫助的:
{ }
{ }
( )
( ) | |
0 0 0 0.2 0 0.2
6 0.4
POSa
x U a
D
D U
γ′ = ∈ μ
+ + + + +
=
=
∑
{ }
{ }
( ) ( )
| |
0.4 0.2 0.4 0.4 0.4 0.4
6 2.2
6
POSc
x U c
D D
U γ′ = ∈ μ
+ + + + +
=
=
∑
根據以上計算可知,此資料庫在特徵集合P只含有一個特徵的情況下,特 徵集合P={ b}對特徵集合D的分類程度值最高,特徵集合P′ ={ a}對特徵 集合D的分類程度值最低。也就是說在只用一個特徵的情況下,用特徵b來 分類有最好的分類結果,而用特徵a來分類的結果是最差的。
上述過程說明了如何使用 fuzzy rough sets 技術評估一特徵集合P對分 類結果D的分類程度,但上例中特徵集合P之內容僅為一個特徵的情況,
然而事實上特徵集合P可以是許多特徵所組成的集合,當P內含有超過一 個特徵時,P對宇集U的分割Fi∈U IND P/ ( )個數將會快速增加。例如當特 徵集合P擁有兩個特徵a b, 時,Fi必須將U IND/ ({ a})以及U IND/ ({ b})皆 考慮進去:
/ ( ) { / ({ }) : }
U IND P = ⊗ U IND p p∈P (3-14)
/ ( ) / ({ }) / ({ })
{ , } { , }
{ { , }, { , }, { , }, { , } }
a a b b
a b a b a b a b
U IND P U IND a U IND b
S T S T
S S S T T S T T
= ⊗
= ⊗
=
因此,在特徵集合P擁有兩個特徵a b, 時,U 對P之分割U IND P/ ( )將產生 4 個Fi,F1={{Sa, }}Sb , F2 ={{Sa, }}Tb , F3 ={{ , }}Ta Sb , F4 ={{ , }}Ta Tb 。
3.3 Rule Selection
為了在眾多的法則集合中挑選所需的法則,在此介紹兩種個數值來評估 法則的重要性:(1) support,(2) confidence。
(1) Support : 將 法 則 S→Q 出 現 的 次 數 除 以 總 物 件 的 個 數 定 為 support(S →Q),為此法則於資料庫中出現的頻率,也就是代表性。當 support(S →Q)大的時候,表示法則S→Q在資料庫中出現比例高,此 法則較有代表性;反之當 support(S →Q)小的時候,表示法則S→Q在 資料庫中較少出現,因此相較之下代表性較低。
假設 condition 特徵部份為S,decision 特徵部分為Q,「#」表示個 數的多寡。法則S→Q的 support 值計算方法如下:
support( ) ( )
#(condition is and decision is )
#(all objects) S Q P S Q
S Q
→ = ∩
= (3-15)
(2) Confidence:將法則S→Q出現的次數除以法則前項條件(antecedent)出 現S的物件個數定為 confidence(S→Q),為法則S →Q的可確認程度,
若 confidence(S→Q)大的時候,表示此法則有很高的確認性,也就是 在 condition 特徵部分為S的情況下,decision 特徵出現Q的可能性很高。
confidence( ) ( | )
# (condition is and decision is )
# (condition is ) S Q P Q S
S Q
S
→ =
= (3-16)
support 值與 confidence 值並無直接關係,support 值大時,confidence 值可 能很小,表示此法則常常出現,但每次出現都有不同的結果,確認性低;
而 support 值小時,confidence 值可能大,表示此法則不常出現,一但出現 往往有特定結果,確認性高。
如第二章 2.3 節所提到的,「重要的法則」有兩種條件。一種是法則出 現的頻率高,且確定性也足夠;另一種法則是不管出現的頻率高低,但確 定性很高。只要滿足其中一種條件即為系統所欲挑選出來的法則,在此分 別就這兩種情況進行說明:
(1) 一般來說,從資料庫中找重要法則時,會分別對 support 和 confidence 設一組門檻值min_supp和min_conf,support 和 confidence 兩者皆大於 其門檻值,表法則出現的頻率夠高、可確定性也夠大,這種往往就是 我 們 所 需 要 的 重 要 法 則 , 即 ( Support(S →Q)>min _supp ) &
(Confidence(S→Q)>min _conf)。在行車危險事件分析時所需要的法則 也是如此,若一行車狀況出現的頻率夠高,且出現此種行車狀況,其 對應危險程度的確定性也夠高,就是系統所要尋找的危險事件法則。
(2) 由於此系統為行車事件分析系統,車禍的危險狀況本來就是不常見 的,有些時候只要發生某種行車事件,就幾乎能確定其屬於危險情況,
不管發生頻率(support)高或低。因此設計了另一種挑選法則的條件:當 confidence 值夠高,高於另一個較高的門檻值high_conf,便將其挑選 出來,即Confidence(S →Q)>high_conf。也就是不管法則在資料庫中出 現的頻率高或低,只要可確定性很高,即使是出現頻率很低的法則也 將其挑選出來。此種法則將有辦法找到很少發生,但可確定性很高的 特殊危險事件法則。
挑選法則之演算法如 Fig. 3.3,一開始從特徵集合P只有單一特徵,也 就是 condition 只有一個特徵的法則判斷起,若此法則符合條件,便將其加 入法則所組成的集合Rules中。在此,條件有(1) support 和 confidence 值皆 要高於門檻值min_supp和min_conf。(2) confidence 值高於一較高的門檻值
high_conf。若兩條件皆不符合,則再加入一特徵,繼續判斷,加入特徵時,
得先判斷是否有更簡短之法則已被挑選於Rules中,若有,則略過此法則,
以避免找到相同的法則。最後,當所有特徵皆已加入,或找不到任何新的 法則時則停止,Rules中之法則即為最後的結果。演算法如 Fig. 3.3,對應 的流程圖如 Fig. 3.4。
reduced
reduced
1. (set of rules) {}, all labels of reduced data 2. queue[1] {}, head 0, tail 1
3. while(head tail) { 4. head head 1 5. queue[head]
6. ( ( , ))
7. for all
Rules C
S
X After C S
← ←
← ← ←
≠
← +
←
∀ ∈
kinds of fuzzy terms of { } and , apply rules : { } 8. if ( ) high_conf
9. insert rule ( ) into
S X Q
Y S X Q
Conf Y
Y Rules
∪
∪ →
>
10. else if ( ) min_supp & ( ) min_conf 11. insert rule ( ) into
12. else
13. queue[tail] { } 14. tail tail 1
15. }
Supp Y Conf Y
Y Rules
S X
> >
← ∪
← +
Fig. 3.3 Rule selection algorithm.
reduced
Rules :{ { } |
, }
Y S X Q
X C S S Q Rules
∪ →
∀ ∈ − → ∉
If ( ) high_conf
insert into Conf Y
Y Rules
>
Initial , Rules S
{ } S ← S ∪ X
E n d
reduced? S =C
If ( ) min_supp and ( ) min_conf insert into
Supp Y Conf Y
Y Rules
> >
Fig. 3.4 Flowchart of rule selection algorithm.
Table 3.2 The Example after reducing attributes.
Obj. b c q
O1 Sb Sc Yes
O2 Sb Sc Yes
O3 Sb Tc No
O4 Sb Sc Yes
O5 Sb Sc No
O6 Tb Sc No