Está en la página 1de 6

BACKPROPAGATION NETWORK

The Second Task


Name

: Y. Diah Rosita

NRP

: 213210403

Subject

: Artificial Neural Network

Recognize alphabet pattern such as A, B, C using Matlab!


1.

Pattern Letters

The Letter B

The Letter A

The Letter C

Pola huruf dengan menggunakan pola matriks 9x7. Tiap elemen yang berwarna dimisalkan apabila:
a. Berwana hitam bernilai 1
b. Tidak berwarna bernilai -1
2.

Create Code for Build Back Propagation Network in Command Editor


%===================================================
%===================================================
%===
Y. Diah Rosita
=====
%=== S2-Teknologi Informasi/ Sem. II (Sat-Sun) =====
%===
=====
%=== PENGENALAN HURUF DENGAN BACKPROPAGATION =====
%===================================================
%===================================================
clear all;
%1. Pembentukan Pola Huruf untuk Pengenalan
A1=[0
0
0
0
0

0
0
0
0
0

1
0
0
1
1

1
1
1
0
0

0
0
0
1
1

0
0
0
0
0

0;
0;
0;
0;
0;

0
0
0
1
B1=[1
1
1
1
1
1
1
1
1
C1=[0
0
1
1
1
1
1
0
0

1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0

1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1

1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1

1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1

1
1
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1

0;
0;
0;
1];
1;
1;
1;
1;
1;
1;
1;
1;
1];
0;
1;
0;
0;
0;
0;
0;
1;
0];

%2. Pola untuk Percobaan (Pola Huruf Lain)


A2=[0 0 0 1 0 0 0;
0 0 0 1 0 0 0;
0 0 0 1 0 0 0;
0 0 1 0 1 0 0;
0 0 1 0 1 0 0;
0 1 0 0 0 1 0;
0 1 1 1 1 1 0;
0 1 0 0 0 1 0;
0 1 0 0 0 1 0];
B2=[1 1 1 1 1 1 0;
1 0 0 0 0 0 1;
1 0 0 0 0 0 1;
1 0 0 0 0 0 1;
1 1 1 1 1 1 0;
1 0 0 0 0 0 1;
1 0 0 0 0 0 1;
1 0 0 0 0 0 1;
1 1 1 0 1 1 0];
C2=[0 0 1 1 1 0 0;
0 1 0 0 0 1 0;
1 0 0 0 0 0 1;
1 0 0 0 0 0 0;
1 0 0 0 0 0 0;
1 0 0 0 0 0 0;
1 0 0 0 0 0 1;
0 1 0 0 0 1 0;
0 0 1 0 1 0 0];
%3. Network Input
p=[A1(1:end);B1(1:end);C1(1:end)]';
%4. Networ Target yang Diinginkan

t=[1 2 3];
PR=zeros(63,2);
PR(:,2)=1;
%5. Penggunaan Fungsi Backpropagation
net=newff(minmax(p),[3,1],{'logsig','purelin'})
%6. Pelatihan Network
net.trainParam.epochs=3;
net=train(net,p,t)
%7. Percobaan Input Pola Huruf B dengan Model Lain
hasil=sim(net,B2(1:end)')
y=hasil
hasil=round(y)if hasil==1'
disp('Huruf A');
elseif hasil==2'
disp('Huruf B');
elseif hasil==3'
disp('Huruf C');
else
disp('Huruf belum dikenali')
end
3.

Result of Network Training

TRAINLM, Epoch 0/3, MSE 7.13627/0, Gradient 10.571/1e-010


TRAINLM, Epoch 3/3, MSE 0.00222709/0, Gradient 0.186076/1e-010
TRAINLM, Maximum epoch reached, performance goal was not met.

5.

Test Result of Backpropagation Network on Command Window


hasil =
1.9694
hasil =
2
Huruf B

6.

Explanation
1. Pembentukan Pola Huruf
Menggunakan ukuran matriks 7x9 dengan nilai -1 dan 1 sebagai bentuk representasi (biner).
2.

Network Input/ Jaringan Input


Penggabungan contoh pola huruf A,B, dan C.
A1[1:end] mengandung arti ukuran matriks 1x63, maka jika digabungkan dan di-transpose-kan menjadi
matriks yang berukuran 63x3.

3.

Network Target yang Diinginkan


Target menggunakan representasi biner (0-1).
t=[1 2 3] merupakan matriks dengan ukuran 1x3. Kode ini digunakan sebagai pengenalan bahwa:
1 = Huruf A
2 = Huruf B
3 = Huruf C
PR=zeros(63,2) merupakan matriks dengan ukuran 63x2 dengan elemen bernilai -1 berdasarkan
jumlah elemen masing-masing pola masukan adalah 63 dengen representasi biner (0-1) yang berarti
terdapat 2 buah eleme.
PR(:,2)=1 mengandung arti bahwa matriks PR yang elemen sebelumnya bernilai 0 diganti menjadi 1
pada kolom 2.

4.

Penggunaan Fungsi Backpropagation


net=newff(minmax(p),[3,1],{'logsig','purelin'})
PR
: matriks ordo Rx2 yang menyatakan nilai minimum dan maksimum tiap unit masukan
(terdapat R buah unit masukan).
3
: jumlah neuron tersembunyi dengan fungso aktifasi logsig
1
: jumlah neuron output dengan fungsi aktifasi purelin
logsig
: fungsi aktifasi sigmoid unipolar
purelin
:fungsi linear memiliki nilai output yang sama dengan nilai inputnya.

5.

Pelatihan Network/Jaringan
net.trainParam.epochs=3
net.trainParam.epochs=4:Jaringan ini akan dilatih dengan maksimum epoch 3.
net=net(train,p,t)
net(train,p,t):fungsi pelatihan (train) pola masukan p terhadap target pada jaringan net.

6.

Result of Network Training (Hasil Pelatihan Jaringan)

Iterasi pelatihan diselesaikan dalam 3 epoch. Pada epoch 1, unjuk kerja=0.675 (berarti hanya ada 1 pola
yang dikenali dengan benar). Pada epoch 2, unjuk kerja=0.3 (berarti hanya ada 2 pola yang dikenali dengan
benar). Dan pada epoch 3, unjuk kerja=0 (berarti semua pola telah dikenali dengan benar).
7.

Hasil Percobaan

sim

floor

8.

hasil=sim(net,B2(1:end)');
hasil=round(hasil);
: fungsi yang digunakan untuk menghitung keluaran jaringan untuk dicocokan pada
target. Target A bernilai (1), target B bernilai (2), dan target C bernilai (3). Jika yang
dicoba pola A2 (huruf A dengan model lain dengan ukuran matriks 1x63) terhadap
jaringan backpropagation yang telah dibentuk menghasilkan nilai (1) berarti pola A2
termasuk huruf A, dan seterusnya.
: digunakan untuk membulatkan nilai hasil

Nilai Bobot dan Bias


a. Bobot input akhir dari lapisan input ke lapisan tersembunyi
Columns 1 through 7
0.0799
0.2488
0.3092

0.0895
0.5254
0.3956

0.3792
-0.1661
-1.4089

1.4581
0.0338
0.7348

-1.3292
0.7170
0.5452

-0.9455
-0.7660
0.5168

-0.8320
0.7442
-1.4460

1.4452
-0.3133
1.1220

0.3418
1.0350
-0.8853

0
0
0

0
0
0

-0.5247
0.6388
-0.0233

0.5804
0.5354
0.8025

1.3666
0.5737
-0.8076

-0.1097
0.0938
-0.3452

0
0
0

0
0
0

-0.6276
-0.1877
0.7960

0
0
0

0
0
0

-0.1097
0.0938
-0.3452

-0.1097
0.0938
-0.3452

0
0
0

-0.8381
-0.2899
-1.1441

0.9163
1.0146
-0.5885

0
0
0

0
0
0

0
0
0

0
0
0

-0.6509
1.4136
0.9252

-0.0544
1.3425
1.3073

0.8557
1.2025
0.5339

Columns 8 through 14
-0.6876
0.6934
-0.3482

-0.1307
0.4516
0.3143

Columns 15 through 21
1.0585
0.5677
1.1337

-0.6984
1.0422
-0.1958

Columns 22 through 28
-1.0038
0.5443
-0.1525

0.3561
1.3028
0.8785

Columns 29 through 35
0.1722
1.3523
1.0434

0.7957
-1.4295
-1.1986

Columns 36 through 42
-1.0015
-1.5577
-1.3422

1.0334
-0.6533
0.5615

Columns 43 through 49
0
0
0

0
0
0

-0.1097
0.0938
-0.3452

0.5238
0.1828
-1.6930

0
0
0

0
0
0

0
0
0

0.8830
0.4160
1.2793

-0.1097
0.0938
-0.3452

1.3876
-0.9941
0.7647

-1.2843
-1.5735
0.4299

0.1323
-0.0559
0.5508

0.2705
-0.3421
-1.0583

0.8131
1.7703
-1.5084

-1.2447
0.9941
-1.1940

Columns 50 through 56
0.5853
0.9022
1.0771

-0.5565
0.0343
-0.3909

-1.2890
1.4255
-0.6791

Columns 57 through 63
-1.2868
-1.2445
1.0153
b.

1.2169
0.3092
-0.2776

0.5420
-0.0429
0.9916

Bobot bias akhir dari lapisan input ke lapisan tersembunyi


>> net.b{1}
ans =
-5.7109
-4.7372
-0.1716

c. Bobot lapisan akhir dari lapisan tersembunyi ke lapisan output.


>> net.LW{2,1}
ans =
-0.5488
-1.3924
-0.7221
d. Bobot bias akhir dari lapisan tersembunyi ke lapisan output.
>> net.b{2}
ans =
3.0235

También podría gustarte