Upload
diatri-indradewi
View
626
Download
8
Tags:
Embed Size (px)
Citation preview
MK. KECERDASAN BUATAN LANJUT
NEURAL NETWORKS BASED ON COMPETITION
PS. TEKNIK INFORMATIKA
JURUSAN ILMU KOMPUTER
FAKULTAS MIPA
UNIVERSITAS UDAYANA
KELOMPOK I
DIATRI INDRADEWI 0708605005
KENCANAWATI 0708605006
PUTU IIN AGUSTIN 0708605048
A. FIXED WEIGHT COMPETITIVE NETS Winner – Take – All
Banyak jaringan syaraf menggunakan ide mengenai kompetisi di antara neuron untuk meningkatkan perbedaan nilai aktivasi dari neuron-neuron
Neuron dengan nilai aktivasi terbesar yang diizinkan untuk tetap dalam kondisi “on”
Fixed Weight Competitive Nets Selama proses iterasi berlangsung, yang berubah
hanyalah nilai titik-titiknya, nilai bobot tidak berubah meskipun bobot ini digunakan untuk mengubah nilai titiknya
Fixed Weight Competitive Nets: Maxnet Mexican Net Hamming Net
MAXNET
Contoh spesifik dari jaringan syaraf berbasis kompetisi yang dapat digunakan sebagai suatu subnet untuk memilih input mana yang terbesar
Node m pada subnet ini sepenuhnya saling berhubungan dengan bobot yang simetris
Tidak terdapat algoritma pelatihan karena selama proses bobotnya tetap
ARSITEKTUR MAXNET
Fungsi aktivasi Maxnet:
• Jaringan terdiri dari m titik yang semuanya saling berhubungan dengan bobot yang simetris
• Bobot antar titik bebeda adalah =
• Bobot suatu titik ke dirinya sendiri = 1
ALGORITMA MAXNET
Step 0 Inisialisasi nilai aktivasi dan bobot
Step 1 Selama kondisi untuk berhenti bernilai salah, lakukan langkah 2 – 4 Step 2 Perbaharui nilai aktivasi untuk masing-masing node :
Step 3 Simpan nilai aktivasi untuk digunakan pada iterasi selanjutnya
Step 4 Uji kondisi yang digunakan untuk berhenti: Jika terdapat lebih dari satu node yang memiliki nilai aktivasi selain nol, maka lanjutkan, selain kondisi tersebut maka berhenti
CONTOH
Misalkan jaringan MAXNET dengan empat neuron memiliki bobot = 20 dengan nilai input mula-mula:
a1(0) = 0.2 a2(0) = 0.4 a3(0) = 0.6 a4(0) = 0.8
Nilai aktivasi yang dihasilkan selama proses iterasi:
MEXICAN NET Jaringan Topi Meksiko merupakan subnet penguat
yang lebih umum dibandingkan MAXNET Terdapat neuron-neuron yang dihubungkan dengan
bobot positif yang terhubung ke sejumlah “cooperative neighbors” (neuron yang berdekatan). Selain itu juga ada neuron-neuron yang dihubungkan dengan bobot negatif yang terhubung ke sejumlah “competitive neighbors” (neuron yang berjauhan). Neuron-neuron yang lebih jauh lagi, sama sekali tidak terhubung
Ukuran wilayah kooperatif (koneksi positif) dan wilayah kompetitif (koneksi negatif) dapat berbeda-beda, tergantung dari besarnya bobot positif dan negatif serta topologi wilayah (linear, persegi, hexagonal, dll).
ARSITEKTUR
ALGORITMAStep 0 Inisialisasi parameter t_max, R1, R2 sesuai dengan yang
diinginkanInisialisasi bobot:
Inisialisasi x_old = 0
Step 1 Sinyal eksternal s sekarang menjadi: x = sSimpan nilai aktivasi dalam array x_old (for i = 1, …, n):
Set penghitung iterasi: t = 1
Step 2 Selama t < t_max, lakukan langkah 3 – 7 Step 3 Hitung net input (i = 1, …, n):
CONT…
Step 4 Gunakan fungsi aktivasi:
Step 5 Simpan nilai aktivasi tersebut pada variabel x_old
Step 6 Lakukan increment pada penghitung iterasi
Step 7 Uji kondisi berhenti Jika t < t_max, lanjutkan iterasi; jika tidak, berhenti
CONTOH
Diilustrasikan algoritma Topi Meksiko digunakan pada jaringan sederhana dengan 7 unit. Fungsi aktivasi untuk jaringan ini adalah:
CONT…
CONT…
CONT…
CONT…
Berikut ini pola dari nilai aktivasi untuk t = 0, 1, dan 2 yang hasilnya diperoleh berdasarkan proses sebelumnya
HAMMING NET
Jaringan Hamming menentukan vektor contoh mana yang paling mirip dengan vektor input yang diberikan
Bobot jaringan ditentukan oleh vektor contoh Vektor contoh dan vektor input bipolar Dalam prosesnya jaringan Hamming menggunakan:
• Jarak Hamming ukuran kemiripan antara dua buah vektor
• MAXNET subnet untuk menentukan unit yang memiliki net input terbesar
ARSITEKTUR
ALGORITMAStep 0 Untuk menyimpan m buah vektor contoh, inisialisasi bobot-
bobotnya
dan inisialisasi biasnya
Step 1 Untuk tiap vektor input x , lakukan langkah 2 – 4
Step 2 Hitung net input untuk tiap unit Yj
Step 3 Inisialisasi aktivasi untuk MAXNET
Step 4 MAXNET beriterasi untuk menemukan vektor contoh yang memiliki kecocokan terbaik dengan vektor input
CONTOH
Diketahui 2 buah vektor contoh e(1) = (1, -1, -1, -1) dan e(2) = (-1, 1, 1, 1). Gunakan Jaringan Hamming untuk menentukan vektor contoh yang paling mirip dengan masing-masing pola vektor input bipolar berikut ini:
(1, 1, -1, -1)
(1, -1, -1, -1)
(-1, -1, -1, 1)
(-1, -1, 1, 1)
CONT…
CONT…
CONT…
CONT…
B. KOHONEN SELF-ORGANIZING MAPS
Pada jaringan Kohonen, suatu lapisan yang berisi neuron-neuron akan menyusun dirinya sendiri berdasarkan nilai input tertentu dalam suatu kelompok yang dikenal dengan istilah cluster
Selama proses penyusunan diri, unit cluster yang memiliki vektor bobot paling cocok dengan pola input (memiliki jarak yang paling dekat) akan terpilih sebagai pemenang
Ukuran kedekatan yang paling sering digunakan adalah jarak Euclidean yang paling minimum
Unit pemenang beserta unit-unit di sekitarnya akan memperbaiki bobot-bobotnya
ARSITEKTUR
Jaringan Kohonen tidak menggunakan perhitungan net maupun fungsi aktivasi
ARSITEKTUR: NEIGHBORHOOD
Array linear dari unit cluster
Ketetanggaan untuk grid bujur sangkar
Ketetanggaan untuk grid heksagonal
ALGORITMA
Step 0 Inisialisasi bobot wijSet parameter-parameter tetanggaSet parameter learning rate
Step 1 Selama kondisi berhenti bernilai FALSE, lakukan langkah 2 – 8 Step 2 Untuk tiap vektor input x, lakukan langkah 3 – 5Step 3 Untuk setiap j, hitung:
Step 4 Temukan index J sehingga D(J) bernilai minimumStep 5 Untuk semua unit j dengan tetangga tertentu dari J, dan untuk semua i: Step 6 Perbaiki learning rateStep 7 Kurangi radius ketetanggaan pada waktu-waktu tertentuStep 8 Uji kondisi berhenti
CONTOH
Diketahui 4 buah vektor:
(1, 1, 0, 0)
(0, 0, 0, 1)
(1, 0, 0, 0)
(0, 0, 1, 1)
Gunakan Jaringan Kohonen untuk mengelompokkan 4 buah vektor tersebut maksimum ke dalam 2 cluster
Learning rate yang digunakan adalah:
(0) = 0.6
(t + 1) = 0.5 (t)
Dengan hanya dua cluster yang tersedia, neighborhood dari node J diset sehingga hanya satu cluster yang memperbaiki bobotnya pada setiap langkah (dengan kata lain R = 0)
CONT…
CONT…
CONT…
CONT…
CONT…
CONT…(SUMMARY)
LEARNING VEKTOR QUANTIZATION (LVQ)
Metode pengklasifikasi pola dimana tiap unit output merepresentasikan kelas atau kategori tertentu. Vektor bobot untuk suatu unit output sering diacu sebagai vektor referensi untuk kelas yang direpresentasikan
Selama pembelajaran, unit output diposisikan untuk memperkirakan keputusan awal dari teori pengklasifikasian Bayes
Hal ini diumpamakan bahwa klasifikasi dalam pembelajaran pola ini telah disediakan termasuk distribusi awal dari vektor referensi (masing-masing merepresentasikan klasifikasi yang telah diketahui)
ARSITEKTUR
Mirip Kohonen self-organizing map Beda : setiap output unit memiliki
pengetahan dari kelas yang direpresentasikan
ALGORITMA
Step 0 Inisialisasi vektor referensi Inisialisasi learning rate, (0)
Step 1 Selama kondisi berhenti bernilai FALSE, lakukan langkah 2 – 6Step 2 Untuk tiap pembelajaran vektor input x, lakukan langkah 3 – 5
Step 3 Cari J sehingga ||x - wJ|| minimumStep 4 Update wJ :
Jika T = CJ, maka wJ (baru)=wJ (lama) + [x-wJ (lama)]Jika T ≠ CJ, maka wJ (baru)=wJ (lama) - [x-wJ (lama)]
Step 5 Kurangi learning rateStep 6 Uji kondisi berhenti:Kondisi ini bisa dispesifikasikan dengan menetapkan jumlah iterasi atau pencapaian learning rate dengan nilai yang cukup kecil
CONTOH
Diketahui lima vektor yang yang dibagi ke dalam dua kelas (1 dan 2). Dua vektor pertama akan digunakan untuk menginisialisasi 2 vektor referensi
VEKTOR CLASS
(1,1,0,0) 1
(0,0,0,1) 2
(0,0,1,1) 2
(1,0,0,0) 1
(0,1,1,0) 2
Unit output yang merepresentasikan kelas:
C1 = 1 dan C2 = 2
Vektor sisanya, yakni [(0,0,1,1), (1,0,0,0), (0,1,1,0)] sebagai vektor training
CONT…
CONT…
VARIASI Variasi algoritma LVQ: • LVQ2 • LVQ2.1• LVQ3 Algoritma asli hanya vektor referensi yang paling
mendekati vektor input yang diupdate Algoritma yang lebih baik dua vektor (pemenang
dan runner-up) melakukan pembelajaran jika beberapa kondisi terpenuhi
Ide jika input memiliki taksiran jarak yang sama dengan vektor pemenang dan runner-up, maka masing-masing vektor tersebut harus melakukan pembelajaran
LVQ2 Kondisi yang harus dipenuhi agar kedua vektor
tersebut dimodifikasi:
1. Unit pemenang dan runner-up merepresentasikan kelas yang berbeda
2. Vektor input berada pada kelas yang sama dengan vektor runner-up
3. Jarak dari vektor input ke unit pemenang dan dari vektor input ke unit runner-up memiliki taksiran yang sama. Kondisi ini dinyatakan dengan notasi berikut ini:
x = input vektor yang digunakan
yc = vektor referensi terdekat dengan xyr = vektor referensi terdekat kedua dengan x
dc = jarak dari x ke yc
dr = jarak dari x ke yr
CONT…Berikut ini yang harus dipenuhi oleh
vektor input x
Dimana nilai bergantung pada jumlah sampel pembelajaran; nilai khas yang digunakan adalah
= 0.35Jika kondisi-kondisi tersebut terpenuhi maka vektor pemenang dan runner-up diupdate:
LVQ2.1
Kondisi yang harus dipenuhi agar kedua vektor tersebut diupdate salah satu vektor termasuk ke dalam kelas yang benar dan vektor lainnya tidak termasuk ke dalam kelas tersebut
Kondisi yang harus dipenuhi agar update vektor terjadi:
CONT…
Jika kondisi tersebut terpenuhi:• Vektor referensi yang berada di kelas yang sama
dengan vektor x diupdate:
• Vektor referensi yang berada di kelas yang berbeda dengan vektor x diupdate:
LVQ3
Dua vektor yang paling dekat diperbolehkan melakukan pembelajaran selama vektor input memenuhi kondisi berikut:
Dimana nilai yang khas digunakan = 0.2 Kondisi lainnya:• Sama dengan LVQ2.1• Jika x, yc1, yc2 berada pada kelas yang sama. Pada
kasus ini bobot diupdate:
Learning rate β(t) merupakan kelipatan learning rate (t) yang digunakan jika yc1 dan yc2 berada pada kelas yang berbeda
C. COUNTERPROPAGATION
Counterpropagation jaringan multilayer berdasarkan kombinasi input, clustering dan lapisan output
Counterpropagation dapat digunakan untuk kompres data, aproksimasi fungsi, atau mengasosiasikan pola
Pembelajaran pada jaringan ini terjadi dalam dua langkah:
• Pengclusteran vektor input• Bobot dari unit cluster ke unit output diadaptasi
untuk menghasilkan respon yang diinginkan Ada dua tipe counterpropagation:• Full Counterpropagation• Forward Only Counterpropagation
FULL COUNTERPROPAGATION
Dikembangkan untuk menyediakan metode efisien yang merepresentasikan sejumlah besar pasangan vektor x:y dengan membuat look-up table
Full Counterpropagation menghasilkan aproksimasi x*:y* berdasarkan input dari vektor x (tanpa informasi yang menyangkut vektor y), atau hanya input dari vektor y, atau pasangan vektor input x:y
ARSITEKTUR
CONT…
ALGORITMA
Pelatihan jaringan counterpropagation terjadi pada dua fase:
• Fase pertama unit pada lapisan input X, cluster, dan lapisan input Y aktif. Unit pada lapisan cluster berkompetisi
• Fase kedua hanya unit J yang tetap aktif pada lapisan cluster. Bobot dari cluster pemenang unit J ke unit output disesuaikan sehingga vektor aktivasi dari unit pada lapisan output Y, y*, merupakan aproksimasi vektor input y; x* merupakan aproksimasi vektor input x
CONT…
Step 0 Inisialisasi bobot, learning rate
Step 1 Selama kondisi berhenti untuk fase 1 pembelajaran bernilai FALSE, lakukan langkah 2 – 7 Step 2 Untuk tiap pasangan input pembelajaran x:y, lakukan langkah 3 – 5Step 3 Set lapisan aktivasi input input X ke vektor xSet lapisan aktivasi input input Y ke vektor yStep 4 Cari unit cluster pemenang; sebut dengan index JStep 5 Update bobot untuk unit ZJ:
Step 6 Kurangi learning rate dan βStep 7 Uji kondisi berhenti untuk fase 1 pembelajaran
CONT…Step 8 Selama kondisi berhenti untuk fase 2 pembelajaran bernilai
FALSE, lakukan langkah 9 – 15 Step 9 Untuk tiap pasangan input pembelajaran x:y, lakukan langkah 10 – 13Step 10 Set lapisan aktivasi input input X ke vektor xSet lapisan aktivasi input input Y ke vektor yStep 11 Cari unit cluster pemenang; sebut dengan index JStep 12 Update bobot untuk unit ZJ:
Step 13 Update bobot dari unit ZJ ke lapisan output:
Step 14 Kurangi learning rateStep 15 Uji kondisi berhenti untuk fase 2 pembelajaran
CONT…
Pada langkah 4 dan 11:• Jika menggunakan perkalian titik, temukan cluster
unit Zj dengan net input terbesar
• Jika menggunakan jarak Euclidean, temukan cluster unit Zj dengan jarak terkecil
APLIKASI Setelah pelatihan, jaringan counterpropagation dapat
digunakan untuk menemukan aproksimasi x* dan y* ke input, dan pasangan vektor output x dan y.
Prosedur aplikasi :
Jaringan ini juga dapat digunakan dalam mode interpolasi, pada kasus ini beberapa unit diijinkan aktif pada lapisan cluster
FORWARD ONLY COUNTERPROPAGATION
Forward Only Counterpropagation versi sederhana dari full counterpropagation
Dimaksudkan untuk memperkirakan sebuah fungsi y = f (x) yang belum tentu invertible
Dapat digunakan jika pemetaan dari x ke y telah ditentukan, namun pemetaan dari y ke x tidak ditentukan
Perbedaan dengan Full Counterpropagation hanya menggunakan vektor x untuk membentuk cluster pada unit Kohonen selama fase awal pembelajaran
ARSITEKTUR
ALGORITMA
Step 0 Inisialisasi bobot, learning rate
Step 1 Selama kondisi berhenti untuk fase 1 bernilai FALSE, lakukan langkah 2 – 7 Step 2 Untuk tiap input pembelajaran x, lakukan langkah 3 – 5Step 3 Set lapisan aktivasi input input X ke vektor xStep 4 Cari unit cluster pemenang; sebut dengan index JStep 5 Update bobot untuk unit ZJ:
Step 6 Kurangi learning rate Step 7 Uji kondisi berhenti untuk fase 1 pembelajaran
CONT…
Step 8 Selama kondisi berhenti untuk fase 2 bernilai FALSE, lakukan langkah 9 – 15 Step 9 Untuk tiap pasangan input pembelajaran x:y, lakukan langkah 10 – 13Step 10 Set lapisan aktivasi input input X ke vektor xSet lapisan aktivasi input input Y ke vektor yStep 11 Cari unit cluster pemenang; sebut dengan index JStep 12 Update bobot ke unit ZJ (nilai kecil) :
Step 13 Update bobot dari unit ZJ ke lapisan output:
Step 14 Kurangi learning rate Step 15 Uji kondisi berhenti untuk fase 2 pembelajaran
TERIMA KASIHQ & A