Aplikasi Kecerdasan Komputasional Artificial Neural Networks Aplikasi Kecerdasan Komputasional Eko Prasetyo Teknik Informatika
Otak Manusia Komputer yang kompleks, non-linear, dan parallel. Mempunyai kemampuan untuk melakukan pekerjaan seperti pengenalan pola pemahaman dan control gerakan yang lebih cepat daripada segala komputer
Otak manusia Lebih dari 10 juta neuron, 60 trilyun koneksi (disebut synapses) diantara neuron. Dengan menggunakan banyak neuron secara simultas, otak dapat menjalankan fungsinya jauh lebih cepat daripada komputer tercepat yang ada saat ini (Negnevitsky, 2002). Mungkin menjadi kenyataan memodelkan otak manusia ? Tidak sekarang. Pemodelan saat ini baru sebatas penyelesaian masalah tunggal dengan bentuk ANN sedang.
Jaringan Syaraf Bagian dasar syaraf biologis: Neuron terdiri dari: Sel-sel syaraf neuron. Neuron terdiri dari: Badan sel (soma) Sejumlah serat yang menyalurkan informasi ke neuron (dendrite) Sebuah serat tunggal yang keluar dari neuron (axon)
Artifical Neuron Merupakan model dari neuron biologis. Adder (penggabungan sinyal masuk) Bobot (dendrite) Keluaran (axon) Fungsi aktivasi Threshold fungsi aktivasi Sinyal masukan / stimulus
Bidang Penerapan ANN Akademik: prediksi lama studi mahasiswa, pengelompokan nilai akademik. Bisnis: prediksi omset penjualan. Medis: diagnosis awal penyakit pasien. Ekonomi: segmentasi pasar
Fungsi Aktivasi Untuk membatasi keluaran dari neuron agar sesuai dengan batasan sinyal/nilai keluarannya Jenis: Linear Sigmoid biner Sigmoid biner jika a=1 Step biner Step bipolar Sigmoid bipolar
Layer ANN ANN terbagi 2 macam: ANN layer tunggal dan ANN layer jamak. ANN dengan layer tunggal Mempunyai satu lapis neuron pemroses. Satu lapis bisa berisi banyak neuron. Contoh: Perceptron, Delta, Hebbian, dsb. ANN layer jamak Mempunyai sejumlah neuron perantara yang menghubungkan vektor masukan dengan layer keluar layer tersembunyi (hidden layer). Contoh: Back-propagation, Construktive Backpropagation, Recurrent Neural Network, dan sebagainya ANN layer tunggal ANN layer jamak
Jenis Pembelajaran ANN dengan Pembelajaran Terawasi (Supervised NN) Ada label kelas sebagai target pembelajaran setiap data training. Diakhir iterasi pembelajaran, semaksimal mungkin ANN dapat mengenali setiap data terhadap label kelas masing-masing. Contoh: Perceptron, LVQ, Delta, Back-propagation, Recurrent NN, dsb. ANN dengan Pembelajaran Tidak Terawasi (Unsupervised NN) Tidak ada label kelas ANN dengan sendirinya mengelompokkan data-data kedalam cluster terdekat masing-masing. Contoh: Self-Organizing Map
Algoritma Pembelajaran (Learning Algorithm) Properti penting ANN: kemampuan jaringan untuk belajar dari lingkungan, dan meningkatkan kinerjanya selama proses pembelajaran. Urutan proses pembelajaran: Jaringan syaraf distimulus oleh lingkungan Jaringan syaraf mengalami perubahan pada parameter bebas sebagai hasil dari stimulasi ini Jaringan syaraf menghasilkan cara baru untuk mengenali lingkungan karena perubahan yang terjadi dalam struktur internal.
Blok Pembelajaran Sinyal error: ek(t) = dk(t) – yk(t) Kriteria error pada suatu iterasi pelatihan: Besar penyesuaian bobot pada sebuah iterasi: Perubahan bobot pada sebuah iterasi: Parameter learning rate () besarnya 0 < ≤ 1, umumnya 0.1 hingga 0.9
Perceptron Dikembangkan oleh Frank Rosenblatt dan beberapa peneliti lain pada akhir 1950-an. Pengenalan aturan belajar untuk pelatihan jaringan perceptron untuk memecahkan masalah pengenalan pola. Perceptron bisa belajar ketika diinisialisasi dengan nilai acak untuk bobot dan bias. Proses pembelajaran perceptron : Hitung selisih keluaran (y) dari target (d) Jika besarnya selisih dapat ditoleransi maka y diterima, tetapi jika selisih tersebut tidak dapat ditoleransi dan banyaknya iterasi belum tercapai maka dilakukan pembaruan bobot w dan bias b, lalu lakukan komputasi ulang. Nilai baru w dan b bergantung kepada nilai . .
Arsitektur ANN Perceptron Sinyal error: Perubahan bobot: , j = 1, 2, …, m Bobot baru:
Kriteria berhentinya pelatihan Tidak adanya error pada nilai keluaran semua vektor masukan Sum of Square Error (SSE), Mean of Square Error (MSE) Jika nilai error tercapai dibawah SSE / MSE maka iterasi dihentikan, jika tidak maka dilanjutkan. Nilai yang umum 10-2. Dimana n adalah jumlah vektor latih pada setiap iterasi pelatihan. Jumlah iterasi pelatihan
Algoritma Perceptron Inisialisasi bobot dan bias, bisa diberi nilai 0 atau nilai yang kecil. Tentukan laju pembelajaran, 0 < ≤ 1. Tentukan batas perubahan error SSE maksimal, misal 0.001. Untuk setiap pasangan vektor data latih dan label kelas, xi : di, lakukan langkah 3 sampai 5. Lakukan perhitungan v dari inner-product antara bobot w dan vektor x, ditambah bias. Hitung nilai yi sebagai nilai keluaran dari ANN. Jika yi di maka lakukan pembaruan bobot w dan bobot bias b. Selama masih ada error yang terjadi (keluaran dan target tidak sama) atau nilai kriteria SSE / MSE masih diatas batas yang ditentukan maka lakukan kembali ke langkah 2 sampai 5.
Contoh Kasus Pelatihan: Operasi Logika AND Kita akan membimbing ANN yang awalnya belum dapat mengenali dengan benar keempat vektor, maka diakhir iterasi akan dapat mengenalinya dengan benar. Fungsi aktivasi : step bipolar. Bobot awal acak w = [0.9 -0.8]. Nilai bobot bias b = 2. Laju pembelajaran = 0.8. Nilai T untuk fungsi aktivasi step bipolar = 2 Operasi logika dengan representasi bipolar x1 x2 x1 x2 1 -1
Contoh Kasus Pelatihan: Operasi Logika AND Iterasi 1 Vektor latih 1, [1 1]: Nilai keluaran, Nilai keluaran sama dengan d1, sehingga tidak perlu ada pembaruan bobot. Nilai bobot dan bias tetap. Bobot baru menjadi: Bobot bias menjadi:
Contoh Kasus Pelatihan: Operasi Logika AND Vektor latih 2, [1 -1]: Nilai keluaran, Nilai keluaran y2 d2, maka dilakukan perubahan bobot. Perubahan bobot, Bobot baru menjadi: Bobot bias menjadi:
Contoh Kasus Pelatihan: Operasi Logika AND Vektor latih 3, [-1 1]: Nilai keluaran, Nilai keluaran sama dengan d3, sehingga tidak perlu ada pembaruan bobot. Nilai bobot dan bias tetap. Bobot baru menjadi: Bobot bias menjadi:
Contoh Kasus Pelatihan: Operasi Logika AND Vektor latih 4, [-1 -1]: Nilai keluaran, Nilai keluaran sama dengan d4, sehingga tidak perlu ada pembaruan bobot. Nilai bobot dan bias tetap. Bobot baru menjadi: Bobot bias menjadi:
Contoh Kasus Pelatihan: Operasi Logika AND Iterasi Vektor masukan [x1 x2 1] v y d e w [w1 w2 b] Bobot [w1 w2 b] Inisialisasi bobot [0.9 -0.8 2] 1 [1 1 1] 2.1 [0 0 0] [1 -1 1] 3.7 -1 -2 [-1.6 1.6 -1.6] [-0.7 0.8 0.4] [-1 1 1] 1.9 [-1 -1 1] 0.3 2 0.5 [1.6 1.6 1.6] [0.9 2.4 2] 3.5 [1.6 -1.6 -1.6] [2.5 0.8 0.4] -2.9 3 [0.9 2.4 -1.2] -4.5 4 -2.7
Contoh Kasus Pelatihan: Operasi Logika AND Belum dapat mengenali dengan benar semua vektor yang dilatihkan. Iterasi Vektor masukan [x1 x2 1] v y d e w [w1 w2 b] Bobot [w1 w2 b] Inisialisasi bobot [0.9 -0.8 2] 1 [1 1 1] 2.1 [0 0 0] [1 -1 1] 3.7 -1 -2 [-1.6 1.6 -1.6] [-0.7 0.8 0.4] [-1 1 1] 1.9 [-1 -1 1] 0.3 2 0.5 [1.6 1.6 1.6] [0.9 2.4 2] 3.5 [1.6 -1.6 -1.6] [2.5 0.8 0.4] -2.9 3 [0.9 2.4 -1.2] -4.5 4 -2.7 Sudah dapat mengenali dengan benar semua vektor yang dilatihkan. Bobot akhir ANN, sebagai model yang akan digunakan pada saat prediksi
Contoh Kasus Pelatihan: Operasi Logika AND Jika ada sebuah vektor dengan nilai [0.2 -0.7], berapa nilai keluaran ? Nilai keluaran,
Contoh Lain Klasifikasi perkiraan kebangkrutan keuangan orang. Fitur yang digunakan: harta dan utang. Data set ada 5, harta dan utang (dalam satuan juta). Jika ada orang dengan harta (x1) sebesar 0.7 juta, utang (x2) sebesar 0.6 juta. Apakah dia bangkrut atau tidak ? FITUR STATUS HARTA UTANG 1.2 0.3 Tidak Bangkrut 0.8 0.6 1.1 1 0.4 Bangkrut 0.5 1.5 Representasi status: 1= Tidak bangkrut 0 = Bangkrut
Penyelesaian dengan Perceptron Bobot awal untuk w1 dan w2 masing-masing -1.8 dan 2.9 Laju pembelajaran = 0.9, T untuk fungsi aktivasi step = 0 ite masukan v keluaran target error delta bobot bobot baru [x1 x2] y' d [w1 w2] [w1 w2] Inisialisasi [-1.8 2.9] 1 [1.2 0.3] -1.2900 [1.0800 0.2700] [-0.7200 3.1700] [0.8 0.6] 1.3260 [0 0] [1.1 1] 2.3780 [0.4 1] 2.8820 -1 [-0.3600 -0.9000] [-1.0800 2.2700] [0.5 1.5] 2.8650 [-0.4500 -1.3500] [-1.5300 0.9200] 2 -1.5600 [-0.4500 1.1900] 0.3540 0.6950 1.0100 [-0.8100 0.2900] 0.0300 [-1.2600 -1.0600] 3 -1.8300 [-0.1800 -0.7900] -0.6180 [0.7200 0.5400] [0.5400 -0.2500] 0.3440 -0.0340 -0.1050 4 0.5730 0.2820 Bobot akhir
Penyelesaian dengan Perceptron Setelah 4 kali iterasi, ternyata tidak ditemukan error, maka iterasi dihentikan Didapatkan bobot akhir (sebagai model) perceptron [w1 w2] = [0.5400 -0.2500] Menggunakan bobot akhir tersebut untuk mendapatkan hasil prediksi data uji [0.7 0.6] v= x1*w1+x2*w2 = 0.7*0.5400+0.6*(-0.2500) = 0.2280 y = sign(v) = sign(0.2280) = 1 Karena y = 1 (Tidak bangkrut) maka orang tersebut dikategorikan tidak bangkrut. Garis keputusan perceptron Kelas bangkrut Kelas tidak bangkrut
Kasus Bagaimana jika ada orang dengan keuangan seperti dibawah ini ? FITUR STATUS HARTA UTANG 1 1.6 ? 0.3 0.4 0.65 1.44 0.87 1.25 0.21 0.5 Model garis keputusan yang didapat sebelumnya
ANY QUESTIONS ?