klasifikasi ( season 3 ) ann perceptron
DESCRIPTION
Klasifikasi ( Season 3 ) ANN Perceptron. Pengenalan Pola Materi 3. Eko Prasetyo Teknik Informatika UPN “Veteran” Jawa Timur 2012. Artificial Neural Network. - PowerPoint PPT PresentationTRANSCRIPT
Klasifikasi (Season 3)ANN PerceptronPengenalan PolaMateri 3
Eko PrasetyoTeknik Informatika
UPN “Veteran” Jawa Timur2012
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)
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
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
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
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.
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
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
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
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
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
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)
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
14
ANY QUESTION ?To Be Continued … Clustering