METODE OPTIMASI SELEKSI FITUR DENGAN ALGORITMA FAST BRANCH AND BOUND Rully Soelaman, Suc Hatnng Rn dan Dana Purwtasar Faultas Tenolog Informas, Insttut Tenolog Sepuluh Nopember (ITS), Surabaya, 60, Indonesa E-mal : rully@stsacd Abstra -- Suatu ftur sangat dperluan untu mengndentfasan suatu obe Ftur-ftur optmal yang bsa detahu dar suatu obe aan mempermudah dan mempercepat proses ndentfas obe tersebut Ftur yang sedt aan mempermudah dalam menentuan daerah eputusan (decson regons) Untu tu perlu dlauan pemlhan ftur yang palng optmal dar ftur-ftur yang ada Metode Branch and Bound merupaan salah satu metode yang dgunaan untu pemlhan ftur optmal Algortma n telah mengalam beberapa perbaan sehngga ada empat algortma yang telah dhaslan yatu algortma Branch and Bound dasar (BBB), Improved Branch and Bound (IBB), Branch and Bound Partal Predcton (BBPP) dan Fast Branch and Bound (FBB) Algortma BBPP dan FBB merupaan algortma yang palng efsen dalam melauan penghtungan rtera Kedua algortma n menggunaan suatu meansme preds untu mengurang umlah penghtungan evaluas rtera U coba dlauan menggunaan data sntet dengan varas fungs rtera yang dgunaan telah ddefnsan U coba dlauan sebanya lma al dengan lma fungs rtera yang berbeda dan hasl dar u coba n menunuan bahwa algortma Branch and Bound sangat dpengaruh oleh fungs rtera dan data yang dgunaan, preds yang dgunaan pada algortma BBPP dan algortma FBB menyebaban performance edua algortma tersebut lebh ba darpada algortma IBB maupun BBB, onds terburu terad bla fungs rtera yang dgunaan menyebaban semua ftur menghaslan nla rtera yang sama sehngga tda ada cabang yang mengalam cut off dan nla rtera tergantung pada fungs rtera yang dgunaan, buan pada uuran subset d tap level tree Kata Kunc : Feature selecton, subset search, search tree, optmum search, subset selecton PENDAHULUAN Suatu obe perlu detahu ftur-fturnya agar bsa denal dan bsa dbedaan dar obe yang lan Ftur-ftur optmal yang bsa detahu dar suatu obe aan mempermudah dan mempercepat proses ndentfas obe tersebut Ftur yang sedt aan mempermudah dalam menentuan daerah eputusan (decson regons) dan sebuah penglasfasan lebh mudah untu dlauan Permasalahan pada pemlhan ftur n adalah pengumpulan ftur-ftur yang aan dplh dan pemlhan hmpunan bagan dar umpulan ftur-ftur yang terseda dcar yang palng ba dalam sstem lasfas Dalam hal n, salah satu esultan yang ada adalah bagamana memlh ftur terba dar seumpulan ftur-ftur yang sangat banya untu dgunaan dalam penglasfasan Metode untu menemuan ftur-ftur yang optmal dar sebuah hmpunan ftur-ftur telah banya dumpa Salah satu metode yang optmal dalam pemlhan ftur adalah algortma Branch and Bound Algortma n telah banya dmodfas untu mendapatan suatu algortma yang sangat optmal 2 METODE SELEKSI FITUR MENGGUNAKAN ALGORITMA BRANCH & BOUND Algortma n menggunaan sfat monotoncty dar fungs rtera untu menyelesaan pencaran ftur pentng Sfat monotoncty dgunaan untu menghlangan ftur-ftur yang tda pentng dar hmpunan ftur yang ada Sfat monotoncty harus memenuh persamaan dan 2 Kedua persamaan n dsebut monotoncty condton X X 2 X () X X X (2) ( ) ( ) ( ) 2 X merupaan hmpunan bagan ftur yang telah dhlangan satu ftur dar hmpunan ftur awal 3 BRANCH AND BOUND DASAR Algortma Branch & Bound dasar n menggunaan search tree untu menyelesaan pencaran ftur Pertama-tama algortma dmula dar root sebuah tree dan ddapatan current node yang dsmpan pada LIST(), dan emudan dplh node yang palng maxmum sesua dengan fungs rtera yang dpaa (max ( z,, z ) ) untu dadan sebaga current node yang baru, dan algortma dlanutan e level yang lebh
tngg Hal n dlauan terus sampa ddapatan nla bound Notas yang dgunaan dalam algortma Branch & Bound n adalah sebaga berut [F90]: a) LIST ( ) merupaan daftar dar perhtungan ftur-ftur secara terurut pada level e b) z merupaan ftur yang aan dbuang c) menunuan level dar tree d) x menympan nla bound Langah-langah algortma Branch & Bound dasar adalah sebaga berut [FUK90]: Langah Insalsas:nla x = ~, =, z 0 = 0 Langah 2 Generate successors: Insalsas LIST ( ) yang snya adalah fturftur ( z,, z ) dengan cara: LIST( ) = { z +, z + 2,, d + } Langah 3 Memlh node baru: - a LIST ( ) osong, dlanutan e Langah 5 - a LIST ( ) tda osong, maa z = m, dmana ( LIST ( ) z,, z, m) = max ( z,, z, ) ε - Kemudan m dhapus dar ( ) LIST Langah 4 Chec Bound : - a ( z,, z ) < x, maa dlanutan e Langah 5 - a = d, maa dlanutan e Langah 6 - Lannya = + dan lanutan e Langah 2 Langah 5 Bactrac e level sebelumnya: - = - a = 0, maa algortma telah selesa - a 0, maa dlanutan e Langah 3 Langah 6 Level terahr dan update bound : = dsmpan sebaga nla bound - x ( z,, z ) d d - ( z, z2,, z ) d dsmpan sebaga (, z z ) z, 2,, d - emudan dlanutan e Langah 5 Alur dar langah-langah algortma Branch and Bound dasar tersebut secara umum dapat dgambaran dengan menggunaan flowchart yang dapat dlhat pada Gambar 4 IMPROVED BRANCH AND BOUND Algortma Improved Branch & Bound dembangan dar algortma dasarnya yatu algortma Branch & Bound Algortma Improved Branch & Bound n mengurutan node-node ftur pada tap level tree secara menurun Algortma Improved Branch & Bound bertuuan menempatan ftur buru pada edge sebelah anan dar tree dan ftur ba pada edge sebelah r dar tree Gambar Flowchart Algortma Branch and Bound dasar Notas-notas yang dgunaan dalam algortma Improved Branch & Bound adalah sebaga berut [SPK04]: a) : level dar tree (root dnotasan dengan =0) b) X = { ξ =,2,, D } : hmpunan bagan anddat ftur pada level tree e- c) q : umlah eturunan dar current node (pada level tree yang berhubungan) d) Q = { Q,, Q,2,, Q, q }: hmpunan terurut dar ftur-ftur yang dtanda untu menad edge panutan pada eturunan dar current node (anddat hmpunan bagan X + ddefnsan oleh ftur Q, untu =,, q ) e) [ ] T =,,,2,, : vetor dar nla, q rtera yang sesua untu eturunan dar node pada level tree yang berhubungan (, = ( X \ { Q, }) untu =,, q ) f) Ψ = { ψ =,2,, r} : hmpunan ontrol dar seumlah r ftur yang mash ada yang dgunaan untu pembentuan search tree, contohnya, untu membentu hmpunan Q, hmpunan Ψ dgunaan untu memelhara bentu search tree g) X = { x =,2,, d} : hmpunan bagan dar ftur terba saat n h) x : bound saat n (nla rtera yang sesua untu x) Langah-langah algortma IBB adalah sebaga berut [SPK04]: Insalsas: = 0, χ = Y, Ψ = Y, r= D dan 0 x adalah nla palng ecl yang mungn Langah Pemlhan turunan node dar current node untu membentu level tree yang berurutan : - nla q dset dengan q = r ( D d ),
- emudan dbuat hmpunan Q dan vector sebaga berut: a Semua ftur ψ Ψ, =,, r durutan dengan syarat: ( X \ { ψ } ) ( X \ { ψ 2} ) ( X \ { ψ r }) b emudan dplh ftur sebanya q dar hmpunan ftur pada Ψ, yatu dengan cara: Q, = ψ untu =,, ( X \{ ψ }) q,, = untu =,, q c Untu menghndar evaluas ganda, maa ftur ψ dhlangan dar Ψ, yatu : Ψ = Ψ \ Q dan r = r q Langah 2 node turunan palng anan (dhubungan dengan Q,q edge) dpersa: - a q = 0, semua turunan telah du dan langsung e Langah 4 (bactracng) - a, q < x, maa dlanutan e Langah 3 - Lannya = X { Q } X + \, q a a + = D d, maa satu leaf telah dcapa dan dlanutan e Langah 5 b Lannya Menuu e level yang berhubungan dan = + emudan embal e Langah Langah 3 Node turunan dhubungan dengan Q,q edge (dan subtree-nya) emungnan d cut off - Ftur Q,q dembalan pada hmpunan ftur yang terseda pada pembuatan tree, yatu : Ψ = Ψ dan r = r +, { Q, q } \ { Q } Q = Q, q dan q = q, - emudan dlanutan dengan node sebelah rnya dan embal e Langah 2 Langah 4 Bactracng: = - a =, maa semua tree telah dcar sampa selesa dan algortma selesa - Lannya ftur Q, q dembalan pada hmpunan anddat, sehngga X = X + { Q, q } dan dlanutan e Langah 3 Langah 5 nla bound d-update: - x =, q - hmpunan bagan terba saat tu dsmpan dalam X = X + dan dlanutan e Langah 2 Alur dar langah-langah algortma Improved Branch and Bound tersebut secara umum dapat dgambaran dengan menggunaan flowchart yang dapat dlhat pada Gambar 2 Gambar 2 Flowchart Algortma Improved Branch and Bound 5 BRANCH AND BOUND PARTIAL PREDICTION Algortma Branch & Bound Partal Predcton (BBPP) n bertuuan untu mengurutan node-node pada tap level tree dengan umlah evaluas rtera yang ecl Tuuan algortma BBPP n hampr sama dengan algortma IBB, hanya saa pada algortma BBPP n ada tambahan dengan menggunaan sedt preds Meansme preds yang dgunaan oleh algortma BBPP n menggunaan pengumpulan statst dar nla rtera turunan yang dsebaban oleh penghlangan sebagan ftur selama proses pencaran Satu ftur beda dhlangan dalam tahap pembentuan pohon dan nformas preds dumpulan secara terpsah untu tap ftur Algortma BBPP n menggunaan vetor ontrbus yang merupaan vetor dar ontrbus ftur pada nla rtera dan dnotasan dengan A = [ A, A,, A ] T 2 D (3) Vetor n menympan rata-rata nla rtera turunan yang dsebaban oleh penghlangan satu ftur dar hmpunan bagan current anddat untu tap ftur Algortma n uga menggunaan vetor ounter yang menympan umlah evaluas dar nla rtera turunan yang dlauan pada tap ftur tunggal Vetor n dnotasan dengan S = [ S S,, S ] T, 2 D (4) Notas-notas lan yang dgunaan dalam algortma BBPP n adalah notas-notas yang dgunaan dalam algortma IBB
Keta algortma menghlangan beberapa ftur y dar hmpunan bagan current anddat dan menghtung nla rtera sebenarnya yang berhubungan ( x \ { y }) pada level pohon e-, maa nformas preds dupdate sebaga berut: Ay S + ( ( ) ( \ { } ) y x x y A y = (5) S y + dan S y = S + y (6) dengan A y dan S y nsalsas awalnya dset 0 untu semua =,, D Langah-langah dar algortma BBPP adalah sebaga berut [SPK04]: Insalsas awal: = 0, x 0 = Y, Ψ = Y, r = D dan x merupaan nla palng ecl yang mungn Langah : Memlh turunan dar current node untu membentu level pohon yang berhubungan - q = r ( D d ), - emudan dbentu hmpunan terurut Q dan vetor sebaga berut: a semua ftur ψ Ψ dengan =,, r durutan secara menurun berdasaran pada nla A ψ dengan =,, r dengan syarat Aψ A A ψ ψ 2 r b emudan dplh ftur sebanya q ftur dar hmpunan ftur yang ada pada Ψ, yatu dengan cara: Q, = ψ untu =,,q, ( X \ { ψ }), = untu =,,q c Untu menghndar evaluas ganda, maa ftur ψ dhlangan dar Ψ, yatu : Ψ = Ψ \ Q dan r = r q Untu Langah 2, 3, 4 dan 5 sama dengan algortma IBB Alur dar langah-langah algortma Branch and Bound Parta Predcton tersebut secara umum dapat dgambaran dengan menggunaan flowchart yang dapat dlhat pada Gambar 3 6 FAST BRANCH AND BOUND Algortma Fast Branch & Bound (FBB) merupaan algortma Branch & Bound dengan menggunaan suatu meansme preds yang lebh ba darpada algortma Branch & Bound Partal Predcton Algortma Fast Branch & Bound (FBB) n lebh mengurang umlah perhtungan fungs rtera dalam nternal node pohon pencaran Algortma menggunaan nformas dar nla rtera turunan untu preds nla rtera selanutnya Perhtungan nla rtera dan preds nla rtera sama-sama dperluan dalam algortma n Keduanya dgunaan untu mengurutan node-node pohon, memersa subtree apaah memungnan untu d-cut off, dan lan sebaganya Algortma n hanya mengnan preds a eadaaanya memungnan, yatu a node yang dpreds buan leaves dan buan merupaan node yang me-trgger sebuah node untu d-cut off Gambar 3 Flowchart Algortma Branch and Bound Partal Predcton Setap preds harus dpersa dan dbandngan dengan nla bound a preds nla rtera lebh besar dar nla bound, maa nla sebenarnya tda aan lebh rendah dar nla bound Algortma tda boleh me-cut off subtree yang berhubungan dalam onds n dan algortma melanutan membentu level pohon selanutnya Namun, a preds nla rtera sama dengan nla bound, dalam onds n ada emungnan nla rtera sebenarnya lebh ecl dar nla bound, maa nla rtera sebenarnya harus dhtung Hanya a nla rtera sebenarnya membutan bahwa lebh rendah darpada nla bound saat tu, maa subtree boleh d-cut off Preds yang dgunaan dalam algortma n tda mempengaruh eoptmalan hasl yang ddapat Preds yang tda aurat tda aan memperburu pada pembentuan subtree yang aan d-cut off Algortma menggunaan preds
n seserng mungn, arena hal n bsa menghemat watu Algortma FBB n uga menggunaan vetor ontrbus dan vetor ounter sepert yang dgunaan dalam algortma BBPP Sebelum setap rtera devaluas, reord pada vetor ounter dpersa lebh dulu apaah coco untu masuan selanutnya a meansme preds n telah mendapatan nformas yang cuup (nla ounter > spesfas mnmum), maa nla rtera aan dpreds, dan a sebalnya, maa nla rtera sebenarnya yang aan dhtung Sangat pentng membedaan antara nla preds dan nla rtera sebenarnya Oleh arena tu, dalam algortma n dgunaan sebuah vetor dar nla tpe (ddefnsan dengan vetor tpe) Vetor tpe n untu menympan tpe nodenode pada level pohon saat tu Nla tpe yang dgunaan dalam vetor tpe n adalah P, a nla rteranya dpreds, dan C, a nla rteranya dhtung Notas-notas yang dgunaan dalam algortma Fast Branch & Bound sama dengan notas yang dgunaan dalam algortma BBPP, namun ada sedt tambahan notas yang dgunaan, yatu: a) δ yang merupaan umlah evaluas mnmum b) γ 0 yang merupaan optmsm c) = [ T, T T ] T, T, {" C"," P" } untu T,,2,, q =,, q yang merupaan vetor tpe dar nla rtera d) V = [ v v,, v ] T, 2 q yang merupaan vetor terurut untu sementara Keta algortma menghlangan beberapa ftur y dar hmpunan anddat ftur yang ada dan menghtung nla rtera sebenarnya yang berhubungan, yatu ( x \ { y }), pada level pohon e- dan a nla sebelumnya ( x ) ( x \ { y }) telah dhtung (dtunuan oleh T, y = " C" ), maa A y dan S y dupdate dengan rumus Ay S +, ( \ { }) y y x y A y = dan S + S = S + y y y Langah-langah dar algortma FBB adalah sebaga berut [SPK04]: Insalsas: = 0, χ 0 = Y, Ψ = Y, r = D, x = ~ Langah Memlh eturunan dar current node untu membentu level pohon yang berhubungan - q = r ( D d ), - emudan dbentu Q,, T sebaga berut: a Untu tap ftur ψ Ψ dan =,, r a ( + < D d ) and S ψ > δ Hal n berart preds dnan dan emudan v = A, q ψ Lannya maa nla rtera sebenarnya yang harus dhtung dan v = ( x \ { ψ }) b Setelah semua nla v dperoleh, maa selanutnya durutan secara ascendng, yatu : v v v 2 r c Untu nla =,, q, maa: Q, = ψ dan, = v, a v merupaan sebuah reord yang nlanya dhtung d, =, q γ A ψ, a v merupaan sebuah reord yang nlanya dpreds e T, = " C", a v merupaan sebuah reord yang nlanya dhtung f T, = " P" a v merupaan sebuah reord yang nlanya dpreds - Untu menghndar evaluas ganda, maa : Ψ = Ψ \ Q dan r = r q Langah 2 Memlh turunan node palng anan - a q = 0, maa semua turunan telah dpersa dan dlanutan e Langah 4 (bactracng) - a ( T, q = " P" ) AND, q < x, maa nla sebenarnya yang dhtung, yatu:, q = ( x \ { Q, }) dan T, q = " C" q, q = C AND, q < x, maa dlanutan e Langah 3 X + = X \ Q, q a a + = D d, maa telah mencapa satu leaf dan dlanutan e Langah 5 b Lannya menuu e level selanutnya - a ( T " ") - Lannya { } dengan = + dan dlanutan e Langah Untu Langah 3, 4 dan 5 sama dengan Langah 3, 4 dan 5 pada algortma IBB Alur dar langah-langah algortma Fast Branch and Bound tersebut secara umum dapat dgambaran dengan menggunaan flowchart yang dapat dlhat pada Gambar 4
Gambar 5 Hasl evaluas fungs rtera a pada algortma BBB, IBB, BBPP dan FBB Gambar 6 Hasl evaluas fungs rtera b pada algortma BBB, IBB, BBPP dan FBB Gambar 4 Flowchart Algortma Fast Branch and Bound 7 HASIL UI COBA U coba menggunaan data sntet dengan umlah ftur sebanya 30 yang telah durutan secara monotoncty Terdapat lma ens u coba yang dlauan, yatu: u coba pemlhan ftur dengan fungs rtera: a ( x ) = b c ξ x 2 ( ) ( x = ) 2 ξ x 3 ( x) = ξ x d ( x) = ξ x e ( x) = ξ x x Hasl dar u coba yang telah dlauan dapat dlhat pada Gambar 5, 6, 7, 8 dan 9 Gambar 7 Hasl evaluas fungs rtera c pada algortma BBB, IBB, BBPP dan FBB Gambar 8 Hasl evaluas fungs rtera d pada algortma BBB, IBB, BBPP dan FBB
Gambar 9 Hasl evaluas fungs rtera e pada algortma BBB, IBB, BBPP dan FBB 8 SIMPULAN Berdasaran aplas yang telah dbuat beserta u coba yang telah dlauan, dapat dambl beberapa esmpulan sebaga berut: Algortma Branch and Bound sangat dpengaruh oleh fungs rtera dan data yang dgunaan 2 Preds yang dgunaan pada algortma BBPP dan algortma FBB menyebaban performance edua algortma tersebut lebh ba darpada algortma IBB maupun BBB 3 Konds terburu yang terad pada eempat algortma Branch and Bound, yatu bla fungs rtera yang dgunaan menyebaban semua ftur menghaslan nla rtera yang sama sehngga tda ada cabang yang mengalam cut off 4 Nla rtera tda tergantung dar uuran subset pada level tree, arena nla rtera sangat tergantung pada fungs rtera yang dgunaan IEEE Trans Pattern Analyss and Machne Intellgence, vol 9, pp 53-58, 997 [KGV83] S Krpatrc, CD Gelatt r dan MP Vecch, Optmzaton by Smulated Annealng, Scence, vol 220, no 4598, pp 67-680, 983 [LMD98] H Lu, H Matoda dan M Dash, A Monotonc Measure for Optmal Feature Selecton, Proc European Conf Machne Learnng, pp 0-06, 998 [NF77] PM Narendra dan K Fuunaga, A Branch and Bound Algorthm for Feature Subset Selecton, IEEE Trans Computers, vol 26, no 9, pp 97-922, Sept 977 [SPFK00] P Somol, P Pudl, F Ferr dan Kttler, Fast Branch and Bound Algorthm n Feature Selecton, Proc Fourth World Multconf Systemcs, Cybernetcs, and Informatcs, vol 7, Part, pp 646-65, 2000 [YY93] B Yu dan B Yuan, A More Effcent Branch and Bound Algorthm for Feature Selecton, Pattern Recognton, vol 26, pp 883-889, 993 [NIST] http://wwwnstgov 9 DAFTAR PUSTAKA [FUK90] K Fuunaga, Introducton to Statstcal Pattern Recognton, second ed Academc Press, Inc, 990 [SPK04] P Somol, P Pudl dan Kttler, Fast Branch and Bound Algorthm for Optmal Feature Selecton, IEEE Trans On Pattern Analyss and Machne Intellgence, vol 26, No 7, pp 900-92, 2004 [DHS0] RO Duda, PE Hart dan DG Stor, Pattern Classfcaton, ohn Wley & Sons,Inc, 200 [CF94] R Caruana dan D Fretag, Greedy Attrbute Selecton, Proc Int l Conf Machne Learnng, pp 28-36, 994 [Z97] AK an dan D Zonger, Feature Selecton: Evaluaton, Applcaton, and Small Sample Performance,