ALGORITMA ROBUST GROWING NEURAL GAS DENGAN APLIKASINYA DALAM ANALISA KLASTER
Rully Soelaiman1, Yudhi Purwananto1 dan Ahmad Zaki Mubarok.1 1 Fakultas Teknologi Informasi,
Institut Teknologi Sepuluh Nopember (ITS), Surabaya, 60111, Indonesia E-mail : [email protected]
Abstraksi
Dalam Tugas Akhir ini Kami akan mengimplementasikan sebuah algoritma Klastering yang berada dalam Growing Neural Gas (GNG) framework yang disebut dengan Robust Growing Neural Gas (RGNG) network. Dengan menggabungkan beberapa strategi ketahanan (robustness), seperti skema penghalang pencilan (outlier resistant scheme),adaptive modulation of learning rates dan cluster repulsion method kedalam framework GNG tradisional, RGNG yang diajukan ini mempunyai sifat ketahanan (robustness) yang lebih baik . RGNG tidak sensitif terhadap inisialisasi, pengaturan urutan input dan keberadaan dari pencilan (outlier). Lebih lanjut, jaringan RGNG dapat secara otomatis menentukan jumlah klaster dengan mencari nilai ekstrem dari ukuran Minimum Description Length (MDL) selama pengembangan jaringan. Posisi pusat dari jumlah klaster yang optimal yang direpresentasikan oleh vektor-vektor prototipe sangat dekat dengan kenyataan tanpa memperdulikan keberadaan dari pencilan (outlier).
Hubungan topologis diantara prototipe-prototipe ini juga dapat dibangun. Hasil eksperimen telah menunjukkan performa yang superior dari RGNG dibandingkan GNG yang tradisional yang memakai metode MDL yang disebut GNG-M, dalam tugas pengklasteran data statis. Kata Kunci : Robust Clustering Algorithm, Robust Growing Neural Gas, Prototypes,Pencilan (outlier), Outlier Resistant, Minimum Description Length, Topology Formation.
1. Penda huluan
Analisa Klaster (Jain, Murty, & Flynn, 1999) adalah sebuah alat yang krusial dan berguna untuk mengeksplorasi dan menemukan struktur yang mendasari data dengan cara crisp ataupun fuzzy membagi satu set dari N input vektor X = {x1, x2,...xN } ke dalam c, 2≤c≤ N grup yang alami yang disebut klaster, sedemikian hingga setiap vektor input dapat dikelompokkan kepada setiap klaster dengan derajat tertentu daripada kepemilikan. Analisa klaster mempunyai aplikasi dalam beberapa lapangan yang
berbeda mulai dari pattern recognition (Kato &
Nemoto, 1996), data mining (Berkhin, 2002), computer vision (Clark et al., 1994 ; Frigui &
Krishnapuram, 1999), dan communication (Ahalt, Krishnamurty, Chen, & Melton, 1990) sampai ke information retrieval (Bhatia & Deogun, 1998) dan bioinformatics (Ressom, Wang, & Natarajan, 2003).
Tidak ada standar kategorisasi yang pasti untuk teknik klasterisasi (Jain et al., 1999). Secara tradisional, metode pengklasteran dapat dibagi kedalam hierarchical clustering dan partitioning clustering. Metode partitioning secara langsung mengelompokkan seluruh titik-titik data berdasarkan beberapa kriteria yang pantas, seperti similarity, density, kedalam beberapa klaster. Tugas akhir ini memfokuskan diri pada algoritma klasterisasi berbasis prototipe (prototype-based clustering algorithm). Hard atau crisp Clustering (Duda & Hart, 1973) dan fuzzy clustering (Bezdek, Keller, Krishnapuram, & Pal, 1999) sering dianggap dua cabang dalam klasterisasi yang berbasis prototipe.
Hard clustering mengelompokkan setiap titik data kepada tepat satu klaster sedangkan fuzzy clustering mengelompokkan setiap titik data kedalam beberapa klaster dengan derajat keanggotaan yang bervariasi.
Dalam tugas analisa klaster, performa dari sebuah algoritma klasterisasi dapat secara signifikan bergantung kepada pilihan yang tepat dari jumlah klaster dalam data yang bersangkutan.
Bagaimanapun, kebanyakan dari metode tradisional, seperti algoritma hard clustering dan fuzzy clustering, butuh untuk secara subjektif menentukan parameter yang krusial ini secara lanjut tanpa pengetahuan awal tentang struktur dari set data yang akan diolah. Dalam kasus ini, setiap protipe dapat menemukan posisi yang sebenarnya dari klaster-klaster yang alami ketika sebuah fungsi objektif yang merepresentasikan jumlah dari jarak dari vektor input diminimalkan hanya jika jumlah klaster ditentukan secara tepat.
Sebaliknya, jika jumlah klaster ditentukan secara salah, hasil akhir klasterisasi tidak memuaskan bahkan tidak berarti. Menentukan jumlah klaster telah menjadi persoalan yang menantang (Bischof, Leonardis, & Selb, 1999; Frigui & Krishnapuram, 1997, 1999; Hamerly & Elkan, 2003;Pelleg & Moore, 2000; Ray & Turi, 1999; Yu, 1998). Beberapa
peneliti menyarankan untuk menginisialisasi proses klasterisasi dengan prototipe dengan jumlah yang besar, kemudian melakukan penggabungan atau skema penghapusan selama proses pembelajaran (learning) untuk mengurangi jumlah prototipe menuju jumlah yang optimal. Beberapa contoh dari pendekatan ini adalah Robust Competitive Clustering Algorithm (Frigui & Krishnapuram, 1997, 1999), Robust Vector Quantization Algorithm (Bischof et al., 1999), dan lain-lain. Bagaimanapun, adalah sulit dalam kebanyakan kasus untuk memilih jumlah prototipe yang besar karena kurangnya pengetahuan awal tentang set data. Terlebih lagi, beberapa nilai batas (threshold) yang digunakan dalam metode ini sulit untuk ditentukan. Pendekatan yang lain untuk mengatasi masalah ini adalah skema tumbuh (growing scheme) (Hamerly & Elkan, 2003; Pelleg &
Moore, 2000; Ray & Turi, 1999; Yu, 1998), yang dimulai dengan sedikit prototipe, kemudian membiarkan atau memasukkan prototipe baru berdasarkan beberapa kriteria. Bila dibandingkan, metode pertumbuhan (growing) lebih memerlukan sedikit komputasi dibandingkan metode pembabatan (pruning). Biasanya suatu angka jumlah maksimum prototipe yang telah didefinisikan dan sebuah nilai ekstrem dari ukuran validasi tertentu digunakan untuk menentukan pemberhentian dari pertumbuhan dan jumlah prototipe sebagaimana juga posisi yang sesuai dari prototipe tersebut. Algoritma X-means (Pelleg &
Moore, 2000) dan algoritma G-means (Hamerly &
Elkan, 2003) adalah dua buah algoritma terkenal yang mewakili kelompok ini. Bagaimanapun, performa dari pendekatan pertumbuhan (growing) tersebut dapat memburuk secara signifikan ketika set data terkontaminasi beberapa pencilan (outlier). Lebih jauh, walaupun jumlah sebenarnya dari klaster telah terdeteksi, posisi pusat klaster yang diperoleh akan terdeviasi secara signifikan dibandingkan posisi yang sebenarnya disebabkan keberadaan pencilan (outlier).
Sudah dimaklumi bahwa pencilan atau titik kotor (noisy points) ditimbulkan dalam setiap tahap operasi dalam proses rekayasa dan aplikasi scientific dalam dunia nyata. Lebih lanjut, posisi awal dari prototipe dan urutan input dari vektor dapat bervariasi secara signifikan. Jika performa dari sebuah algoritma klasterisasi bervariasi secara signifikan disebabkan oleh perubahan keadaan awal, urutan input atau keberadaan dari pencilan, hasil klastetrisasi akan bernilai rendah. Oleh karena itu, sangat diharapkan untuk membangun algoritma klasterisasi yang tidak hanya mampu menentukan jumlah optimal dari klaster, tetapi juga yang tidak sensitif terhadap inisialisasi, urutan input dan keberadaan dari pencilan.
Ketahanan (robustness) dari beberapa algoritma klasterisasi yang ada adalah tidak
memuaskan, sebagaimana algoritma-algoritma tersebut sensitif terhadap inisialisasi dan urutan input ketika posisi akhir dari prototipe dapat terpengaruh secara signifikan oleh keberadaan pencilan (outlier).
Dalam beberapa tahun ini, beberapa variasi ketahanan (Chintalapudi & Kam, 1998; Pal, Pal, & Bezdek, 1997; Wu & Yang, 2002, Yang, Wang, & Yen, 2002) dari metode klasterisasi tradisional telah diajukan untuk menanggapi isu ketahanan (robustness).
Bagimanapun, beberapa metode (Bischof et al., 1999;
Frigui & Krishnapuram, 1999) yang dimulai dengan dengan jumlah prototipe yang besar, mengklaim mempunyai kemampuan untuk mendeteksi secara benar jumlah klaster yang optimal maupun posisi pusat klaster yang bersesuaian dalam keberadaan dari pencilan.
Dalam Tugas akhir ini, kami akan mengaplikasikan sebuah algoritma baru Robust Growing Neural Gas (RGNG) network. Dalam RGNG akan diperkenalkan strategi ketahanan terhadap pencilan yang digunakan dalam algoritma Robust Neural Gas (Qin &
Suganthan, 2004), dan modulasi adaptif dari setiap prototype’s learning rate dan skema penolakan klaster yang digunakan untuk menghindari kejadian dari prototipe yang kebetulan dalam Growing neural Gas (GNG) framework (fritzke, 1995), RGNG ini dapat secara efektif mengatasi pengaruh dari pencilan (outlier) dan mengurangi kepekaan terhadap
inisialisasi maupun urutan input selama proses tumbuh yang berbeda. Jaringan ini dimulai dengan jumlah prototipe yang sedikit, biasanya dua, dan secara bertahap berkembang dengan menghadirkan prototipe yang baru. Adaptive learning rate untuk prototipe pemenang dan tetangga topologisnya diperkenalkan untuk membedakan prtotipe-prototipe berdasarkan urutan masukan mereka, sehingga prototipe yang baru dimasukkan akan mempunyai learning rates yang lebih besar untuk mencari beberapa klaster yang belum teridentifikasi. Dalam setiap tahap pertumbuhan, kriteria Minimum Description Length (MDL) digunakan untuk kevalidan suatu klaster berdasarkan jumlah klaster ketika itu dan posisi pusat klaster yang bersesuaian.
Sebagai akibatnya, algoritma RGNG yang diajukan ini dapat menghasilkan jumlah klaster yang optimal dan posisi dari pusat-pusat klaster yang bersesuaian dengan dengan nilai MDL yang minimum.
Dibandingkan dengan algoritma GNG yang memakai MDL kriteria, yang dinamakan GNG-M, algoritma RGNG ini dapat mencari jumlah optimal klaster dengan lebih efektif selama proses pertumbuhan, dan posisi pusat klaster yang bersesuaian lebih mendekati pusat klaster yang sebenarnya dengan hanya sedikit pengaruh dari pencilan
2. Dasar Teori
2.1 Algoritma Growing Neural Gas (GNG) dan Robust Growing Neural Gas (RGNG)
Algoritma GNG dan RGNG
Berasal dari algoritma Neural Gas (NG), fritzke mengusulkan sebuah agoritma jaringan yang bisa mengorganisasi dirinya sendiri secara inkremental dengan sebuah struktur topologis yang variabel, yang dinamakan algoritma Growing Neural Gas (GNG). Untuk setiap vektor referensi wi , i=1,2...,c sebuah set edge yang berasal darinya ditentukan untuk berhubungan dengan tetangga topologisnya secara langsung. Algoritma GNG mulai dengan sedikit vektor prototipe (biasanya dua) dan vektor-vektor prototipe secara sukses dimasukkkan, setelah jumlah masa training tertentu yang dinamakan
_, dekat dengan prototipe yang mempunyai nilai eror lokal yang terakumulasi yang paling besar (largest accumulated local error). Karena strategi pemasukan gradual ini, posisi dari sedikit prototipe awal mungkin mempunyai sedikit pengaruh kepada performa klasterisasi. Prosedur pertumbuhan ini akan berhenti ketika jumlah maksimum dari klaster atau ukuran performa yang telah ditentukan telah dicapai.
Dalam GNG, dalam kehadiran sebuah vektor input x, pembaharuan prototipe (prototipe updating) hanya beroperasi pada prototipe pemenang (winning prototype) WS1 dan tetangga topologisnya yang berhubungan secara langsung W1 , , dimana
adalah set dari tetangga yang berhubungan secara topologis langsung dari prototipe W. Lebih lanjut, kekuatan pembaharuan berbeda untuk prototipe pemenang dengan tetangganya. Aturan pembaharuan untuk algoritma GNG dapat dinyatakan sebagai berikut :
∆Ws1 = ɛb. (x-ws1) , ∆wi = ɛn . (x-wi) , , (3)
Disini, ɛb dan ɛn melambangkan constant learning rate untuk prototipe pemenang dan tetangga topologisnya yang berhubungan secara langsung.
Algoritma GNG dapat mendeteksi prototipe yang tidak aktif yang tidak pernah menang pada waktu yang lama, dengan menelusuri perubahan dari variabel umur (age) yang diasosiasikan dengan setiap edge.
2.1.2 Implementasi dari algoritma GNG Mulailah dengan satu set vektor prototipe (biasanya 2) W = {w1, w2} secara random, learning rates ɛb dan ɛn yang digunakan dalam prosedur training dan sebuah
set koneksi C di set menjadi set yang kosong : C = ɛ.
Set juga jumlah maksimum dari prototipe untuk tumbuh sebagai pre_numnode dan jangka waktu maksimum untuk training _ selama tahap pertumbuhan dengan jumlah tertentu dari prototipe.
Set juga angka masa training awal: m=0 dan tahap iterasi dalam jangka waktu m : t=0. Sehingga tahap total iterasi dalam setiap tahap pertumbuhan adalah : iter=m.N + t. Set data digunakan untuk training adalah X = {x1,x2,....,xN}.
(a) While jumlah prototipe ≤ pre_numnode dan beberapa ukuran performa yang telah ditentukan, jika ada, belum terpenuhi
(b) For m = 0 to Max_iter – 1
• Set t =1, sehingga iter=m.N+t.
• Set trainingset = X, yaitu semua vektor input kedalam trainingset.
(c) If trainingset belum kosong
• Ambil secara random sebuah vektor input Xmt , pada setiap tahap iterasi t dalam jangka waktu training m, dari trainingset
• Tentukan pemenang s1 dan prototipe kedua yang terdekat s2 (s1,s2 elemen W) dengan s1
=argmin || Xmt - wi iter || dan s2 = argmin i elemen
W/{s1} || Xmt - wi iter || dimana iter = m.N + t.
• Jika sebuah koneksi diantara s1 dan s2 belum ada, maka buatlah C = C U {(s1,s2)}.
Set umur (age) dari koneksi antara s1 dan s2 menjadi 0 yaitu age (s1,s2) = 0.
• Tambah jarak yang dikuadratkan (squared distance) diantara vektor inputdan prototipe pemenang kedalam variabel lokal untuk eror yang terakumulasi : ∆Es1 = || Xmt – Ws1||2 .
• Adaptasikan vektor referensi dari pemenang dan tetangga topologisnya secara langsung dengan pecahan ɛb dan ɛn berturut-turut, dari total jarak ke vektor input. ∆Ws1 = ɛb. (x-ws1) , ∆wi = ɛn . (x-wi) ,
dimana Ns1 adalah set dari tetangga topologis yang berhubungan langsung dengan s1.
• Naikkan age dari setiap edge yang keluar dari s1 : age (s1, i) = age (s1, i) + 1, .
• Buang edge dengan nilai age lebih besar daripada αmax. Jika hal ini menghasilkan prototipe yang tidak mempunyai edge lagi maka buanglah prototipe tersebut.
• Naikkan tahap iterasi t dengan 1 dan buang vektor yang telah terpakai Xmt dari
trainingset.
(c) End If (b) End For
(d) If jumlah prototipe sekarang ≠ pre_numnode
• Tentukan prototipe q dengan maksimum accumulated error : q=argmaxielemenWEi.
• Tentukan, diantara tetangga q, prototipe f dengan maximum accumulated error : f = argmaxielemenNqEi .
• Tambahkan sebuah prototipe r kepada jaringan dan interpolasikan vektor
referensinya dari q dan f : W=WU{Wr}, Wr
= (Wq + Wf)/2.
• Masukkan edge yang menghubungkan prototipe baru r dengan prototipe f dan q, berturut-turut, dan buang edge asal yang menghubungkan antara q dan f : C = C U{(r,q),(r,f)}, C = C \{(q,f)}
• Kurangi nilai error dari q dan f dengan pecahan α :
• ∆Eq = -α. Eq, ∆Ef= -αEf
• Interpolasikan nilai error dari r dari q dan f:
Er = (Eq + Ef)/2
• Kurangi nilai error dari semua prototipe ∆Ei
= -beta.Ei,
(d) End If (a) End While
Algoritma Robust Growing Neural Gas (RGNG) Ketahanan (robustness) adalah sebuah karakteristik yang penting dari algoritma klasterisasi yang bagus. Menurut Huber (Dave & Krishnapuram, 1997): sebuah algoritma yang tahan harus mempunyai sifat-sifat berikut ini : (1) Algoritma tersebut harus memperoleh akurasi yang bagus pada model yang telah diasumsikan; (2) Deviasi yang kecil dari asumsi model hanya sedikit mempengaruhi performa; (3) deviasi yang besar dari asumsi model tidak menyebabkan kehancuran. Metode klasterisasi yang tradisional, seperti algoritma yang berbasis prototipe, sering mempunyai performa yang bagus dalam kondisi (1), dan isu ketahanan yang utama buat metode tersebut adalah kepekaan terhadap inisialisasi, urutan vektor input dan kehadiran jumlah besar dari pencilan.
Algoritma GNG mungkin saja jarang mengalami ‘dead nodes’ (yang berarti bahwa beberapa prototipe tidak pernah menang selama prosedur training dikarenakan inisialisasi yang kurang bagus) karena metode ini menggunakan skema pertumbuhan, strategi pembelajaran yang sekuensial dan aturan soft-max updating. Sebenarnya, masalah inisialisasi secara implisit dikonversi kepada urutan sekuensi input untuk metode pembelajaran secara sekuensial. Karena itu, jika urutan dari sekuensi input tidak dipilih secara baik, hasil yang bagus mungkin tidak akan diperoleh bahkan dengan
metode inisialisasi yang tidak peka. Dengan melihat terhadap klasterisasi, pencilan dapat dianggap sebagai vektor input, yang mana secara substansial tidak sama dengan titik-titik data yang berada pada klaster yang alami, yang dinamakan inlier. Oleh karena itu, tidak beralasan untuk mengelompokkan outlier kepada salah klaster manapun. Bagaimanapun, jika ada banyak outlier yang ada dalam set data, aturan pembaharuan prototipe yang ada dalam GNG bisa gagal membedakan pencilan (outlier) terhadap inlier, bahkan prototipe tersebut dapat secara signifikan tertarik keluar karena kehadiran pencilan ini.
Strategi Ketahanan Terhadap Pencilan
Dengan melihat kembali aturan update pada (3) yang digunakan dalam GNG, Menurut Qin &
Suganthan, formula ini sangat rapuh dalam lingkungan yang kotor dan peka terhadap urutan vektor input. Untuk menjelaskan alasannya, kita memformulasikan ulang rumus (3) sebagai :
∆ . . ! !"#
" ,
∆ . $ %$.$ !& !''($ , (4) %
Berdasarkan formula (4), juka sebuah pencilan (outlier) XO dihadirkan kepada jaringan GNG, amplitudo $) *$, , N. / 0S23 yang ditimbulkan sepanjang satuan arah &4 *(/
$4 *$ akan menjadi besar. Oleh karena itu pencilan dapat secara signifikan mempengaruhi proses pembaharuan protipe. Tambahan pula, ketika pencilan diletakkan pada posisi yang berbeda dalam urutan input dalam tahap perkembangan tertentu, kekuatan pembaharuan dari pencilan ini akan berbeda sesuai dengan urutan input dan dengan cara demikian membuat hasil alhir tidak stabil. Misalnya, jika kebanyakan pencilan dihadirkan diawal, kekuatan pembaharuan dari mereka kepada semua prototipe akan menjadi kuat sehingga set dari vektor referensi dibawah tahap perkembangan ini akan terjebak kepada inferior local minima. Idealnya, pencilan harus mempunya sedikit pengaruh dalam prosedur pembaharuan prototipe dalam rangka memperoleh posisi pusat klaster yang benar. Oleh karena itu informasi jarak absolut $ *$, * / 0623 harus dimodulasikan selama proses pembaharuan untuk mengidentifikasi dan menghilangkan pengaruh dari pencilan.
Dalam rangka untuk memperbaiki ketahanan dari aturan pembaharuan dalam (4), kita
memodifikasi aturan tersebut menjadi bentuk baru sebagi berikut :
7 . 8&(. #
, 72 9. 8%&(.$ !& !'(
'$, % '.
(5)
Dalam rumus yang baru ini, pertama-tama kita mensubtitusi jarak absolut $) *$, , N. / 0S23 dalam (4) dengan parameter 8,&(, , N. / 0S23 yang mana digunakan untuk membatasi kekuatan amplitudo yang disebabkan sebuah pencilan XO kepadaWk. Disini, parameter iter mewakili training iteration step selama tahap perkemabangan tertentu dan ketika jumlah prototipe dinaikkan, iter harus direset menjadi satu.
Dengan menganggap bahwa masa training _
digunakan untuk mentraining jaringan dalam satu tahap perkembangan dan proses pembelajaran adalah pada iterasi t, 1≤t≤N, dari masa training m, 0≤m≤Max_iter-1 (yaitu total tahap iterasi pada tahap perkembangan tertentu adlah iter=m.N+t), parameter 8,&( adalah didefinisikan sebagai berikut
8,&iter( 8>?&t(
@A,B&( jika XG? W>HGIJ K A,B& 1(
MB ,%MNO jika G? >HGIJ P A,B& 1(Q (6)
dengan
A,B&(
RS T SU
V1 2 X 1
A,B&( Y 1
ZG? >HGIJZ[\
2
jika G? >HGIJ K A,B& 1(
1
2 ]A,B& 1( Y G? >HGIJ^ jika G? >HGIJ P A,B& 1(
Q
dan A,B&0(
X1
` 1
a ,Bb
b ac2
[
2
, &8(
dimana N, G? dan >HGIJ secara berturut- turut melambangkan jumlah dari vektor input, vektor input yang dihadirkan pada iterasi t dari masa training m dan vektor referensi k pada tahap iterasi total t selama tahap perkembangan tertentu. Lambang A,B&( merupakan restricting distance untuk prototipe
,, e / 0623, yang meliputi informasi jarang sekarang maupun jarang historis dan dapat digunakan untuk membatasi jarak absolut yang besar yang disebabkan oleh pencilan yang mungkin. Initial restricting distance A,B&0( didefinisikan oleh persamaan (8) sebagai harmonic average dari jarak- jarak dari semua vektor input a, f 1,2, … , untuk setiap prototipe ,B.b, , e 1,2, . . h sebelum iterasi pertama dari masa training m.
Arti dari lambang 8,&iter( dapat dijelaskan sebagai berikut. Didalam tahap perkembangan tertentu, sebelum iterasi pertama dari setiap masa training m, yaitu iter=m.N, kita menghitung harmonic average distance A,B&0( dengan menggunakan persamaan (8) untuk setiap prototipe Wk, selama masa training m, ketika tahap iterasi t dinaikkan dengan 1, kita merata-rata jarak absolut G? >HGIJ
dengan historical restricting distance A,B& 1(
untuk menggantikan restricting distance yang sekarang A,B&(, seperti dalam persamaan (7). Disini, persamaan (7) mengindikasikan bahwa jika jarak absolut yang sekarang adalah lebih besar atau sama dengan historical restricting distance maka kita mengambil harmonic average dari mereka, jika absolute distance sekarang lebih kecil, kita mengambil arithmatic average dari mereka. Dengan cara ini, absolute distance yang besar diantara G?
dan prototipe >HGIJ, * / 0623 dapat ditekan.
Persamaan (6) memperlihatkan bahwa jika absolute distance yang sekarang lebih besar atau sama dengan historical restricting distance, kita mengambil restricting distance yang sekarang sebagai 8,&iter(, dan jika sebaliknya maka absolute distance yang sekarang yang akan digunakan. Dengan menggabungkan historical movement distance information dengan current movement distance untuk setiap prototipe, algoritma RGNG dapat secara bertahap menekan pengaruh yang berasal dari pencilan yang mungkin ada selama training pada setiap tahap perkembangan dan secara konsekuen masalah pengaturan urutan input dapat secara signifikan diperlemah.
Dibandingkan dengan persamaan (3), aturan pembaharuan yang baru ini tidak mengubah arah gradient descent ketika secara heuristis dan adaptif mengatur amplitudo dari gradient descent (Haykin, 2001) sepanjang arah aslinya dalam rangka untuk menghalangi pengaruh dari pencilan. Sebagai hasilnya, posisi akhir dari semua prototipe dapat
secara benar diperoleh dengan pengaruh pencilan yang tereduksi.
Adaptive Learning Rates dan Skema Cluster Repulsion
Dengan strategi penghalang pencilan diatas, proses training pada setiap tahap dengan jumlah tertentu dari prototipe adalah tidak peka terhadap kehadiran pencilan. Oleh karena itu, prototipe yang ada mampu untuk menemukan daerah yang berarti dalam set data ketika prototipe yang ada harus memperhalus pusat klaster disekitar mereka.
Bagaimanapun, dalam algoritma GNG yang asli, prototipe yang baru dimasukkan dan prototipe yang telah ada mempunyai learning rates yang sama dan
9 sehingga keduanya mempunyai kekuatan pembaharuan yang sama untuk vektor input dari sebuah daerah yang teridentifikasi. Dalam kenyataannya, selama training, prototipe yang sekarang kira-kira telah menemukan beberapa klaster dan seharusnya mereka secara bertahap memperhalus posisi mereka menuju pusat klaster yang sebenarnya.
Kebalikannya, prototipe yang baru dimasukan harus menghindari untuk menemukan klaster yang sama dengan prototipe yang sudah ada dan mencoba menemukan beberapa klaster yang baru. Untuk merealisasikan ide ini, dalam RGNG diperkenalkan adaptive learning rates dan 9 yang mengambil nilai berbeda untuk prototipe yang dimasukkan dalam urutan yang berbeda, dan berarti membuat mereka berkurang secara monoton dengan kenaikan dari prototipe yaitu :
i %i&ji /%i (kON9lmNn/kON_9oB9lmN (9)
dan
9i 9%i &9ji p9ji (kON9lmNnpkON_9oB9lmN, q 1, … . , h
dimana %i , ji , 9%i ,9ji ,r_stus)A
dan h merupakan lambang dari nilai awal dan nilai akhir dari i dan 9i yang berhubungan dengan prototipe q, jumlah maksimum dari prototipe yang telah terdefinisikan terlebih dahulu dan jumlah prototipe sekarang dalam jaringan secara berturut- turut. Parameter prenodel mendefinisikan hitungan rangking untuk prototipe l, yang mana diset menjadi 0 untuk prototipe yang baru dimasukkan dan dinaikkan dengan nilai 1 untuk prototipe ini setelah prototipe yang baru dimasukkan. Dengan cara ini, semakin lama sebuah sebuah prototipe, semakin dekat learning rates mereka i dan 9i menuju nilai akhir.
Disini, kita memilih nilai inisial menjadi 10 kali nilai akhir untuk kedua learning rates ini. Dengan cara ini, prototipe yang baru dimunculkan bisa mempunyai derajat adaptasi yang lebih tinggi untuk mengeksploitasi region yang baru dalam set data dan prototipe yang baru akan tetap memperbaiki posisi mereka.
Bagaimanapun, masih ada beberapa masalah dalam hal itu, dua prototipe yang berbeda bisa saja menemukan klaster yang sama secara simultan selama prosedur training karena sebuah vektor input dapat menarik baik prototipe pemenang maupun tetangga topologisnya menuju vektor input tersebut sehingga prototipe yang bertetangga dapat menemukan klaster yang sama. Untuk mengatasi permasalahan prototipe yang kebetulan ini (Timm, Borgelt, Dɛring, & Kruse, 2001), pembuat metode RGNG memperkenalkan skema penolakan bersama (mutual repulsion sheme untuk prototipe-prototipe yang berada dalam ketetanggan lokal. Diberikan sebuah vektor input x, prototipe pemenang yang bersangkutan dan tetangga topologisnya dapat dideteksi. Kemudian sebuah kekuatan penolak didefinisikan sebagai integral multiple dari jarak rata- rata diantara prototipe pemenang dan semua tetangga topologisnya. Sebagai tambahan, sebuah rumus exponential digunakan untuk memutuskan apakah sebuah prototipe yang bertetangga sangat dekat kepada pemenang dan rumus exponensial dapat memperlemah kekuatan penolakan ketika prototipe yang bertetangga adalah jauh dari pemenang. Kita menggabungkan ide diatas dengan aturan pembaharuan prototipe (5) dan memodifikasinya sebagai berikut
∆ v8v&(. #
∆% 9%8%&(& %(
$ %$ Y r wA x y z {∑ A%
}}
% #
% , %~
(10)
Dimana { dan }} lambang dari integral multiplier untuk mendefinisikan amplitudo dari kekuatan penolakan dan kardinalitas dari ketetanggaan topologis dari pemenang 62, secara berturut-turut. Parameter x mengontrol efek pelemahan dalam sitilah jarak diantar pemenang 62
dan tetangga-tetangganya. Dalam percobaan kita
yang akan datang, kita memilih nilai 0.1 dan 2 untuk x dan {, dan menurut percobaan pendahuluan, performa klasterisasi tidak begitu peka terhadap pemilihan dua parameter ini. Dengan mempergunakan tahap pembaharuan (10) daripada (5), prortotipe yang baru dimasukkan dapat mempergunakan kemampuannya untuk menemukan sebuah region klaster yang baru dan permasalahan prototipe yang kebetulan (Timm et al., 2001) dapat secara sukses dipecahkan.
Penentuan Jumlah Klaster Yang Optimal
Dalam tugas klastering, menentukan jumlah klaster yang optimal masih menjadi sebuah problem yang terbuka. Kebanyakan algoritma klasterisasi tradisional perlu untuk mendefinisikan terlebih dahulu jumlah klaster. Bagimanapun, disebabkan kurangnya pengetahuan akan tentang set data yang akan diklasterisasi, angka yang diasumsikan secara buruk dapat menyebabkan hasil yang kurang memuaskan. Dalam beberapa tahun terakhir, beberapa ukuran kevalidan klaster (cluster validity measures) telah diajukan untuk menjawab isu ini.
Diantara mereka, metode-metode teoritis informasi (information theoritical methods), seperti Akaike’s information criterion (AIC), Bayesian information criterion (BIC) dan Minimum Message Length (MML) dan lain-lain. (Pelleg & Moore,2000;Ray &
Turi, 1999; Yu, 1998), telah diterapkan secara sukses untuk memperoleh performa yang baik. Dalam algoritma RGNG ini, kita mempergunakan kriteria Minimum Description Length (MDL) (Tenmoto, Kudo, & Shimbo, 1998; Zemel,1994), salah satu dari daftar information theory evaluation yang terkenal, untuk menyajikan sebagai ukuran validitas klaster.
Prinsip dari Minimum Descriptiion Length, yang asalnya diusulkan oleh Risannen (1989) sebagai kriteria seleksi model, telah diaplikasikan secara luas dalam lapangan Neural Network (Bischof et al., 1999;Tenmoto et al., 1998; Zemel,1994) untuk mengevaluasi kemampuan jaringan untuk menggambarkan sebuah set data yang diberikan dengan menyeimbangkan kompleksitas dan kapabilitas dari jaringan. Disini, kita dapat memperlengkap kerja dari menentukan jumlah klaster yang optimal dengan menemukan jumlah tertentu dari vektor prototipe yang dapa meminimalkan panjang dari gambaran dari sebuah set V dari N sampel data.
Dikarenakan keberadaan dari pencilan (outlier), kita dapat membagi set data V menjadi dua subset I dan O, yang terdiri dari inlier dan outlier, secara berturut- turut. Dengan demikian, pembuat RGNG memformulasikan ekspresi dari kriteria MDL sebagai berikut :
&, ( u)A &, ( Y ) &, ( Y u)A &(.
(11)
W merepresentasikan dari set c vektor referensi
02, , … . , 3. Kita mengevaluasi kompleksitas dari model yang ada dengan istilah u)A &, (, dan panjang dari penyandiannya (encoding) diberikan oleh jumlah dari dua lambang : (1) panjang dari encoding seluruh prototipe, yang dituliskan dengan &(. (2) panjang dari encoding seluruh daftar dari , yang dinotasikan dengan
&&((, encoding dari length ) &, (
merepresentasikan error-error residual yang ditimbulkan dengan menggambarkan semua titik data inlier I dengan set prototipe W. Panjang deskripsi dari set pencilan (outlier) O, didenotasikan dengan u)A &(, biasanya diencoding dengan cara yang sama sperti vektor-vektor prototipe. Kapabilitas mode dalam menggambarkan seluruh data set V=I+O dapat direfleksikan dengan dua lambang dalam persamaan (11). Pembuat RGNG mempermudah kalkulasi dari nilai MDL dalam pendekatan ini seperti dalam Bischof et al. (1999)
&, (
h Y log h
Y ` ` ` u wlog w$, %,$
y , 1y
m ,c2
%c2
Y ||,
(12)
dimana h, A, , 62 As || merepresentasikan jumlah prototipe yang sekarang, dimensi dari vektor input, resolusi dari sumber data, lapangan penerimaan inlier dari prototipe % dan kardinaliats dari set outlier, secara berturut-turut. Disini, adalah jumlah dari bit yang diperlukan untuk mengencoding vektor data tunggal dan kita biasanya menghitung nilai ini berdasarkan jangkauan nilai rata-rata dari vektor input dan akurasi data : log &s/(, dan untuk lambang indeks &&(( kita mengadopsi skema encoding panjang yang tetap (fixed length encoding scheme) (Bischof et al.., 1999) dimana setiap titik inlier ~ adalah diencoding dengan log h bit dan sehingga &&(( log h. Kita mengasumsikan bahawa panjang dari encoding error term ) &, ( proporsional kepada magnitudonya, dan bahwa akurasi data adalah dalam semua A dimensi. Jika lambang error %( independen sepanjang setiap A dimensi, ini dapat diencoding secara terpisah sepanjang tiap dimensi sebagai :
& %( ` u&log &$, %,$/( , 1(,
m
,c2
oleh karena itu, total error encoding length adalah jumlah dari panjang-panjang error dalam setiap receptive field 6% dari prototipe % yaitu :
)&, ( ` ` & %(
%c2
` ` ` max &log &$, m
,c2
%c2%,$/(, 1(.
parameter e digunakan untuk menyeimbangkan antara kompleksitas model u)A &, ( dan model efficiebcy error &, ( dalam perhitungan dari nilai MDL. Dalam pekerjaan klasterisasi kita, biasanya e >
1 yang dipilih.
Untuk memperlengkap kalkulasi dari nilai MDL dalam persamaan (12) pada setiap tahap perkembangan, pencilan yang berkoreponsi dengan dengan jumlah prototipe sekarang perlu dideteksi.
Menurut prinsip dari MDL, pencilan dapat ditentukan dengan cara berikut (Bischof et al.., 1999): sebuah titik data diputuskan sebagai pencilan jika encoding length dari titik ini oleh indeks dari vektor prototipe yang terdekat dan produced quantization error lebih besar daripada panjang daripada encoding titik data itu sendiri.
Ide ini dapat dipermudah dengan mengecek perubahan dalam coding length ketika kita memindah sebuah vektor data ~6% dari set inlier I kepada set pencilan (outlier) O
∆ & 03(&(# Y
&(# Y & %(
& 1( log h # Y
log h
Y ` u&log &$, %,$
m
,c2
/(, 1(
(13)
dimana sama dengan 1 jika x adalah satu-satunya vektor dalam receptive field 62 sebelum perpindahan, jika tidak maka bernilai 0. Jika nilai perpindahan ∆
dalam persamaan (13) adalah negatif, x dapat dianggap sebagai sebuah pencilan dikarenakan
mengencoding nya sendirian mempunyai panjang yang lebih kecil daripada mengencodingnya dengan sebuah vektor prototipe. Dalama cara ini, pencilan dapat dideteksi dengan menghitung rumus (13) dalam setiap akhir tahap perkembangan. Tidaklah bernilai bahwa selama prosedur training, ketika jumlah prototipe berkembang sebanyak jumlah pusat klaster yang sebenarnya dalam set data, jika posisi dari prototipe-prototipe ini ditarik jauh dari posisi pusat klaster yang sebenarnya oleh pencilan, nilai MDL yang dihasilkan mungkin lebih besar daripada nilai MDL yang diperoleh dengan posisi prototipe yang tepat. Ini menjelaskan mengapa algoritma GNG-M dapat tidak berhasil menemukan jumlah prototipe yang optimal dan posisi mereka yang tepat, sedangkan algoritma RGNG dapat melakukannya.
Implementasi Algoritma RGNG
Algoritma RGNG dimulai dengan sedikit prototipe (biasanya 2), dan kemudian beberapa masa training digunakan untuk melatih sejumlah prototipe yang telah ada dengan aturan pembaharuan (10).
Dikarenakan penggabungan dari strategi penghalang pencilan (outlier resistant strategy), adaptive learning rates modulation dan cluster repulsion scheme, RGNG tahan terhadap keberadaan pencilan.
Setelah sejumlah masa training untuk prototipe yang ada, sebuah prototipe yang baru dimasukkan dekat dengan prototipe yang telah ada dengan local accumulated error yang terbesar. Dalam lingkungan yang terkotori, local accumulated error ini tidak hanya berupa penjumlahan yang sederhana dari quantization error yang berbasiskan Euclidean metric dikarenakan outlier dapat mempengaruhi accumulated quantization error dari prototipe yang terdekat. Dalam algoritma RGNG, local accumulated error dari prototipe % diekspresikan sebagai :
` r w $ %$
uA%y $ %$
dengan uA% |2
'|∑ $ 2
'$
2 dimana 6% adalah receptive dari prototipe % dan lambang uA% didefinisikan sebagai harmonic average distance dari semua titik data dalam 6%
kepada vektor prototipe %. Oleh karena itu, ukuran accumulated error yang besar yang disebabkan oleh pencilan dapat secara efektif diperlemah.
Sebagaimana training berlangsung, nilai MDL dihitung dengan persamaan (12) pada saat akhir dari setiap tahap pertumbuhan sampai jumlah maksimum dari prototipe yang telah ditentukan tercapai.
Akhirnya, jumlah klaster yang optimal dan posisi
pusat klaster yang berhubungan dapat diperoleh berdasarkan nilai MDL yang terkecil.
Algoritma RGNG yang selengkapnya diuraikan dalam tabel 2. Berdasarkan kepada eksperimen awal, algoritma yang diajukan sedikit sensitif terhadap parameter-parameter yang ditentukan teelebih dahulu seperti %, j, 9%, 9j, Max_iter dan pre_numnode. Oleh akrena itu, dalam seksi 4, semua eksperimen dilaksanakan mengguunakan nilai parameter yang sama. Tambahan lagi, dalam rangka menghindari nilai jarak yang terlalu kecil, kita menambahkan sebuah angka kecil yang positif 1 z 10 dimanapun ketika kita menghitung jarak.
Berikut ini adalah algoritmanya :
Mulailah dengan sebuah set dari vektor prototipe (biasanya 2) 02, 3 secara random, learning rates %, j, 9%, 9j digunakan dalam prosedur training, variabel penghitung rangking rs)Ai untuk setiap prototipe q sampai 0, sebuah set koneksi C, C ¡ W z W kepada sebuah set yang kosong C ¢ dan £, digunakan untuk menghitung nilai MDL. Set jumlah maksimum prototipe untuk berkembang sebagai r_stus)A dan masa training maksimum
_ selama tahap pertumbuhan dengan jumlah prototipe yang tertentu. Set angka training awal : u 0 dan tahap iterasi dalam masa training m :
0. Oleh karena itu, tahap iterasi total iter selama tahap perkembangan adalah u. Y . Data yang digunakan untuk training adalah ¤ 0¥, ¥¦, … , ¥3.
(a) While jumlah prototipe sekarang ≤r_stus)A
dan beberapa ukuran performa yang telah didefinisikan, jika ada, belum terpenuhi
(b) For u 0 to _ 1
• Hitunglah nilai harmonic average distance AB% &0( untuk setiap prototipe %, % W dengan posisinya sekarang dengan persamaan (8)
• Hitunglah learning rates untuk prototipe yang sekarang q, sebelum prototipe yang baru dimasukkan.
• Set 1, sehingga u. Y .
• Set ss ¤ yaitu meliputi semua vektor input kedalam ss.
(c) If ss tidak kosong
• Ambil secara random sebuah vektor input xG?, pada tahap iterasi t dalam masa training m, dari
ss.
• Tentukan prototipe pemenang 2 dan prototipe kedua yang terdekat &2, W( dengan
2 argminH¡¨xG? wHHGIJ, dan
argminH¡¨\0v3xG? wHHGIJ, dimana u. Y .
• Jika sebuah koneksi diantara 2dan belum ada, buatlah : C C / 0&2, (3. Set dari koneksi diantara 1 dan 2 menjadi 0 yaitu
& 1, 2( 0.
• Adaptasikan vektor referensi dari prototipe pemenang dan tetangga topologisnya secara langsung sesuai dengan persamaan (6), (7), (8), dan (10).
• Naikkan dari semua edge yang berasal dari 1: & 1, 2( & 1, 2(Y 1 ,
1
• Buanglah edge-edge yang mempunyai nilai age yang lebih besar daripada . Jika ini menghasilkan beberapa prototipe yang tidak mempunyai edge lagi, maka buang prototipe tersebut.
• Naikkan tahap iterasi t dengan 1 dan buang vektor yang telah terpakai xtm dari set (c) End If
(b) End For
• Hitung nilai MDL berdasarkan posisi prototipe sekarang dengan persamaan (12) dan (13)
• Simpanlah posisi sekarang dari semua prototipe, jika nilai MDL yang terhitung lebih kecil daripad yang dahulu.
• Tentukan ukuran local accumulated error untuk masing-masing prototipe sekarang berdasrkan persamaan (14)
• Tentukan prototipe dengan maximum accumulated error: argmax WE .
• Tentukan, diantara tetangga , prototipe dengan maximum accumulated error : argmax E .
• Tambahkanlah sebuah prototipe kedalam jaringan dan interpolasikan vektor referensinya
dari dan : w w / 0w 3, w
&2. w Y w /3(
• Masukkan edge-edge yang menghubungkan prototipe baru dengan prototipe dan : C C / 0& , (, & , (3, C C\0& , (3
• Set ranking counter dari prototipe yang baru dimasukkan ke 0 dan untuk prototipe lain yang ada, naikkan corresponding counter variable mereka dengan
1 yaitu : 0,
Y 1, W\0r3.
(a) End While
3. Uji coba
Algoritma GNG-M dan RGNG masing-masing dijalankan sepuluh kali pada D1 yang bersih oleh pencilan.
Tabel 3.1 Ukuran-ukuran performa yang dihasilkan oleh RGNG pada set Data D1 yang bersih dari
pencilan (outlier)
Tabel 3.2 Ukuran-ukuran performa dari algoritma GNG-M pada set data D1 yang bersih dari pencilan
Gambar 3.1 Grafik Nilai MDL terhadap jumlah klaster yang dihasilkan algoritma RGNG pada set D1
yang bersih
Gambar 3.2 Pusat klaster yang dihasilkan oleh RGNG pada D1 yang bersih
Gambar 3.3 Grafik Nilai MDL terhadap jumlah klaster yang dihasilkan algoritma RGNG pada set D1
yang bersih
Variabel
Percobaan
ke optcounter PQ findnodes MSE E
1 5 0.9888 5 2,6400E+08 0.1160
2 5 0.9850 5 2,6415E+08 0.1168
3 5 0.9897 5 2,6390E+08 0.1174
4 5 0.9879 5 2,6380E+08 0.1163
5 5 0.9888 5 2,6395E+08 0.1152
6 5 0.9869 5 2,6383E+08 0.1179
7 5 0.9869 5 2,6350E+08 0.1152
8 5 0.9897 5 2,6453E+08 0.1171
9 5 0.9841 5 2,6385E+08 0.1106
1
0 5 0.9897 5 2,6331E+08 0.1114
Variabel Percobaan
ke optcounter PQ findnodes MSE E
1 18 0,3492 2 2,6940E+08 0,2691
2 10 0,7788 1 2,6914E+08 0,252
3 9 0,8962 1 2,6919E+08 0,243
4 16 0,3767 1 2,6889E+08 0,2239
5 20 0,3104 1 2,6888E+08 0,2227
6 18 0,3494 1 2,6768E+08 0,2396
7 19 0,3151 1 2,6994E+08 0,2504
8 18 0,3335 1 2,6831E+08 0,228
9 15 0,4576 1 2,6964E+08 0,2376
10 9 0,9027 0 2,6900E+08 0,274
Gambar 3.4 Pusat klaster yang dihasilkan oleh GNG pada D1 yang bersih
4. Kesimpulan
Berdasarkan uji coba dan evaluasi terhadap perangkat lunak yang dibangun, dapat diambil kesimpulan sebagai berikut:
1. Algoritma RGNG mampu melaksanakan tugas klasterisasi dan tidak mudah terpengaruh oleh kehadiran pencilan (outlier), dan juga urutan input.
2.
Algoritma RGNG lebih tahan (robust) dibandingkan dengan algoritma GNG-M 5. Daftar Pustaka[1] A. K. Qin and P. N. Suganthan, "Robust growing neural gas algorithm with application in cluster analysis", Neural Networks special issue on Recent Developments in Self-Organizing Systems, vol. 17 (8-9), pp. 1135-1148, 2004.
[2] Fritzke,B.(1994).Growing cells structures a self organizingnetwork for unsupervised and supervised learning. NeuralNetworks,7(9), 1441–1460.
[3] Fritzke,B.(1995).A growing neural gas
network learns
topologies.InG.Tesauro,D.S.Touretzky,&T.
K.Leen(Eds.), Advances in neural information processingsystems (pp.625–
632).Cambridge,MA: MIT
[4] Qin,A.K.,& Suganthan,P.N.(2004).A robust neural gas algorithm for clustering analysis.
Proceeding of 2004 international conference on intelligent sensing and information processing (ICISIP2004)(pp.342–
347),Chennai,India.
[5] Zemel,R.S.(1994). A minimum description length framework for unsupervised learning.
PhDthesis, University of Toronto
[6] Martinetz, T. M., & Schulten, K.(1994).Topology representing