Bahan 10 JST
Bahan 10 JST
Bahan 10 JST
Adaline
Adaline adalah adaptive linier system. Adaline dikembangkan oleh
Bernard Widrow dan Marcian. Adaline hampir sama dengan percepton
hanya saja aturan pembelajarannya pada single layer adalah perintis
aturan backpropagation pada multi layer.
d. Carpenter
Carpenter mengembangkan teori self-organizing neural network yang
dikenal dengan adaptive resonance teori
4. Tahun 1980 : masa pemulihan
a. Backpropagation
Salah satu hal yang menghambat perkembangan neural network pada
tahun 70-an adalah kegagalan percepton single layer
dalam
menyelesaikan kasus-kasus sederhana dan kekurangan metode umum
untuk pembelajaran system multi layer . Metode perambatan informasi
kesalahan pada unit output ke lapisan hidden layer mampu mengurangi
kesalahan output. Metode ini merupakan salah satu cara untuk
mengoptimalkan neural network.
b. Hopfield nets
Hopfield mengembangkan sejumlah neural network yang didasarkan pada
fixed weight dan adaptive activation. Jaringan yang dikembangkannya
mampu berfungsi sebagai asosiasi memori dan dapat menyelesaikan
beberapa persoalan seperti Salesman Traveling Problem.
c. Neocognitron
Neocognitron merupakan searangkaian neural network yang berfungsi
untuk mengenal pola karakter. Neocognitron dikembangkan oleh Kunihiko
Fukushima di laboratorium NHK , Tokyo.
Aplikasi ANN
1. Bisnis
a. Memprediksi perubahan stok
b. Memprediksi market
2. Medis
a. Membantu diagnosis dokter
3. Pemrosesan sinyal
a. Adaptive noise cancellation (misalnya : mengurangi noise pada sinyal
telpon, gelombang radio)
b. Anti lock breaking system (ABS)
4. Kendali
a. Kendali robot
b. kendali peralatan industri
5. Pengenalan pola (pattern recognition)
a. Pengenalan pola gambar (image). misal untuk video surveillance,
pengenalan wajah, huruf, tanda tangan
b. Pengenalan pola suara (speech recognition).
c. Pengenalan pola data (data mining)
6. Speech prodution
a. Untuk mensintesis suara manusia
b. Mensintesis suara musik
Ada beberapa definisi untuk mendeskripsikan Artificial Neural Network (Jaringan
Saraf Tiruan ) antara lain :
1. A Neural Network is an interconnected assembly of simple procesing
elements / units / nodes, whose functionality is loosely based on the animal
neuron. The processing ability of the network is stored in the inter-unit
connection strengths, or weights, obtained by a process of adaptation to, or
learnig from, a set of training patterns.
(K. Gurney )
3
II.
x1
x2
w1
w2
x3
w3
Y1
Y2
wb
x4
ouput
input
Gambar 2. Single-Layer Net
3. Competitive layer
Competitive layer merupakan bentuk yang banyak dipakai dalam aplikasi
neural network. Dalam competitive layer pemisahan unit input dan output sulit
dibedakan karena unit input bisa menjadi unit output yang lain begitu juga
sebaliknya. Contoh competitive layer dapat dilihat dalam Gambar 4.
A1
A2
A3
A4
Gambar 4. Competitive Layer
Fungsi identitas
Fungsi identitas dinyatakan dengan ;
f x x untuk semua x
Grafik dari fungsi identitas dapat dilihat pada Gambar 5.
f(x)
x
Gambar 5. Fungsi Identitas
2.
1 jika __ x 0
f x
o jika __ x0
Fungsi step biner sering disebut juga fungsi threshold (ambang batas).
x
Gambar 6. Fungsi Step Biner
3.
Fungsi sigmoid
Fungsi sigmoid merupakan fungsi yang sangat berguna dalam fungsi
aktivasi. Fungsi sigmoid sangat berguna dalam training dengan metode
backpropagation dikarenakan kesederhanaan hubungan antara nilai
fungsi pada suatu titik dan nilai derivatif (turunan) pada titik tersebut yang
mengurangi beban komputasi selama proses training. Fungsi sigmoid
dinyatakan dengan :
f x
1
1 exp( x)
f ' x f x 1 f x
D. Neuron McMulloch-Pitts
Secara umum arsitektur neural McMulloch-Pitts menerima sinyal dari
sejumlah neuron. Setiap koneksi bisa mendukung, berat w>0, atau menghalangi,
berat p (p>0). Misalkan ada sejumlah n input yang beratnya berbilai positif dan
m input yang beratnya bernilai negatif maka fungsi aktivasinya adalah :
1 jika_in 0
yf _in
0 jika_in0
dimana ;
X1
w
Xn
-p
Xn+m
Gambar 7. Arsitektur McMulloch Pitts
end
10
11
function output=LearnXOR(input)
% Deskripsi : Program untuk menyelesaikan kasus XOR dengan Neural
Networks
%
dengan memakai bias.
%
Arsitektur NN :
%
input units = 2 (+1 bias)
%
hidden units = 2 (+1 bias)
%
output units = 1
% Input : input = input yang akan dites
%
contoh input=[0 1]
% Output : output = hasil dari AND
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
clc
%data input
x=[0 0;
0 1;
1 0;
1 1];
%data target
t=[0 1 1 0];
% Pembelajaran untuk mendapatkan bobot terbaik
[w,s]=getWeights_XOR(x, 2, t, 0.1, 2000);
%running
output=RunNN_XOR(input,w,s);
function [w,s]=getWeights_XOR(input, jumlahhidden, target, LR, jumlahiterasi)
% Deskripsi : untuk mencari weight (bobot) pada Neural Networks
%
yang mempunyai hidden layer pada kasus XOR
% Input : input = input pada Neural Networks
%
target = target pada Neural Networks
%
jumlahhidden = jumlah hidden unit pada Neural Networks
%
LR = Learning rate untuk update bobot
%
jumlahiterasi = jumlah iterasi
% Output : w = bobot yang dihasilkan dari lapisan input ke lapisan tersembunyi
%
s = bobot yang dihasilkan dari lapisan tersembunyi ke lapisan output
%
12
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jumlahpattern=size(input,1);
jumlahpattern
jumlahinput=size(input,2);
jumlahtarget=size(target,2);
%menambah bias pada jaringan input
for p=1:jumlahpattern
input(p,jumlahinput+1)=1;
end
y(jumlahhidden+1)=1;
%inisialisasi bobot
for j=1:jumlahhidden
for i=1:jumlahinput+1
w(j,i)=0.15*(2*rand-1);
end
end
for k=1:jumlahhidden+1
s(k)=0.15*(2*rand-1);
end
%pembelajaran untuk mendapatkan bobot terbaik
for l=1:jumlahiterasi
error=0.0;
for p=1:jumlahpattern
O=zeros(1,2);
for j=1:jumlahhidden
O(j)=input(p,:)*w(j,:)';
y(j)=sigmoid(O(j));
end
O1=y*s';
z=sigmoid(O1);
g1=z*(1-z);
delta_o=(target(p)-z)*g1;
f1=y.*(1-y);
for j=1:jumlahhidden
delta_h(j)=f1(j)*delta_o*s(j);
end
s=s+LR*delta_o*y;
for j=1:jumlahhidden
for i=1:jumlahinput+1
w(j,i)=w(j,i)+LR*delta_h(j)*input(p,i);
end
end
error=error+((target(p)-z)*(target(p)-z))/2;
end
error=error/4;
fprintf('%d %.2f\n',l,error)
e(l)=error;
end
plot(e)
function output=RunNN_XOR(input,w,s)
% Deskripsi : untuk menjalankan Neural Networks
% Input : input = input pada Neural Networks
%
w = bobot pada unit input ke unit tersembunyi pada Neural Networks
13
%
s = bobot pada unit tersembunyi ke unit output pada Neural Networks
% Output : output = output yang dihasilkan
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jumlahinput=size(input,2);
jumlahinput
jumlahhidden=size(input,2);
input(jumlahinput+1)=1; % menentukan biasnya
input
O=input*w';
O
w
for j=1:2.
y(j)=sigmoid(O(j));
end
y(jumlahhidden+1)=1; % bias hidden layer
Out=y*s';
Out
z=sigmoid(Out);
if (z<0.5)
output=0;
else
output=1;
end
14