klasifikasi ( season 3 ) ann perceptron

14
Klasifikasi (Season 3) ANN Perceptron Pengenalan Pola Materi 3 Eko Prasetyo Teknik Informatika UPN “Veteran” Jawa Timur 2012

Upload: fayre

Post on 22-Feb-2016

102 views

Category:

Documents


1 download

DESCRIPTION

Klasifikasi ( Season 3 ) ANN Perceptron. Pengenalan Pola Materi 3. Eko Prasetyo Teknik Informatika UPN “Veteran” Jawa Timur 2012. Artificial Neural Network. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Klasifikasi  ( Season  3 ) ANN  Perceptron

Klasifikasi (Season 3)ANN PerceptronPengenalan PolaMateri 3

Eko PrasetyoTeknik Informatika

UPN “Veteran” Jawa Timur2012

Page 2: Klasifikasi  ( Season  3 ) ANN  Perceptron

2

Artificial Neural Network ANN merupakan suatu konsep rekayasa pengetahuan dalam

bidang kecerdasan buatan yang didesain dengan mengadopsi sistem saraf manusia◦ Pemrosesan utama sistem syaraf manusia ada di otak.

Bagian terkecil dari otak adalah sel saraf yang disebut sebagai unit dasar pemroses informasi (neuron). ◦ Ada sekitar 10 milyar neuron dalam otak manusia, sekitar 60 trilyun

koneksi (disebut synapse) antar neuron dalam otak manusia (Shepherd dan Koch, 1990).

Penggunaan neuron-neorun tersebut secara simultan, otak manusia dapat memproses informasi secara paralel dan cepat◦ bahkan lebih cepat dari komputer tercepat saat ini

Elemen neuron: badan sel (disebut soma), sejumlah serat yang menyalurkan informasi ke neuron (disebut dendrite), dan sebuah serat tunggal keluar dari neuron (disebut axon)

Page 3: Klasifikasi  ( Season  3 ) ANN  Perceptron

3

Artificial Neural Network ANN terdiri dari :

◦ Sebuah unit pemroses, disebut neuron (axon kalau dalam otak manusia) yang berisi penambah (adder) dan fungsi aktivasi,

◦ Sejumlah bobot (synapse dalam otak manusia)◦ Sejumlah vektor masukan (dendrite dalam otak manusia). ◦ Fungsi aktivasi, berguna untuk mengatur keluaran yang diberikan oleh

neuron. Seperti halnya manusia yang otaknya selalu belajar dari

lingkungan, ANN membutuhkan proses pelatihan agar ANN dapat melakukan prediksi kelas suatu data uji baru yang ditemukan.

Algoritma proses pelatihan ANN: Perceptron, Backpropagation, Self Organizing Map (SOM), Delta, Associative Memori, Learning Vector Quantization, dsb.

S

Vektor Masukan

x1

x2

x3

w1w2

w3

T

Sinyal Keluaran

Neuron Pemroses

y

Page 4: Klasifikasi  ( Season  3 ) ANN  Perceptron

4

Fungsi aktivasi Fungsi aktivasi linear

Fungsi aktivasi step◦ Step biner

◦ Step bipolar

Fungsi aktivasi sigmoid biner

Fungsi aktivasi sigmoid bipolar

vvsigny )(

TvTv

vsigny jika1- jika1

)(

TvTv

vsigny jika0 jika1

)(

avevsigny

11)(

11

2)(

ave

vsigny

-2 0 2-2

0

2

v

y

-2 0 2-2

0

2

v

y

-5 0 5-2

0

2

v

y-5 0 5

-2

0

2

vy

Page 5: Klasifikasi  ( Season  3 ) ANN  Perceptron

5

Artificial Neural Network Ditinjau dari jumlah layer, ANN bisa

dibagi menjadi 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 algoritma ANN layer tunggal:

Perceptron, Delta, dsb. ANN dengan layer jamak mempunyai

sejumlah neuron perantara yang menghubungkan vektor masukan dengan layer keluar, layer perantara ini disebut sebagai layer tersembunyi (hidden layer). ◦ Contoh algoritma ANN layer jamak: Back-

propagation, Construktive Backpropagation, Recurrent Neural Network, dsb.

ANN layer tunggal

ANN layer jamak

Page 6: Klasifikasi  ( Season  3 ) ANN  Perceptron

6

Perceptron Perceptrom merupakan salah satu jenis ANN dengan

layer tunggal. Pertama kali diperkenalkan oleh Frank Rosenblatt yang

berisi algoritma pelatihan yang digunakan untuk membangun model ANN (Rosenblatt, 1958).

Perceptron yang paling sederhana menggunakan satu neuron pemroses◦ Karena hanya satu neuron pemroses maka perceptron dengan

satu neuron hanya bisa melakukan klasifikasi dua kelas. ◦ Jika ingin klasifikasi dengan jumlah kelas lebih dari dua,

digunakan jumlah neuron sama dengan jumlah kelasnya, misal untuk klasifikasi tiga kelas digunakan tiga neuron, untuk klasifikasi empat kelas digunakan empat neuron, dan seterusnya.

Page 7: Klasifikasi  ( Season  3 ) ANN  Perceptron

7

Algoritma Pelatihan perceptronD = {(xi, yi)|i = 1,2,3...,n} adalah himpunan data latihInisialisasi bobot awal w(0)repeat for setiap data latih do Hitung v = jumlah hasil kali setiap fitur dengan bobot masing-

masing Hitung y’ dengan fungsi aktivasi Hitung error sebagai hasil selisih antara target kelas y dengan y’ if error masih ada then Ubah bobot, w(k+1) = w(k) + .error.X end if end foruntil kondisi berhenti tercapai

Page 8: Klasifikasi  ( Season  3 ) ANN  Perceptron

8

Perceptron adalah konstanta laju pembelajaran (learning rate) nilainya mulai 0 sampai

1. Nilai error adalah selisih antara target kelas yang diinginkan y dengan nilai

keluaran yang didapatkan y’, jika nilainya masih melebih batas maka dilakukan perubahan bobot. Sedangkan X adalah vektor masukan (data) yang sedang diproses.

Kondisi berhentinya proses pelatihan:◦ Tidak adanya error pada nilai keluaran semua vektor masukan◦ Sum of Square Error (SSE)◦ Jumlah iterasi pelatihan

Contoh kasus sederhana penyelesaian masalah pengenalan pola data masukan dengan kelas sebagai keluaran hasil prediksi adalah masalah memodelkan operasi logika AND dengan ANN

x1

x2

w1

w2

T

y

x1 x2 kelas (y)1 1 11 0 00 1 00 0 0

w1 = 2

w2= 2 T = 3

Page 9: Klasifikasi  ( Season  3 ) ANN  Perceptron

9

Contoh 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 ?

FITURSTATUS

HARTA UTANG1.2 0.3 Tidak Bangkrut

0.8 0.6 Tidak Bangkrut

1.1 1 Tidak Bangkrut

0.4 1 Bangkrut

0.5 1.5 Bangkrut

Representasi status:1= Tidak bangkrut0 = Bangkrut

0 0.5 1 1.5 20

0.5

1

1.5

2

Page 10: Klasifikasi  ( Season  3 ) ANN  Perceptron

10

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

itemasukan

vkeluaran

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 0 1 1 [1.0800 0.2700] [-0.7200 3.1700][0.8 0.6] 1.3260 1 1 0 [0 0] [-0.7200 3.1700][1.1 1] 2.3780 1 1 1 [0 0] [-0.7200 3.1700][0.4 1] 2.8820 1 0 -1 [-0.3600 -0.9000] [-1.0800 2.2700]

[0.5 1.5] 2.8650 1 0 -1 [-0.4500 -1.3500] [-1.5300 0.9200]

2

[1.2 0.3] -1.5600 0 1 1 [1.0800 0.2700] [-0.4500 1.1900][0.8 0.6] 0.3540 1 1 0 [0 0] [-0.4500 1.1900][1.1 1] 0.6950 1 1 0 [0 0] [-0.4500 1.1900][0.4 1] 1.0100 1 0 -1 [-0.3600 -0.9000] [-0.8100 0.2900]

[0.5 1.5] 0.0300 1 0 -1 [-0.4500 -1.3500] [-1.2600 -1.0600]

3

[1.2 0.3] -1.8300 0 1 1 [1.0800 0.2700] [-0.1800 -0.7900][0.8 0.6] -0.6180 0 1 1 [0.7200 0.5400] [0.5400 -0.2500][1.1 1] 0.3440 1 1 0 [0 0] [0.5400 -0.2500][0.4 1] -0.0340 0 0 0 [0 0] [0.5400 -0.2500]

[0.5 1.5] -0.1050 0 0 0 [0 0] [0.5400 -0.2500]

4

[1.2 0.3] 0.5730 1 1 0 [0 0] [0.5400 -0.2500][0.8 0.6] 0.2820 1 1 0 [0 0] [0.5400 -0.2500][1.1 1] 0.3440 1 1 0 [0 0] [0.5400 -0.2500][0.4 1] -0.0340 0 0 0 [0 0] [0.5400 -0.2500]

[0.5 1.5] -0.1050 0 0 0 [0 0] [0.5400 -0.2500]Bobot akhir

Page 11: Klasifikasi  ( Season  3 ) ANN  Perceptron

11

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.

0 0.5 1 1.5 20

0.5

1

1.5

2

Kelas bangkrut

Kelas tidak bangkrut

Garis keputusan perceptron

Page 12: Klasifikasi  ( Season  3 ) ANN  Perceptron

12

Nama file: perceptron_bangkrut.m% jaringan Perceptron ANDdata_latih = [

%x1 x21.2 0.30.8 0.61.1 10.4 10.5 1.5];

kelas_latih = [1 1 1 0 0]';

bobot = [-1.8 2.9

];lr = 0.9;[M,N]=size(data_latih);for iterasi=1:6 for i=1:M v = data_latih(i,:) * bobot'; yk = fa_threshold(v); if target(i) - yk ~= 0 i deltabobot = lr * (kelas_latih(i) - yk) * data_latih(i,:) bobot = bobot + deltabobot; end end display(['Bobot pada iterasi ke-',num2str(iterasi),' = ',mat2str(bobot')]);End

%Menggambar diagram data latih dan garis keputusan perceptron % -----BERLAKU HANYA UNTUK DATA 2 FITUR-----plot(data_latih(logical(kelas_latih),1), data_latih(logical(kelas_latih),2),'kx', 'MarkerSize', 8); axis([0 2 0 2]);hold onplot(data_latih(logical(1-kelas_latih),1), data_latih(logical(1-kelas_latih),2),'k+', 'MarkerSize', 8); axis([0 2 0 2]);%Menggambar fungsi bobota(1,1) = 1;a(1,2) = a(1)*bobot(1) / (-bobot(2));b(1,1) = -5;b(1,2) = b(1)*bobot(1) / (-bobot(2));garis = [a;b];plot(garis(:,1),garis(:,2));

%Prediksidata_uji = [0.5400 -0.2500];v = data_uji * bobot';y = fa_threshold(v)

Page 13: Klasifikasi  ( Season  3 ) ANN  Perceptron

13

Untuk fungsi aktivasiNama file: fa_threshold.mfunction y = fa_threhold(v)if v >= 0 y = 1;else y = 0;end

Bagaimana jika ada orang dengan keuangan seperti dibawah ini ?

0 0.5 1 1.5 20

0.5

1

1.5

2FITURSTATUS

HARTA UTANG1 1.6 ?

0.3 0.4 ?

0.65 1.44 ?

0.87 1.25 ?

0.21 0.5 ?Model garis keputusan yang didapat sebelumnya

Page 14: Klasifikasi  ( Season  3 ) ANN  Perceptron

14

ANY QUESTION ?To Be Continued … Clustering