Bab 4 - Neural Network Based on Competition

61
MK. KECERDASAN BUATAN LANJUT NEURAL NETWORKS BASED ON COMPETITION PS. TEKNIK INFORMATIKA JURUSAN ILMU KOMPUTER FAKULTAS MIPA UNIVERSITAS UDAYANA

Transcript of Bab 4 - Neural Network Based on Competition

Page 1: Bab 4 - Neural Network Based on Competition

MK. KECERDASAN BUATAN LANJUT

NEURAL NETWORKS BASED ON COMPETITION

PS. TEKNIK INFORMATIKA

JURUSAN ILMU KOMPUTER

FAKULTAS MIPA

UNIVERSITAS UDAYANA

Page 2: Bab 4 - Neural Network Based on Competition

KELOMPOK I

DIATRI INDRADEWI 0708605005

KENCANAWATI 0708605006

PUTU IIN AGUSTIN 0708605048

Page 3: Bab 4 - Neural Network Based on Competition

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

Page 4: Bab 4 - Neural Network Based on Competition

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

Page 5: Bab 4 - Neural Network Based on Competition

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

Page 6: Bab 4 - Neural Network Based on Competition

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

Page 7: Bab 4 - Neural Network Based on Competition

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:

Page 8: Bab 4 - Neural Network Based on Competition

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).

Page 9: Bab 4 - Neural Network Based on Competition

ARSITEKTUR

Page 10: Bab 4 - Neural Network Based on Competition

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):

Page 11: Bab 4 - Neural Network Based on Competition

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

Page 12: Bab 4 - Neural Network Based on Competition

CONTOH

Diilustrasikan algoritma Topi Meksiko digunakan pada jaringan sederhana dengan 7 unit. Fungsi aktivasi untuk jaringan ini adalah:

Page 13: Bab 4 - Neural Network Based on Competition

CONT…

Page 14: Bab 4 - Neural Network Based on Competition

CONT…

Page 15: Bab 4 - Neural Network Based on Competition

CONT…

Page 16: Bab 4 - Neural Network Based on Competition

CONT…

Berikut ini pola dari nilai aktivasi untuk t = 0, 1, dan 2 yang hasilnya diperoleh berdasarkan proses sebelumnya

Page 17: Bab 4 - Neural Network Based on Competition

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

Page 18: Bab 4 - Neural Network Based on Competition

ARSITEKTUR

Page 19: Bab 4 - Neural Network Based on Competition

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

Page 20: Bab 4 - Neural Network Based on Competition

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)

Page 21: Bab 4 - Neural Network Based on Competition

CONT…

Page 22: Bab 4 - Neural Network Based on Competition

CONT…

Page 23: Bab 4 - Neural Network Based on Competition

CONT…

Page 24: Bab 4 - Neural Network Based on Competition

CONT…

Page 25: Bab 4 - Neural Network Based on Competition

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

Page 26: Bab 4 - Neural Network Based on Competition

ARSITEKTUR

Jaringan Kohonen tidak menggunakan perhitungan net maupun fungsi aktivasi

Page 27: Bab 4 - Neural Network Based on Competition

ARSITEKTUR: NEIGHBORHOOD

Array linear dari unit cluster

Ketetanggaan untuk grid bujur sangkar

Ketetanggaan untuk grid heksagonal

Page 28: Bab 4 - Neural Network Based on Competition

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

Page 29: Bab 4 - Neural Network Based on Competition

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)

Page 30: Bab 4 - Neural Network Based on Competition

CONT…

Page 31: Bab 4 - Neural Network Based on Competition

CONT…

Page 32: Bab 4 - Neural Network Based on Competition

CONT…

Page 33: Bab 4 - Neural Network Based on Competition

CONT…

Page 34: Bab 4 - Neural Network Based on Competition

CONT…

Page 35: Bab 4 - Neural Network Based on Competition

CONT…(SUMMARY)

Page 36: Bab 4 - Neural Network Based on Competition

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)

Page 37: Bab 4 - Neural Network Based on Competition

ARSITEKTUR

Mirip Kohonen self-organizing map Beda : setiap output unit memiliki

pengetahan dari kelas yang direpresentasikan

Page 38: Bab 4 - Neural Network Based on Competition

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

Page 39: Bab 4 - Neural Network Based on Competition

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

Page 40: Bab 4 - Neural Network Based on Competition

CONT…

Page 41: Bab 4 - Neural Network Based on Competition

CONT…

Page 42: Bab 4 - Neural Network Based on Competition

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

Page 43: Bab 4 - Neural Network Based on Competition

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

Page 44: Bab 4 - Neural Network Based on Competition

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:

Page 45: Bab 4 - Neural Network Based on Competition

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:

Page 46: Bab 4 - Neural Network Based on Competition

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:

Page 47: Bab 4 - Neural Network Based on Competition

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

Page 48: Bab 4 - Neural Network Based on Competition

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

Page 49: Bab 4 - Neural Network Based on Competition

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

Page 50: Bab 4 - Neural Network Based on Competition

ARSITEKTUR

Page 51: Bab 4 - Neural Network Based on Competition

CONT…

Page 52: Bab 4 - Neural Network Based on Competition

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

Page 53: Bab 4 - Neural Network Based on Competition

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

Page 54: Bab 4 - Neural Network Based on Competition

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

Page 55: Bab 4 - Neural Network Based on Competition

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

Page 56: Bab 4 - Neural Network Based on Competition

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

Page 57: Bab 4 - Neural Network Based on Competition

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

Page 58: Bab 4 - Neural Network Based on Competition

ARSITEKTUR

Page 59: Bab 4 - Neural Network Based on Competition

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

Page 60: Bab 4 - Neural Network Based on Competition

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

Page 61: Bab 4 - Neural Network Based on Competition

TERIMA KASIHQ & A