Pengenalan Pola/ Pattern Recognition
Dasar Pengenalan Pola 2 Imam Cholissodin S.Si., M.Kom.
Dasar Pengenalan Pola 2 1. 2. 3. 4.
The Design Cycle Collect Data Object to Dataset Feature Selection Using PCA – – – –
Menghitung Eigen Value Menghitung Eigen Vector Transformasi Data Fitur Menghitung Nilai Error
5. Tugas
The Design Cycle Collect data Choose features Choose model Train system Evaluate system
Apa sensor yang harus kita gunakan? Bagaimana mengumpulkan data? Bagaimana mengetahui fitur apa yang dipilih, dan bagaimana kita memilihnya ...? (Misal transformasi data fitur dengan PCA) Apa classifier yang akan digunakan? Apakah ada classifier yang terbaik ...? Bagaimana kita melakukan proses Training? Bagaimana mengevaluasi kinerja sistem? Bagaimana memvalidasi hasil? Berapakah tingkat kepercayaan hasil keputusan?
Collect Data • Mengambil nilai data dari objek, Tipe data berdasarkan penskalaan datanya : – Data Kualitatif : Data yang bukan berupa angka,. Terbagi dua : • Nominal : Data yang paling rendah dalam level pengukuran data. Contoh : Jenis kelamin, Merk mobil, Nama tempat • Ordinal : Ada tingkatan data. Contoh : Sangat setuju, Setuju, kurang setuju, tidak setuju. – Data Kuantitatif : Data berupa angka dalam arti sebenarnya. Terbagi dua : • Data Interval, Contoh : Interval temperatur ruang adalah sbb : Cukup panas jika antara 50C-80 C, Panas jika antara 80 C-110 C, Sangat panas jika antara 110 C-140 C. • Data Rasio, Tingkat pengukuran paling „tinggi‟ ; bersifat angka dalam arti sesungguhnya. Contoh : Tinggi badan, Berat badan, Usia.
Object to Dataset • Ilustrasi transformasi data dari objek yang diamati : – – – – –
Text Citra Audio Video Etc
No Fitur 1 Fitur 2 1 2 3 . . M
.
.
Fitur N Kelas
Keterangan : – M menyatakan banyak data, N menyatakan banyak fitur. – Ektraksi fitur dilakukan jika data yang diamati masih berupa data mentah (misalnya masih berupa kumpulan data awal). – Fitur yang diambil adalah yang merupakan ciri khas yang membedakan satu objek dengan objek lainnya.
Dimensionality Reduction • Problem : kompleksitas komputasi terhadap pengenalan pola pada ruang dimensi yang tinggi. • Solusi : mapping data ke dalam ruang dimensi yang lebih rendah
Dimensionality Reduction • Pengurangan dimensi data dapat dilakukan dengan : • Mengkombinasikan Fitur (secara linear maupun nonlinear) • Memilih himpunan bagian dari fitur-fitur yang tersedia
• Kombinasi Linier merupakan pendekatan yang menarik karena metode tersebut dilakukan dengan perhitungan yang sederhana dan terlacak secara analitis
Dimensionality Reduction • Diberikan x ϵ RN, dengan tujuan untuk mencari transformasi linier U sehingga y = UTx ϵ RK dimana K
Dimensionality Reduction • Dua pendekatan klasik untuk transformasi linier yang optimal :
menghitung
– Principal Components Analysis (PCA): mencari proyeksi yang menyediakan informasi sebanyak mungkin dalam data dengan pendekatan leastsquares. – Linear Discriminant Analysis (LDA): mencari proyeksi terbaik yang dapat memisahkan data dengan pendekatan least-squares.
• Tujuan PCA : mengurangi dimensi data dengan mempertahankan sebanyak mungkin informasi dari dataset yang asli.
Dimensionality Reduction • Pendekatan vektor dengan menemukan basis ke dalam ruang dimensi yang lebih rendah – Representasi ruang Dimensi-Lebih Tinggi :
x a1v1 a2v2 ... aN vN v1 , v2 , ..., vN
merupakan basis dari ruang dimensi N
a1 a x 2 ... aN
– Representasi ruang Dimensi-Lebih Rendah :
xˆ b1u1 b2u2 ... bK uK u1 , u2 , ..., uK
merupakan basis dari ruang dimensi K
b1 b y 2 ... bk
Feature Selection Using PCA • Pengurangan dimensi berdampak pada hilangnya informasi • PCA mempertahankan sebanyak mungkin informasi, dengan cara meminimalkan error : ˆ xx
• Bagaimana caranya menentukan sub-ruang dimensi yang lebih rendah yang terbaik ? • Eigenvektor yang terbaik dari matriks covarians x Eigenvalue yang terbesar • Disebut sebagai Principal Components
Feature Selection Using PCA • Misalkan x1, x2, ..., xM terdapat dalam vektor N x 1 1. Mencari Mean (nilai rata-rata) dari data 2. Menghitung Zero Mean (setiap nilai pada data sampel dikurangi nilai rata-rata tiap parameter yang terkait) 3. Membangun matriks Covarians dengan mengkalikan matriks Zero Mean dengan transposenya 4. Menghitung eigenvalue 5. Menghitung matriks eigenvektor 6. Mengurangi dimensi N sebesar K dimensi yang didapatkan dari eigenvalue yang terbesar sampai sampai yang terkecil sebanyak K pertama
Feature Selection Using PCA • Langkah 1: Mencari Mean Global (nilai rata-rata) M
x1 x2 ... xM x M
x i 1
i
M
• Langkah 2: Menghitung Zero Mean i xi x
Feature Selection Using PCA • Langkah 3: Membangun matriks Covarians dengan mengkalikan matriks Zero Mean dengan transposenya – Populasi
1 M T C i i N i 1 – Sampel
1 M T C i i N 1 i 1
Feature Selection Using PCA • Langkah 4 : Menghitung eigenvalue dari C CU U I CU I U CU I U ( I C ) U 0
det( I C ) 0 1 0 .... 0
0
2 .... 0
1 c1,1 c 2,1 .... c m,1
• Hasil : 1 , 2 , 3 , ..., N
.... .... .... ....
0 c1,1 c 0 2,1 .... .... N c m,1
c1,2 2 c 2,2 .... c m,2
.... .... .... ....
c1,2 c 2,2 .... c m,2
.... .... .... ....
c1,n c 2,n .... N c m,n
c1,n c 2,n .... c m,n
Feature Selection Using PCA • Langkah 5 : Menghitung eigenvektor – Dari eigenvalue yang dihitung pada langkah 4, disubstitusikan ke rumus :
( I C ) U 0 – Selesaikan dengan menemukan nilai U
• Hasil : u1 , u2 , u3 , ..., uN
Feature Selection Using PCA • Langkah 6 : Mengurangi dimensi sebesar K dimensi – Pilihlah fitur sebanyak K berdasarkan nilai eigenvalue terbesar xˆ x
K
b u
i i
where K N
i 1
– xˆ merupakan hasil transformasi dari x
Feature Selection Using PCA • PCA memproyeksikan data sepanjang suatu arah dimana data tersebut memiliki varians yang tinggi • Arah tersebut ditentukan oleh eigenvectors dari matriks covariance yang memiliki nilai eigenvalues terbesar. • Nilai besaran dari eigenvalues merupakan nilai varians data sepanjang arah dari eigenvector (garis lurus merah dan biru)
Feature Selection Using PCA • Pemilihan nilai K menggunakan kriteria berikut : K
i
i 1 N
Threshold (e.g., 0.9 or 0.95)
i
i 1
• Pada contoh kasus diatas, dapat dikatakan bahwa kita “menyediakan” 90% atau 95% informasi dari data yang tersedia • Jika K=N, maka kita “menyediakan” 100% dari data yang tersedia
Feature Selection Using PCA • Vektor asal x dapat dibangun kembali menggunakan komponen prinsipal-nya xˆ x
K
b u
i i
i 1
or xˆ
K
b u
i i
x
i 1
• PCA meminimalkan error dari rekonstruksi prinsipal tersebut: e x xˆ
• Hal itu dapat ditunjukkan bahwa error sama dengan : N
1 e i 2 i K 1
PCA : Menghitung Eigen Value • Misal diketahui dataset : No Fitur 1 Fitur 2 Kelas 1 P11 P12 Mobil 2 P21 P22 Rumah
• Mean global • Zero Mean x1 D x1
• Kovarian
D=
P11 P12 P P 21 22
P11 P21 x1 Banyak _ Data
P12 P22 x2 Banyak _ Data
4 2 x 2 P11 x1 P12 x 2 , misal 1 5 x 2 P21 x1 P22 x 2 T
1 4 2 4 2 1 17 13 17 13 C N 1 1 5 1 5 2 1 13 29 13 29
PCA : Menghitung Eigen Value • Eigen Value : detI C 0 1 det * 0 17 det 13
0 17 1 13
13 0 29
13 0 29
17 ( 29) 13 * 13 0 17 ( 29) 169 0 29 17( 29) 169 0 2 29 17 493 169 0 2 46 324 0
1, 2
b
b 2 4ac 2a
1, 2
(46)
1, 2
46
1, 2
46
46 2 4 *1* 324 2 *1 2116 1296 2 820
2 46 28.63564 1 8.68218 2 46 28.63564 2 37.31782 2
0 8.68218 Matrik EigenValue 37.31782 0
PCA : Menghitung Eigen Vector • Eigen Vector : 0 8.68218 Matrik EigenValue 37.31782 0 CU U
(c11 )u1 c12u2 0 c21u1 (c22 )u2 0
c11 c12 u1 u1 c 21 c22 u2 u2 1 0 c11 c12 u1 1 0 u1 0 1 c 21 c22 u2 0 1 u2 c11 c12 u1 1 0 u1 c u c u 0 1 2 21 22 2
Matrik kovarian : C
c12 u1 c11 0 c c22 u2 21
17 13 13 29
Vektor eigen didapatkan dengan persamaan :
(17 )u1 13u2 0 13u1 (29 )u2 0 Untuk λ1 = 8.68218 maka :
8.3178u1 13u2 0 13u1 20.3178 u2 0
PCA : Menghitung Eigen Vector • Eigen Vector : Untuk λ1 = 8.68218 maka :
Untuk λ2 = 37.31782 maka :
Solusi non trivial sistem persamaan ini adalah :
Solusi non trivial sistem persamaan ini adalah :
8.3178u1 13u2 0 13u1 20.3178 u2 0 8.3178u1 13u2 13u2 u1 8.3178
8.3178a u Misalkan u1 a maka 2 13 Jadi vektor eigen untuk λ1 = 8.68218 adalah : a U 8.3178 a 13 dimana a adalah bilangan sembarang yang tidak nol.
- 20.3178 u1 13u2 0 13u1 - 8.3178u2 0
20.3178u1 13u2 13u2 u1 20.3178
13b u Misalkan u2 b maka 1 20.3178 Jadi vektor eigen untuk λ2 = 37.31782 adalah : 13b U 20.3178 b
dimana b adalah bilangan sembarang yang tidak nol.
PCA : Menghitung Eigen Vector • Eigen Vector : Vektor eigen untuk λ1 = 8.68218 adalah : a 8 . 3178 a U 13 misalkan a = -0.8423 maka - 0.8423 U 0.5389
Vektor eigen untuk λ2 = 37.31782 adalah : 13b U 20.3178 b
misalkan b = 0.8423 maka . 0.5389 U 0.8423
Jadi Vektor eigen globalnya adalah :
- 0.8423 0.5389 U 0.5389 0 . 8423
PCA : Transformasi x • Transformasi data fitur x xˆ : x xˆ kU k
• Tentukan nilai K dengan 90% informasi data yang kita gunakan • Dari nilai K yang ditentukan akan diperoleh fitur yang dijadikan sebagai proses pengenalan pola
Selesai