hebb, perceptro dan adaline

23
Tugas Komputasi Jaringan Syaraf Tiruan Nntool in MATLAB Nama : Petrus Fendiyanto NRP : 1213201002 Dosen: Prof. Dr. M. Isa Irawan, M.T PROGRAM PASCA SARJANA JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT TEKNOLOGI SEPULUH NOMPEMBER (ITS) SURABAYA 2014

Upload: petrus-fendiyanto

Post on 06-Jul-2015

375 views

Category:

Education


17 download

DESCRIPTION

Jaringan syaraf tiruan

TRANSCRIPT

Page 1: Hebb, perceptro dan adaline

Tugas Komputasi Jaringan Syaraf Tiruan Nntool in MATLAB

Nama : Petrus Fendiyanto NRP : 1213201002 Dosen: Prof. Dr. M. Isa Irawan, M.T

PROGRAM PASCA SARJANA JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT TEKNOLOGI SEPULUH NOMPEMBER (ITS) SURABAYA

2014

Page 2: Hebb, perceptro dan adaline

Fungsi HEBB menggunakan m-file MATLAB

function [Tabel output bobot bias] = Hebb(s1_input,s2_input,t_input) p = [s1_input;s2_input]; t = t_input; x1=p(1,:); x2=p(2,:); n = length(x1); y=t;

y_tampil=[]; w1_tampil=[]; w2_tampil=[]; b_tampil=[];

% Implementasi aloritma HEBB dalam MATLAB for i=0:n if i==0 b=0; w1=0; w2=0; else w1=w1+y(i)*x1(i); w2=w2+y(i)*x2(i); b=b+y(i);

end

if i>0 y_tampil=[y_tampil y]; w1_tampil=[w1_tampil w1]; w2_tampil=[w2_tampil w2]; b_tampil=[b_tampil b];

end end

% Mengambil nilai bobot, output, dan bias Tabel = [x1' x2' t' y_tampil(1:n)' abs(t'-y_tampil(1:n)')]; output = y_tampil(1:n); bobot = [w1_tampil(n) w2_tampil(n)]; bias = b_tampil(n);

% Menggambar kurva figure(1) plotpv(p,t>0); plotpc([w1 w2],b); axis([-2 2 -2 2]);

AND

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [1 -1 -1 -1]

Page 3: Hebb, perceptro dan adaline

NAND

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [-1 1 1 1]

AND NOT

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [-1 1 -1 -1]

Page 4: Hebb, perceptro dan adaline

OR

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [1 1 1 -1]

NOR

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [-1 -1 -1 1]

OR NOT

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [1 1 -1 1]

Page 5: Hebb, perceptro dan adaline

Fungsi PERCEPTRON menggunakan m-file MATLAB function [input, target, output, bobot, bias] = Perceptron(p1, p2, t, iterasi)

% Membuat jaringan perceptron net = newp([-1 1; -1 1], 1, 'hardlims','learnpn');

% Mendefinisikan nilai awal untuk bobot dan bias net.IW{1,1} = [0 0]; net.b{1} = [0];

input = [p1; p2]; target = t;

% Memasukkan jumlah iterasi net.trainParam.epochs = iterasi;

% Proses training net = train(net, input, target);

% Mengambil nilai bobot, bias, dan output bobot=net.IW{:}; bias=net.b{:}; output = sim(net,input);

AND

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [1 -1 -1 -1]

Page 6: Hebb, perceptro dan adaline

NAND

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [-1 1 1 1]

AND NOT

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [-1 1 -1 -1]

Page 7: Hebb, perceptro dan adaline

OR

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [1 1 1 -1]

Page 8: Hebb, perceptro dan adaline

NOR

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [-1 -1 -1 1]

OR NOT

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [1 1 -1 1]

Page 9: Hebb, perceptro dan adaline

Fungsi ADALINE menggunakan m-file MATLAB

function [input, target, output, bobot, bias] = Adaline(p1, p2, t, iterasi)

% Membuat jaringan perceptron net = newlin([-1 1; -1 1], 1);

% Mendefinisikan nilai awal untuk bobot dan bias net.IW{1,1} = [0 0]; net.b{1} = [0];

input = [p1; p2]; target = t;

% Memasukkan jumlah iterasi net.trainParam.epochs = iterasi;

% Proses training net = train(net, input, target);

% Mengambil nilai bobot, bias, dan output bobot=net.IW{:}; bias=net.b{:}; output = sim(net,input);

AND

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [1 -1 -1 -1]

Page 10: Hebb, perceptro dan adaline

NAND

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [-1 1 1 1]

Page 11: Hebb, perceptro dan adaline

AND NOT

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [-1 1 -1 -1]

Page 12: Hebb, perceptro dan adaline

OR

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [1 1 1 -1]

NOR

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [-1 -1 -1 1]

Page 13: Hebb, perceptro dan adaline

OR NOT

Input s1 : [1 1 -1 -1]

Input s2 : [1 -1 1 -1]

Target : [1 1 -1 1]

Page 14: Hebb, perceptro dan adaline

Langkah-langkah implementasi Preceptron menggunakan nntool pada

MATLAB.

1. Membukan program MATLAB sehingga tampak seperti pada gambar berikut

2. Ketikkan perintah “nntool” pada Command Window MATLAB

Page 15: Hebb, perceptro dan adaline

3. Tunggu sampai tampil jendela “Network/Data Manager” di bawah ini

4. Klik “New” dan klik tab “Data”, Isikan data input stelah itu klik “Create”. Lalu tekan “OK”.

Page 16: Hebb, perceptro dan adaline

5. Buatlah target untuk “AND”. Tekan “Create”

6. Buat target untuk NAND, AND NOT, OR, NOR, dan OR NOT sehingga muncul seperti di

bawah ini.

7. Membuat perceptron untuk masing-masing logika. Pertama untuk “AND”. Klik tab Network,

Isikan nama network, misalnya dengan “perceptronAND” seperti gambar di bawah ini.

Kemudian klik “Create”

Page 17: Hebb, perceptro dan adaline

8. Demikian juga dengan logika yang lain sehingga tampak seperti pada gambar di bawah ini.

9. Double click seriap jaringan yang terbentuk.

Untuk perceptronAND, sehingga muncul jendela di bawah ini. Ini merupakan tampilan

jaringan yang terbentuk.

Page 18: Hebb, perceptro dan adaline

10. Train jaringan tersebut dengan menyesuaikan input dan target dengan jaringannya. Sehingga

muncul seperti berikut. Kemudian klik performance, sehingga muncul jendela sebelah kanan.

Di sini terlihat bawah terjadi sebanyak 2 iterasi selama 0.1 detik dan error = 0 pada iterasi

kedua.

11. Kemudian kembali ke nntraintool dan lakukan simulasi dengan click simulate.

Page 19: Hebb, perceptro dan adaline

12. Sehingga dihasilkan output, bobot dan bias seperti pada gambar berikut.

Page 20: Hebb, perceptro dan adaline

Sehingga didapat weight dan bias sebagai berikut

Untuk NAND

Weight Bias

Untuk OR

Weight Bias

Untuk NOR

Weight Bias

Page 21: Hebb, perceptro dan adaline

Untuk AND NOT

Weight Bias

Untuk OR NOT

Weight Bias

Jadi dapat disimpulkan bahwa untuk jaringan perceptron pada M-file dan GUI

Sebagai berikut

GUI M_File (dg fungsi)

AND Weight {1.1547 , 1.1547} {1.1547 , 1.1547}

Bias -1.4142 -1.4142

NAND Weight {-1.1547 , -1.1547} {-1.1547 , -1.1547}

Bias 1.4142 1.4142

OR Weight {1.1547 , 1.1547} {1.1547 , 1.1547}

Bias 1.4142 1.4142

NOR Weight {-1.1547 , -1.1547} {-1.1547 , -1.1547}

Bias -1.4142 -1.4142

AND NOT Weight {1.1547 , 1.1547} {1.1547 , 1.1547}

Bias -1.4142 -1.4142

OR NOT Weight {1.1547 , 1.1547} {1.1547 , 1.1547}

Bias 1.4142 1.4142

Page 22: Hebb, perceptro dan adaline

Langkah-langkah implementasi Adaline menggunakan nntool pada MATLAB.

Network type yang digunakan dalam nntool untuk ADALINE yaitu linear layer (train). Langkah-

langkah berikutnya sama dengan perceptron di atas. Sehingga di dapatkan hasil di bawah ini.

And

or

not or

not and

and not

Page 23: Hebb, perceptro dan adaline

or not

Jadi dapat disimpulkan bahwa untuk jaringan adaline pada M-file dan GUI

Sebagai berikut

GUI M_File (dg fungsi)

AND Weight {0.5 , 0.5} {0.4916 , 0.4916 }

Bias -0.5 -0.4916

OR Weight {0.5, 0.5 } {0.4916, 0.4916 }

Bias 0.5 0.4916

NOR Weight {-0.5 , -0.5 } {-0.4916 , -0.4916 }

Bias -0.5 -0.4916

NAND Weight {-0.5, -0.5 } {-0.4916, -0.4916 }

Bias 0.5 0.4916

AND NOT Weight {0.5, 0.5 } {0.4916, 0.4916 }

Bias -0.5 -0.4916

OR NOT Weight {0.5, 0.5 } {0.4916, 0.4916 }

Bias 0.5 0.4916