Terdapat banyak jenis pola: Pola visual Pola temporal Pola logikal Tidak ada tepat satu teori untuk menyelesaikan problem pengenalan pola Terdapat model standar yang dapat dijadikan teori acuan Statistik atau Fuzzy Syntatic atau Struktur Berbasis pengetahuan Statistical Pattern Recognition Problem pengenalan pola didefinisikan sebagai problem klasifikasi Daftar kata kunci : Klasifikasi Fitur Vektor fitur Model klasifikasi standar Diperlukan suatu sistem untuk melakukan pengenalan Sistem mengenali data kemudian mengklasifikasi data tersebut berdasarkan pola tertentu ke suatu klas Contoh aplikasi yang melakukan … Pengenalan suara Identifikasi sidik jari Pengenal karakter secara optik (OCR) Identifikasi urutan DNA Terdapat data dengan pola visual Data merepresentasikan karakter 26 huruf alfabet Definisi problem: Pengenalan pola data yang diklasifikasikan ke 26 kelas Data kelas 1 adalah huruf A dengan segala variasi penulisannya, dst 5 standar pola kelas 1 standar pola kelas 2 standar pola kelas 4 Data dengan pola visual DITERIMA DITERIMA DITOLAK Array nilai tingkat terang pixel Data merepresentasikan karakter 26 huruf alfabet Definisi tujuan sistem mengklasifikasikan data ke 26 kelas yang ada berdasarkan standar polanya Problem yang muncul Q1: Apa yang akan dibandingkan? FITUR Q2: Bagaimana mengukur tingkat kesamaan pola? Fitur adalah suatu nilai yang dapat membantu sebagai pembeda Contoh dalam klasifikasi huruf cetak ◦ Dalam penentuan fitur untuk pembandingan perlu … tahu luas area huruf tahu daerah perbatasan luar huruf ◦ Dalam pengukuran tingkat kesamaan huruf dilakukan … Berdasarkan rasio kepadatan luas area penulisan huruf dengan area batas luar huruf (disebut perimeter) : Huruf B lebih padat daripada huruf O Berdasarkan tingkat simetri area huruf bagian atas dengan bawah. Huruf B lebih simetri daripada huruf P Beberapa fitur dapat sensitif akan perubahan nilai ◦ Fitur tingkat kelurusan sisi kiri huruf Pola untuk membedakan huruf D atau O 7 Set nilai sejumlah d fitur dihasilkan dari pengukuran setiap data yang akan diklasifikasikan ◦ x1 = area ◦ x2 = perimeter, …, ◦ xd = panjang garis melengkung / jarak garis lurus Nilai sejumlah d fitur dari suatu data disimpan sebagai sebuah matrik baris x Vektor Fitur ◦ Vektor x memiliki d baris = suatu data memiliki d dimensi ◦ Vektor x digambarkan sebagai suatu titik pada ruang fitur dimensi d Pola suatu data hasil dari pengukuran direpresentasikan dalam sebuah vektor Pada pengenalan pola terjadi pengurangan jumlah informasi, pemetaan atau pelabelan informasi 9 Sekumpulan ikan diletakkan pada ban berjalan Berdasarkan sensor optik, mesin dapat mengelompokkan ikanikan tersebut sebagai SeaBass dan Salmon Analisa problem Set posisi kamera untuk mengambil gambar ikan-ikan Dari gambar akan diekstrak informasi fitur: ▪ Panjang ikan ▪ Tingkat kecerahan warna sisik ikan ▪ Lebar badan ikan ▪ Jumlah dan bentuk sirip ikan ▪ Posisi mulut ikan, dll. kumpulan ikan pada ban berjalan sensor optik gambar ikan-ikan pra pemrosesan operasi segmentasi gambar untuk membedakan setiap ikan ekstraksi fitur • lebar badan ikan • tingkat kecerahan warna sisik ikan pengklasifikasi salmon seabass hasil pengelompokkan ikan NILAI AMBANG BATAS ERROR SALMON NILAI AMBANG BATAS ERROR SALMON fitur lightness lebih baik dibanding fitur length Penentuan nilai ambang batas (threshold decision boundary) menentukan nilai biaya (cost function) Solusi Menambah atau mengurangi nilai ambang batas Jika nilai ambang batas dikurangi: • seabass masuk klas salmon berkurang • salmon masuk klas seabass bertambah ERROR SEABASS TEORI KEPUTUSAN 14 Digunakan fitur lebar ikan dan tingkat kecerahan sisik ikan xT = [x1, x2] LIGHTNESS WIDTH Batas pemisah (decision boundary) terbaik memberikan hasil klasifikasi yang optimal GENERALISASI Sistem pengenalan tidak memiliki sifat generalisasi jika ◦ Sistem hanya dapat mengklasifikasi data pelatihan ◦ Sistem tidak dapat mengklasifikasi dengan baik data baru POST PROCESSING : • melakukan evaluasi tingkat kesalahan (error rate) • mempertimbangkan mengganti jenis salmon fitur untuk pengenalan seabass xT = [x1, x2] SEGMENTASI : • pola – pola yang ada harus terpisah, tidak bertumpuk SENSING : • menggunakan alat optik untuk menangkap pola visual (mis: kamera) • sistem pengenalan pola sensitif akan resolusi alat optik untuk mengurangi data terdistorsi Collect data: mengumpulkan data untuk pelatihan dan uji coba Feature choice: memilih fitur yang akan digunakan berdasarkan data dan menentukan informasi prior Model choice: memilih model klasifikasi. (catatan: telah ditetapkan model pengenalan pola berdasarkan teori statistik) Train classifier: dengan data pelatihan, informasi prioir akan berubah sampai performa fungsi klasifikasi optimal Evaluate classifier: melakukan evaluasi tingkat kesalahan kemudian mempertimbangkan untuk mengganti fitur Trade-off antara kemudahan komputasi dengan performa KOMPLEKSITAS KOMPUTASI Pembelajaran Supervised Terdapat kategori/klas/label sebagai hasil klasifikasi Terdapat fungsi biaya untuk setiap pola pada data pelatihan Pembelajaran Unsupervised Sistem akan membentuk cluster/kelompok/gugus data berdasarkan pola yang ada Melakukan ekstraksi fitur data asal untuk mendapat set fitur d; x1, x2, …, xd Desain ekstraktor fitur tergantung pada problem Keinginan ◦ Ekstraktor fitur menghasilkan vektor fitur yang sama untuk setiap data pada suatu klas Kenyataan ◦ Ekstraktor fitur menghasilkan vektor fitur yang relatif sama untuk setiap data pada suatu klas ◦ Variasi vektor fitur data pada satu kelas lebih kecil dibanding data pada lain kelas 21 Membuat solusi hipotesa awal, kemudian diadaptasi modelnya sampai optimal CARA INTUITIF Menurunkan fungsi pengklasifikasi optimal dari model matematisnya Membahas teori: ▪ Pencocokan template (template matching) ▪ Pengklasifikasian mencari jarak terdekat (minimum-distance classifiers) ▪ Pengukuran (metrics) ▪ Perkalian inner product ▪ Diskriminan linear ▪ Decision boundaries Contoh huruf alfabet D dan O dengan variasi penulisannya Gambar D dan O kiri dijadikan acuan/template karena bebas distorsi Data-data gambar sebelah kanan akan dicocokkan dengan template yang ada dan dihitung tingkat kecocokannya Ada beberapa pendekatan yaitu: Maximum Correlation = jumlah kesamaan ▪ Menghitung jumlah pixel hitam atau putih yang sama antar data dengan template ▪ Pilih kelas dengan nilai kesamaan terbesar Minimum Error = jumlah ketidaksamaan ▪ Menghitung jumlah pixel yang tidak sama (pixel hitam pada data dengan pixel putih pada template atau sebaliknya) ▪ Pilih kelas dengan nilai ketidaksamaan terkecil Digunakan jika variasi pada setiap kelas tergantung pada ada tidaknya tambahan noise Pada pengenalan huruf tidak terdapat distorsi akibat translation, rotation, shearing, warping, expansion, contraction, atau occlusion Ekspresi Matematika dari Template Matching sebagai berikut: ◦ Terdapat vektor fitur x untuk data input ◦ Ditentukan sejumlah c klas ◦ Ditentukan template untuk setiap klas, m1, m2, …, mc Error template matching antara x dan template ke k, mk dihitung dari norm vektor (x - mk) = || x - mk || dan k = {1…c} Penghitungan || x - mk || = menghitung jarak antara vektor x dan vektor mk Pengklasifikasi akan mencari error terkecil = mencari jarak terdekat ◦ Pengklasifikasi dengan Template Matching = Minimum-Distance Classifier Ada banyak cara untuk mendefinisikan Norm ||u||. Contoh sebagai berikut : Manhattan (taxicab) metric ▪ || u || = |u1| + |u2|+ |u3| + ... + |ud| ▪ Contoh: digunakan pada template matching pengenalan huruf dengan menghitung jumlah ketidaksamaan Euclidean metric ▪ || u || = sqrt( u12 + u22 + ... + ud2 ) ▪ Untuk selanjutnya akan digunakan model ini Mahalanobis metric ▪ si = standar deviasi sampel yi terhadap xi Contour dari jarak konstan Euclidean berbentuk circles/spheres Contour dari jarak konstan Manhattan berbentuk squares/boxes Contour dari jarak konstan Mahalanobis berbentuk ellipses/ellipsoids Untuk selanjutnya pengukuran jarak akan menggunakan metric Euclidean atau Mahalanobis