Pengenalan Pola Ekstraksi dan Seleksi Fitur
PTIIK - 2014
Course Contents 1
Collect Data
2
Object to Dataset
3
Ekstraksi Fitur
4
Seleksi Fitur
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 :
Keterangan : M menyatakan banyak data, N menyatakan banyak fitur. Ektraksi fitur dilakukan jika data yang diamati masih berupa data mentah (masih berupa kumpulan citra). Fitur yang diambil adalah yang merupakan ciri khas yang membedakan satu objek dengan objek lainnya.
Seleksi Fitur Problem : kompleksitas komputasi terhadap pengenalan pola pada ruang dimensi yang tinggi. Solusi : mapping data ke dalam ruang dimensi yang lebih rendah
Seleksi Fitur • 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
Seleksi Fitur Diberikan x ϵ RN, dengan tujuan untuk mencari transformasi linier U sehingga y = UTx ϵ RK where K
Seleksi Fitur Dua pendekatan klasik untuk menghitung transformasi linier yang optimal : 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
Seleksi fitur menggunakan 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)
Seleksi Fitur 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
Represenasi ruang Dimensi-Lebih Rendah : xˆ b1u1 b2u2 ... bK u K u1 , u2 , ..., u K
merupakan basis dari ruang dimensi K
Seleksi fitur menggunakan PCA Pengurangan dimensi berdampak pada hilangnya informasi PCA mempertahankan sebanyak mungkin informasi, dengan cara meminimalkan error :
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
Seleksi fitur menggunakan 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 fitur yang terkait) 3. Membangun matriks Covarians dengan mengkalikan matriks Zero Mean dengan transposenya 4. Menghitung eigenvalue 5. Menghitung matriks eigenvektor 6. Mengurangi dimensi sebesar K dimensi yang didapatkan dari eigenvalue yang terbesar pertama
Seleksi fitur menggunakan PCA Langkah 1: Mencari Mean Global (nilai rata-rata) M
x1 x2 ... xM x M
x
i
i 1
M
Langkah 2: Menghitung Zero Mean i xi x
Seleksi fitur menggunakan PCA Langkah 3: Membangun matriks Covarians dengan mengkalikan matriks Zero Mean dengan transposenya Populasi
1 C M
M
T i i i 1
Sampel
1 M T C i i M 1 i 1
Seleksi fitur menggunakan PCA Langkah 4 : Menghitung eigenvalue dari C CU U I CU I U CU I U ( I C ) U 0
Hasil : 1 , 2 , 3 , ..., N
det( I C ) 0
Seleksi fitur menggunakan 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 , ..., u N
Seleksi fitur menggunakan PCA Langkah 6 : Mengurangi dimensi sebesar K dimensi Pilihlah fitur sebanyak K berdasarkan nilai eigenvalue terbesar
xˆ merupakan hasil transformasi dari x
Seleksi fitur menggunakan PCA Pemilihan nilai K menggunakan kriteria berikut :
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
Seleksi fitur menggunakan PCA Vektor asal x dapat dibangun kembali menggunakan komponen prisipal-nya
PCA meminimalkan error dari rekonstruksi prinsipal tersebut: Hal itu dapat ditunjukkan bahwa error sama dengan :
Contoh PCA : Menghitung EigenValue No Fitur 1 Fitur 2 Kelas P11 Misal diketahui dataset : 1 P11 P12 Mobil D = P21 2 P21 P22 Rumah
Mean global
P11 P21 x1 Banyak _ Data
Zero Mean
x1 D x1
x 2 P11 x1 x 2 P21 x1
P12 P22 x2 Banyak _ Data
2 4 P12 x 2 , misal 1 5 P22 x 2 T
Kovarian
P12 P22
1 4 2 4 2 1 17 13 17 13 C N 1 1 5 1 5 2 1 13 29 13 29
EigenValue detI C 0 1 0 17 13 det * 13 29 0 0 1 13 17 det 0 13 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 det * 0
0 17 1 13
13 0 29
17 det 13
13 0 29
1, 2 1, 2 1, 2 1, 2
b
b 2 4 ac 2a
( 46) 46 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
EigenVektor 0 8.68218 Matrik EigenValue 37.31782 0 CU U
c11 c12 u1 u1 c 21 c22 u 2 u 2 1 0 c11 c12 u1 1 0 u1 0 1 c 21 c22 u 2 0 1 u 2 c11 c12 u1 1 0 u1 c 0 1 u 2 21 c22 u 2 c12 u1 c11 0 c c22 u 2 21
(c11 )u1 c12 u 2 0 c21u1 (c22 )u 2 0 17 13 13 29
Matrik kovarian : C
Vektor eigen didapatkan dengan persamaan :
(17 )u1 13u 2 0 13u1 ( 29 )u 2 0 Untuk λ1 = 8.68218 maka :
8.3178u1 13u 2 0 13u1 20.3178u 2 0
EigenVektor Untuk λ1 = 8.68218 maka :
8.3178u1 13u 2 0
13u1 20.3178u 2 0 Solusi non trivial sistem persamaan ini adalah :
Untuk λ2 = 37.31782 maka :
- 20.3178u1 13u 2 0 13u1 - 8.3178u 2 0
Solusi non trivial sistem persamaan ini adalah :
8.3178u1 13u 2
20.3178u1 13u 2
13u 2 u1 8.3178
u1
8.3178a Misalkan u1 a maka u 2 13
13u 2 20.3178
Misalkan u 2 b maka u1
13b 20.3178
Jadi vektor eigen untuk λ1 = 8.68218 adalah :
Jadi vektor eigen untuk λ2 = 37.31782 adalah :
dimana a adalah bilangan sembarang yang tidak nol.
dimana b adalah bilangan sembarang yang tidak nol.
a U 8.3178a 13
13b U 20.3178 b
EigenVektor 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 U 0.5389
0.5389 0.8423
Evaluasi Error dan Penentuan Jumlah K 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
Diskusi Tentukan hasil transformasi dataset berikut ! No Fitur 1 Fitur 2 Fitur 3 Kelas 1 8 3 4 Apel 2 2 4 9 Jeruk
Latihan Tentukan hasil transformasi dataset berikut dengan Threshold = 95% untuk nilai K ! No Fitur 1 Fitur 2 Fitur 3 Kelas 1 10 7 2 Padi 2 6 5 4 Jagung 3 2 3 6 Gandum 4 8 0 10 Kedelai
Ketentuan Baru Bagi kelompok yang datasetnya banyak yang kualitatif silakan ganti dataset Bagi kelompok yang fiturnya melebihi 10 maka hilangkan fitur yang lain dan jadikan hanya 10 fitur saja atau cari dataset yang memiliki fitur maksimal 10 fitur Bagi kelompok yang datanya melebihi 100 maka ambil 100 data saja, dengan catatan jumlah data di setiap kelas harus seimbang
Tugas Lakukan perhitungan PCA terhadap data yang telah dikumpulkan pada tugas sebelumnya
[email protected] 081 331 834 734 / 088 160 127 40