MODIFIKASI KERNEL PCA
PADA KELASIFIKASI AROMA MULTIKELAS
Zuherman Rustam1,Benyamin Kusumoputro2, Belawati Widjaja31. Fakultas MIPA , Jurusan Matematika ,Universitas Indonesia 2. Fakultas Ilmu Komputer , Universitas Indonesia. 3. Laboratorium Komputasi Intelejensia , Universitas Indonesia
Abstrak
Masalah kelasifikasi aroma merupakan masalah yang tidak mudah untuk diselesaikan , karena data aroma memiliki karakteristik dan pola yang sangat unik. Beberapa pengujian telah dilakukan antara lain dengan menggunakan metode-metode yang berbasis pada Neural network , metode yang berbasis pafa Fuzzy-Neuro dan metode-metode yang berbasis pembelajaran statistika. Penggunaan PCA pada kelasifikasi aroma dapat dikatakan gagal, karena metode ini hanya dapat menyelesaikan masalah kelasifikasi untuk data yang linier. Untuk data nonlineir ,nonseparable dan terdiri dari multikelas , metode PCA perlu dimodifikasi. Pada makalah ini akan digunakan Kernel PCA yang telah dimodifikasi sehingga dapat digunakan untuk kelasifikasi aroma multikelas.
Kata Kunci : PCA , Kelasifikasi , Kernel.
PENDAHULUAN
Masalah pembelajaran adalah masalah pembentukan suatu fungsi berdasarkan data yang ada , se-demikian sehingga fungsi yang telah terbentuk dapat digunakan untuk me-naksir dengan tepat nilai dari fungsi tersebut untuk input data yang lain [Vapnik,1999]. Pada masalah kelas-ifikasi pola, salah satu metode yang menunjukkan kinerja yang cukup baik adalah Linear Discriminant Analysis (LDA) [Fukunaga,1990]. Metode ini berbasis pada metode statistika klasik Prinsip kerja dari metode ini adalah merubah masalah kelasifikasi menjadi masalah eigen-value.Tetapi metode ini menemui kesulitan untuk
me-nyelesaikan masalah kelasifikasi non-linier yaitu data tidak dapat dipisahkan dengan menggunakan bidang linier. Untuk mengatasi hal ini Vapnik , me-ngajukan konsep Structural Risk
Minimization. yang berbasis pada Statistical Learning Theory. Metode
yang ditemukan oleh Vapnik ini , me-rupakan titk awal munculnya metode-metode baru untuk menyelesaikan masalah kelasifikasi pola , salah satu diantaranya adalah Principal
Com-ponents Analysis (PCA) [Jollife,1996].
Karena kinerja PCA belum menunjuk-kan keoptimalannya pada kelasifikasi pola, salah satu penyebabnya adalah data yang akan dikelasifikan tidak dapat dipisahkan secara linier. Untuk
mengatasi hal ini maka muncul metode Kernel PCA (KPCA). Kernel PCA merupakan PCA yang di-applikasikan pada input data yang telah ditransformasikan ke ruang
feature. Namun sampai saat ini KFCA
baru berhasil untuk menyelesaikan masalah kelasifikasi biner. Pada makalah ini KPCA akan diperluas atau dimodifikasi sehingga dapat di-gunakan untuk menyelesaikan masa-lah kelasifikasi multikelas, khususnya pada kelasifikasi aroma. Untuk pem-bahasan selanjutnya metode ini di-singkat dengan nama MKPCA (Modifikasi KPCA).
Pada tahun terakhir ini , pengujian kelasifikasi aroma telah dilakukan dengan menggunakan beberapa metode antara lain : metode Pro-babilistik Neural Network (PNN) [Kusumoputro dan Herry , 2002 ; Jatmiko dan Kusumoputro, 2001a] , dengan Jaringan Neural Buatan [Jatmiko dan Kusumoputro , 2001b] , Kelasifikasi SVM [Rustam, Kusumoputro, 2003] dan Fuzzy-Neuro LVQ [Kusumoputro et al , 2002] .
Sistimatika penulisan makalah ini sebagai berikut , pada bagian kedua akan dibahas tentang dasar-dasar KPCA, pada bagian berikutnya akan dibahas tenetang KPCA Multikelas , pada bagian akhir akan diperlihatkan aplikasi KPCA multikelas pada masalah kelasifikasi aroma.
KERNEL PCA
Misalkan
x
i∈
R
n ,m
i=1,2,.. merupakan input data. Matriks kovariansi untuk input data tersebut diruang
R
n adalah∑
=
=1 /1
ix
ix
im
A
. Berdasarkan prinsip kerja dari PCA, untuk menyelesaikan masalah kelasifikasi pola sama artinya dengan menyelesaikan masalaheigenvalue
Av
=
λ
v
. Matriks kovariansi umumnya tidak diketahui , untuk mendapatkan digunakan taksir-an berdasarktaksir-an input data. Hal ini dapat dilakukan jika input data terdiri dari dari satu kelas. Untuk masalah multikelas diperlukan struktur PCA yang lebih kompleks. Sedangkan untuk data nonliner dan nonseparable, PCA tidak dapat digunakan. Salah satu satu cara agar PCA dapat di-gunakan adalah dengan melakukan transformasi semua input data ruangfeature.
Misalkan
φ
:
R
n→
F
fungsi yang memetakan semua input datan
i
R
x
∈
keruang feature F. Untuk setiap input datax
i∈
R
n, berlakuF
x
i∈
φ
(
)
. Berdasarkan transformasi ini , terlihat bahwa ruang featuredibangun vektor-vektor )} ( ),..., ( ), ( {φ x1 φ x2 φ xm . Sehingga semua vektor di ruang feature dapat dinyatakan sebagai kombinasi linier
dari vektor-vektor
)}
(
),...,
(
),
(
{
φ
x
1φ
x
2φ
x
m . Dengan de-mikian maka, matriks kovariansi di ruang feature untuk vektor)}
(
),...,
(
),
(
{
φ
x
1φ
x
2φ
x
m dapat ditulis-kan sebagai: ) ( ) ( 1 1 j t j m j x x m C= ∑ φ φ = (1)dan masalah eigen-value di ruang feature F dapat dinyatakan sebagai :
Cv
v
=
λ
(2) atauCv
x
v
x
k),
(
k),
(
=
φ
φ
λ
,m
k
=
1
,
2
,..,
∀
(3)Karena semua vektor di ruang
feature F dapat dinyatakan sebagai
kom-binasi linier dari vektor-vektor
)}
(
),...,
(
),
(
{
φ
x
1φ
x
2φ
x
m , makaeigenvektor , yang merupakan solusi dari masalah eigenvalue
λ
v
=
Cv
,juga dapat dinyatakan sebagai kombinasi linier dari vektor-vektor
)}
(
),...,
(
),
(
{
φ
x
1φ
x
2φ
x
m . Hal ini berarti, ada konstanta-kontantaα
i dimanai
=
1
,
2
,..
m
, sedemikian se-hingga∑
α
φ
=
= m i ix
iv
1(
)
(4)Dengan mensubstitusikan persamaan (1) dan (4) ke persamaan (3) akan dihasilkan persamaan :
)
(
)]
(
)
(
][
)
(
[
1
)
(
)
(
1 1 1 k t j t m j j m i i i m i k t i ix
x
=
m
∑
α
φ
x
∑ φ
x
φ
x
φ
x
∑
α
φ
φ
λ
= = = , ,m
k
=
1
,
2
,..,
∀
(5) Misalkan)
(
)
(
)
,
(
t j i ij j ix
k
x
x
x
k
=
=
φ
φ
(6)dan
K
=
[
k
ij]
matriks ukuran mxm.Jika pada persamaan (5) dilakukan pergantian semua suku dalam bentuk
)
(
)
(
t j ix
x
φ
φ
dengan bentukk
ij ,maka dapat dibuktikan bahwa per-samaan (5) akan menjadi perper-samaan (7):
α
α KK
mK =
λ (7) dimana
α
adalah vektor kolom dengan entry α1,α2,,αm.Solusi dari persamaan (7) ini, dapat dihitung dengan cara menyelesaikan persamaan :
α
α K
m
λ
=
(8)Misalkan
α
k adalah eigenvektorke-k dari masalah eigenvalue pada persamaan (7). Jika semua vektor
F
v
∈
dilakukan normalisasi, yaitu harus memenuhiv
tv
=
1
, makadengan menggunakan persamaan (4), (6) dan (8) akan dihasilkan per-samaan (9):
=
∑
α
α
φ
φ
=
= m j i j t i k j k i tv
x
x
v
1 ,)
(
)
(
)
=
λ
k k=
1
k k t kK
α
(α
)
α
(α
t (9)Untuk mengekstraksi kompo-nen prinsipal, maka semua peta dari input vektor
z
,yaituφ
(z
)
, harus diproyeksikan ke vektorv
yang telah dinormalisasi. Untuk menghitung pro-yeksi tersebut digunakan persamaan :∑ α
=
φ
= m i i k i tz
k
x
z
v
1(
,
)
)
(
(10)KERNEL PCA UNTUK MASALAH MULTIKELAS
Pada pembahasan diatas di-asumsikan input data terdiri dari dua kelas.Untuk masalah multikelas , for-mula dan persamaan yang telah di-bahas diatas perlu disesuaikan. Misal-kan X himpunan input data dan banyaknya input data adalah
m
buah. Himpunan input dataX
terdiri darin
buah kelas X1,X2,...,Xn , di-mana masing-masing kelas terdiri daril
n
buah elemen.Misalkan
x
lkmenunjukkan elemen kek
dari kelas ke l. FungsiF Rn →
φ: , memetakan semua
in-put data
x
lk∈
R
n ke ruang feature F. Berdasarkan hal ini,maka ruangfeature F untuk masalah multikelas
dibangun oleh kumpulan vektor-vektor
)}
(
{
φ
x
ij , dimanai
=
1
,
2
,
n
,
dan . , 2 , 1 nlj= Sehingga semua vektor di
ruang feature F dapat dinyatakan sebagai kombinasi linier dari vektor-vektor
{
φ
(
x
ij)}
.Untuk setiap pasang kelas
p
dan kelasq
, fungsi kernel dinyatakan dalam bentuk : pq ij qj t pi qj pix
x
x
k
x
k
(
,
)
=
φ
(
)
φ
(
)
=
(
)
. Sedangkan matriks kernelK
untuk multikelas dapat dinyatakan sebagai:]
[
K
pqK
=
, (11) dimanaK
pq=
[(
k
ij)
pq]
, pn
i
=
1
,
2
,...,
,j
=
1
,
2
,...,
n
qn
p
=
1
,
2
,...,
,q
=
1
,
2
,...,
n
Untuk masalah multikelas, matriks kovariansi diruang feature adalah :
∑
∑ φ
φ
=
φ
∑ φ
=
= = = n l lk t n k lk j t m jx
jx
m
x
x
m
C
l 1 1 1(
)
(
)
1
)
(
)
(
1
(12) Sedangkan matriks antar kelasadalah:
1
(
)
(
)
1 l t n ln
lx
lx
m
B
=
∑ φ
φ
= ,(13) dimana :(
)
1
(
)
1∑ φ
=
φ
= l n l ll l lx
n
x
.Dengan telah terbentuknya matriks kovariansi dan matriks antar kelas , maka seperti halnya dengan LDA, untuk menyelesaikan masalah kelasifikasi pola adalah dengan me-maksimumkan inersia interkelas dan meminumkan inersia intrakelas. Proses pengoptimalan tersebut
eki-valen dengan mencari solusi dari masalah eigenvalue :
Bv
Cv
=
λ
(14)Karena eigenvektor
v
, yang me-rupakan solusi dari persamaan (14), terletak di ruang feature F maka eigenvektorv
dapat dinyatakan se-bagai kombinasi linier dari vektor-vektor{
φ
(
x
ij)}
.Dengan perkataanlain ada konstanta-konstanta
α
pq ,n
p
=
1
,
2
,...,
danq
=
1
,
2
,...,
n
sedemikian sehingga∑ ∑
α
φ
=
= = n p n q pq pq px
v
1 1(
)
(15)Dengan melakukan substitusi persamaan-persamaan (12),(13) dan (15) ke persamaan (14) , maka masalah eigenvalue pada persamaan (14) dapat dituliskan sebagai :
α = α λKK KWK (16) atau
λ
K
α
=
WK
α
, (17) dimanaW
=
[
W
l]
l=1,2,..n, matriks ) 1 ( l l diag n W = berukurann
lxn
l, dan n p p]
1,2,..,[
α
==
α
, p n q pq p=
[
α
]
=1,2,..,α
,Eigenvalue terbesar dari persamaan (16) dapat dihitung berdasarkan formula Fisher : α α α α = λ KK KWK / / (18) Misalkan matriks kernel K di-komposisi menjadi K =QDQ/ ,
di-mana Q adalah matriks orthogonal, vektor kolom dari Q merupakan
eigenvector dari matriks
K
, danD
adalah matriks diagonal dengan elemennya merupakan eigenvalue yang bersesuaian .Jika matriks K =QDQ/
disub-stitusikan ke persamaan (18) akan di-dapatkan bentuk:
β
β
β
β
=
α
α
α
α
=
α
α
α
α
=
α
α
α
α
=
λ
/ / / / / / / / / / / / / / / / / / / /)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
WQ
Q
DQ
DQ
DQ
WQ
Q
DQ
DQ
Q
Q
DQ
DQ
WQ
Q
DQ
KK
KWK
, dimanaα
=
β
DQ
/ (19)Selanjutnya jika persamaan (19) dan matriks
K
=
QDQ
/ disubstitusi-kan ke persamaan (17) , maka adisubstitusi-kan dihasilkan persamaan eigenvalue dalam bentuk :β
=
λ β
Q
/WQ
(20)Dari persamaan (20) ini , dapat dihitung eigenvektor
β
. Selanjutnya untuk menghitung vektorα
, diguna-kan persamaan (19) yang dapat di-nyatakan sebagaiβ
=
α
QD
−/ (21)Selanjutnya vektor
α
dinormali-sasi sedemikian sehinggav
tv
=
1
.1
)
(
)
(
1 1 1 1 1 1φ
=
∑ ∑
α
α
=
α
α
=
∑ ∑
∑ ∑
α
α
φ
=
= = = = = =x
x
K
K
v
v
t l l p n p n l lk n p n q pq t lk pq n l n k t p l l (22) Persamaan (22) menyatakan bahwauntuk menormalisasi vektor
v
, dapat dilakukan dengan cara membagi vektorα
denganα
tK
α
.Dengan telah didapatkannya vektor
v
di F , maka untuk meng-ekstraksi komponen prinsipal, semua peta dari input vektorz
, yaituφ
(z
)
, harus diproyeksikan ke vektorv
.Untuk menghitung proyeksi tersebut digunakan persamaan :
∑ ∑ α
=
φ
= = n p n q pq pq tz
pk
x
z
v
1 1(
,
)
)
(
(23) EKSPERIMENUntuk mengetahui kinerja MKPCA, dilakukan pengujian dengan data aroma yang dimiliki oleh Laboratoium Kecerdasan Komputasi-onal Universitas Indonesia. Data aroma yang digunakan terdiri dari 3 jenis aroma A, B dan C , setiap jenis aroma terbagi atas 6 kelas. Pem-bagian setiap jenis aroma menjadi 6 kelas ini berdasarkan pada kon-sentrasi alkohol yang dicampurkan ke-dalam masing-masing aroma tersebut. Konsentrasi alkohol pada masing-masing aroma adalah 0%, 15%, 25%, 35%, 40% dan 70%. Sehingga total aroma yang akan diklasifikasikan ter-diri sebanyak 18 kelas. Untuk masing-masing kelas tersedia 200 data ber-dimesi 8. Jenis aroma selengkapnya dapat dilihat pada table.1. Banyaknya data training ,yang digunakan dalam setiap percobaan , adalah 10%, 15%, 20%, 25%, 30%, 35%, 40%, dan 50% dari data yang ada dari setiap kelas. Sedangkan data yang tersisa , untuk setiap kelas, digunakan sebagai data testing.
Pengujian dibagi atas 3 tahap pe-ngujian :
1).
Pengujian dilakukan sebanyak 3 kali yaitu pengujian terhadap aroma A,B dan C, yangmasing-masing terdiri dari 6 kelas. Untuk masing-masing pengujian pada setiap jenis aroma , MKPCA akan mengkelasifikasikan aroma ber-dasarkan kelas yang ada di aroma tersebut.
2).
Pengujian dilakukan sebanyak 3 kali yaitu untuk setiap pasang aroma yang berbeda AB, AC danBC, yang masing-masing
melibat-kan 12 kelas . Untuk setiap pe-ngujian akan dilihat kemampuan MKPCA untuk mengkelasifikasi-kan aroma berdasarmengkelasifikasi-kan jenis aroma dan kelas yang ada di aroma tersebut.
3).
Pengujian dilakukan sebanyak 1 kali yaitu semua data jenis aroma A,B, dan C dikumpulkan menjadi satu. Pengujian ini me-libatkan 3 jenis aroma dengan banyaknya kelas ada 18 buah. Pada pengujian ini akan dilihat kemampuan MKPCA untuk mengkelasifikasikan aroma ber-dasarkan jenis aroma dan kelas yang ada di aroma tersebut. Sehingga total pengujian yang di-lakukan sebanyak 7 kali.Fungsi kernel yang digunakan dalam percobaan ini adalah kernel RBF dengan parameter sigma 2 dan Kernel Polinomial berderajat 4. Kinerja dari metode MKPCA diukur berdasar-kan kemampuan untuk mengklasi-fikasikan data pengujian pada kelas yang tepat. Hasil dari percobaan dapat dilihat pada tabel :
Tabel 1. Hasil dari percobaan
Persentase pengenalan data aroma Tahap Data Aroma Kernel Dengan menggunkan data training sebanyak :
Rata-rata 10% 15% 20% 25% 30% 35% 40% 50% 1. A ( 6kelas) Polinomial 68,33 82,22 83,33 84,67 85,00 80,00 92,92 90,00 83,31 RBF 68,33 82,22 83,33 84,67 85,00 80,48 92,92 90,00 83,37 B ( 6kelas) Polinomial 85,00 85,56 91,67 92,67 96,11 93,81 97,92 97,33 92,51 RBF 85,00 85,56 91,67 92,67 96,67 94,76 98,33 98,00 92,83 C ( 6kelas) Polinomial 76,67 83,33 86,67 86,00 91,11 82,86 92,92 92,67 86,53 RBF 78,33 83,33 87,50 86,00 90,56 83,33 92,92 92,33 86,79 2. AB (12kelas) Polinomial 79,17 78,33 83,75 87,00 90,56 90,95 92,92 94,50 87,15 RBF 80,00 78,89 84,17 86,67 91,39 91,43 93,13 94,83 87,56 AC (12kelas) Polinomial 76,67 73,33 80,83 83,67 87,50 84,52 90,42 93,00 83,74 RBF 76,67 73,89 80,83 83,67 87,22 84,76 90,42 93,00 83,81 BC (12kelas) Polinomial 81,67 74,44 85,00 87,33 89,44 90,24 93,54 95,83 87,19 RBF 82,50 75,56 86,25 88,33 90,00 90,95 93,96 96,17 87,96 3. ABC (18kelas) Polinomial 72,78 77,04 81,11 89,78 88,15 88,73 87,50 91,00 84,51 RBF 73,89 77,41 81,67 89,78 88,33 88,73 87,36 91,22 84,80 PENUTUP
Berdasarkan hasil hasil percoba-an , MKPCA dengan menggunakan fungsi Kernel RBF akan memberikan hasil yang lebih
baik dibandingkan dengan
menggunakan fungsi Kernel
Polinomial. Disamping itu adanya ke-cendrungan memberikan hasil yang meningkat ,jika data training yang di-gunakan makin meningkat, hal ini ber-beda dengan kernel Polinomial yang memberikan hasil yang berfluktuasi. Berdasarkan banyaknya data training yang digunakan , MKPCA akan mem-berikan hasil yang sangat baik jika digunakan data training lebih dari 40% dari data yang tersedia.Pada
per-cobaan ini , parameter yang terdapat pada fungsi kernel, sudah dipilih yang optimal dari semua nilai yang mungkin dari parameter tersebut.
DAFTAR PUSTAKA
B. Kusumoputro & Herry, 2002 . Kinerja PNN-Teroptimasi Ber-basis Algoritma Genetika Dalam Pengenalan Aroma Dua Campuran. Prosiding SNKK III. Jakarta.
B. Kusumoputro et al , 2002, Fuzzy-Neuro LFQ and its Comparison With Fuzzy Algorithm LFQ in Artificial Odor Discriminat System, ISA Transactions.
I.T. Jollife. 1986. Principal Component Analysis. Springer-Verlag. New York.
K. Fukunaga.1990. Introduction to statistical Pattern Recognition . Academic Press, Inc.
V.N. Vapnik .1999. The Nature of Statistical Learning Theory. Springer-Verlag. Berlin.
W.Jatmiko & B. Kusumoputro, 2001,
Pengenalan Aroma Campuran dengan PNN Pada Sistem Penciuman Elektronik,Jurnal Ilmu
Komputasi dan Teknologi Informasi,vol1:1,Jakarta.
_________. 2001. Karakteristik Sistem Penciuman Elektronik Dalam mengenal Aroma Campuran dan Aroma Kom-posisi Menggunakan Algoritma Jaringan Neural Buatan. vol 1:2. Jakarta.
Z.Rustam, B. Kusumopura, , B.Widjaya. 2003. Kelasifikasi Aroma Multikelas dengan Menggunakan SVM. Prosiding Seminar Nasional Intelejensia Komputasional dan Teknologi Informasi. 4 Agustus 2003. ITS. Surabaya.