Gambar 3-1 Pembatasan linier dengan Perceptron Garis pemisah antara daerah positif dan daerah nol memiliki pertidaksamaan sebagai berikut: W1.X1 + W2.X2 -b Sedangkan garis pemisah antara daerah negative dengan daerah nol memiliki pertidaksamaan sebagai berikut: W1.X1 + W2.X2 < -b
Gambar 3-2 Arsitektur Perceptron satu lapisan Seperti yang diperlihatkan dalam gambar diatas bahwa arsitektur perceptron terdiri dari 3 unit input (x1, xi, xn) dan sebuah output (y). Adapun w1,wi, dan wn merupakan bobotbobot yang diberikan kepada jaringan saat terjadi koneksi antara sel pada unit masukan dan sel pada unit keluaran. Sel bias (b) bernilai 1 yang diberikan pada sel unit keluaran akan mengolah data yang ditransmisikan ke dalam sel unit keluaran. Pengolahan data pada unit keluaran mengguakan fungsi aktifasi Hard limit. 3.1. Algoritma Algoritma yang digunakan oleh jaringan Perceptron ini cocok untuk vector masukan biner atau bipolar, dengan target bipolar , diatur. Langkah-langkah algoritma pelatihan Peceptron adalah sebagai berikut: Langkah 0 Inisialisasi bobot dan nilai sel bias (Tetapkan bobot awal = 0 dan nilai sel bias awal =0 ). Tetapkan pula laju pelatihan (0 < 1) biasanya , =1. Set maximum epoh, tetapkan epoh = 0 Langkah 1 Selama kondisi berhenti bernilai false, lakukan langkah-langkah sebagai berikut: a. Untuk setiap pasangan pelatihan si dan ti dengan
i = 1,2,3,,n maka lakukan beberapa langkah berikut: (i) Tetapkan aktivasi unit masukan
X i = S i dimana i= 1,2,3,..n
(ii) Hitung tanggapan unit keluaran
Yin = b + X i .Wi
i
1 , bila Yin > 0 Yin = 0, bila - Yin -1, bila Yin (iii) Perbaharui bobot dan bias jika terjadi error: Bila y t
b.
Tes kondisi berhenti, jika masih terjadi perubahan bobot atau jumlah kuadrat error 0, dan epoh < max epoh, maka kondisi berhenti adalah false. Namun jika sudah tidak terjadi perubahan bobot atau jumlah kuadrat error = 0, dan epoh > max epoh, maka kondisi berhenti true.
Contoh-1: Akan dibuat jaringan syaraf Tiruan untuk operasi AND dengan 2 input dan 1 output biner adalah sebagai berikut: Input 0 0 1 1 0 1 0 1 Target 0 0 0 1
Dimana fungsi aktifasi jaringan adalah Hard limit. Bobot awal jaringan Wi = 0 dan nilai sel bias (b) awal = 0 Buatlah arsitektur dan pelatihan dengan menggunakan pogram Matlab !
Penyelesaian: % Buat Operasi AND dengan menggunakan jaringan Perceptron % Membangun Jaringan Perceptron P=[0 0 1 1;0 1 0 1]; T=[0 0 0 1]; net=newp([0 1;0 1],1); jumlah_input = net.inputs{1}.size range_input = net.inputs{1}.range jumlah_bobot_input = net.inputWeights{1}.size nilai_bobot_input = net.IW{:} jumlah_bobot_Lapisan = net.LW{:} nilai_bias_input = net.b{1} %Pelatihan net = init(net); net.adaptParam.passes =6; [net,Y,E]=adapt(net,P,T); %Menggambarkan grafik hubungan antara vektor input dan vektor target plotpv(P,T); plotpc(net.IW{:},net.b{1}); title('Hubungan vektor masukan dan vektor target') %simulasi a=sim(net,P) %Mencari MSE Error = mse(E) Setelah Matlab di run-ning maka akan menghasilkan: jumlah_input = 2 range_input = 0 1 0 1 jumlah_output = 1 jumlah_lapisan = 1 jumlah_bias = 1 jumlah_bobot_input = 1 2 nilai_bobot_input = 0 0
Contoh: Akan dibuat jaringan syaraf Tiruan untuk operasi OR dengan 2 input dan 1 output biner adalah sebagai berikut: Input 0 0 1 1 0 1 0 1 Target 0 1 1 1
Dimana fungsi aktifasi jaringan adalah Hard limit. Bobot awal jaringan Wi = 0 dan nilai sel bias (b) awal = 0 Buatlah arsitektur dan pelatihan dengan menggunakan pogram Matlab ! Penyelesaian: % Buat Operasi AND dengan menggunakan jaringan Perceptron % Membangun Jaringan Perceptron P=[0 0 1 1;0 1 0 1]; T=[0 1 1 1];
net=newp([0 1;0 1],1); jumlah_input = net.inputs{1}.size range_input = net.inputs{1}.range jumlah_bobot_input = net.inputWeights{1}.size nilai_bobot_input = net.IW{:} jumlah_bobot_Lapisan = net.LW{:} nilai_bias_input = net.b{1} %Pelatihan net = init(net); net.adaptParam.passes =6; [net,Y,E]=adapt(net,P,T); %Menggambarkan grafik hubungan antara vektor input dan vektor target plotpv(P,T); plotpc(net.IW{:},net.b{1}); title('Hubungan vektor masukan dan vektor target') %simulasi a=sim(net,P) %Mencari MSE Error = mse(E) Setelah Matlab di run-ning maka akan menghasilkan: jumlah_input = 2 range_input = 0 1 0 1 jumlah_output = 1 jumlah_lapisan = 1 jumlah_bias = 1 jumlah_bobot_input = 1 2 a= 0 Error = 0 1 1 1
Contoh-3: Akan dibuat jaringan syaraf Tiruan untuk operasi NAND dengan 2 input dan 1 output biner adalah sebagai berikut: Input 0 0 1 1 0 1 0 1 Target 1 1 1 0
Dimana fungsi aktifasi jaringan adalah Hard limit. Bobot awal jaringan Wi = 0 dan nilai sel bias (b) awal = 0 Buatlah arsitektur dan pelatihan dengan menggunakan pogram Matlab ! Penyelesaian: % Buat Operasi NAND dengan menggunakan jaringan Perceptron % Membangun Jaringan Perceptron P=[0 0 1 1;0 1 0 1]; T=[1 1 1 0]; net=newp([0 1;1 1],1); jumlah_input = net.inputs{1}.size range_input = net.inputs{1}.range jumlah_output = net.outputs{1}.size jumlah_lapisan = net.layers{1}.size jumlah_bias = net.biases{1}.size jumlah_bobot_Lapisan = net.LW{:} nilai_bias_input = net.b{1} %Pelatihan net = init(net); net.adaptParam.passes =6; [net,Y,E]=adapt(net,P,T); %Menggambarkan grafik hubungan antara vektor input dan vektor target plotpv(P,T); plotpc(net.IW{:},net.b{1}); title('Hubungan vektor masukan dan vektor target') %simulasi a=sim(net,P) %Mencari MSE Error = mse(E)
Contoh-3: Akan dibuat jaringan syaraf Tiruan untuk operasi NOR dengan 2 input dan 1 output biner adalah sebagai berikut: Input 0 0 1 1 0 1 0 1 Target 1 0 0 0
Dimana fungsi aktifasi jaringan adalah Hard limit. Bobot awal jaringan Wi = 0 dan nilai sel bias (b) awal = 0 Buatlah arsitektur dan pelatihan dengan menggunakan pogram Matlab ! Penyelesaian: % Buat Operasi NOR dengan menggunakan jaringan Perceptron % Membangun Jaringan Perceptron P=[0 0 1 1;0 1 0 1]; T=[1 0 0 0]; net=newp([0 1;1 1],1); jumlah_input = net.inputs{1}.size range_input = net.inputs{1}.range jumlah_output = net.outputs{1}.size jumlah_lapisan = net.layers{1}.size jumlah_bias = net.biases{1}.size jumlah_bobot_Lapisan = net.LW{:} nilai_bias_input = net.b{1} %Pelatihan net = init(net); net.adaptParam.passes =6; [net,Y,E]=adapt(net,P,T); %Menggambarkan grafik hubungan antara vektor input dan vektor target plotpv(P,T); plotpc(net.IW{:},net.b{1}); title('Hubungan vektor masukan dan vektor target') %simulasi a=sim(net,P) %Mencari MSE Error = mse(E)