hebb, perceptro dan adaline

Post on 06-Jul-2015

375 Views

Category:

Education

17 Downloads

Preview:

Click to see full reader

DESCRIPTION

Jaringan syaraf tiruan

TRANSCRIPT

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

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]

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]

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]

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]

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]

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]

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]

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]

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]

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

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

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”

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.

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.

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

Sehingga didapat weight dan bias sebagai berikut

Untuk NAND

Weight Bias

Untuk OR

Weight Bias

Untuk NOR

Weight Bias

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

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

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

top related