Skip to content


Jaringan Saraf Tiruan untuk Pengenalan Tanda Tangan (Input Array)

Diketahui input data latih dan data uji sebagai berikut:

Target:

0 : Tanda Tangan Wahyu

1 : Tanda Tangan Jundi Rasyid

 

Training JST:

Ouput JST dan nilai MSE :

Performansi training hingga 128 epoch:

 

Data training disimpan pada net.mat

Dilakukan pengujian data dengan data uji yang disediakan

Garis Biru : Keluaran nilai JST

Garis Ijo : Hasil Tebak JST

Garis Merah : Hasil Sebenarnya (Target)

 

Dari data tersebut dapat dihitung akurasi JST yaitu dengan menghitung berapa kali tebakan benar dibagi dengan total pengujian.

Terdapat 1x kesalahan, yaitu ketika pola pertama yang seharusnya adalah tanda tangan Wahyu (0) akan tetapi ditebak sebagai tanda tangan Jundi Rasyid (1), sehinggga akurasinya :

7/8 * 100

akurasi sebesar : 87.5%

 

JIKA, Data uji TERMASUK juga dari Data Latih :

Akurasi 14/16 *100

87.5%

 

Source Code:

Data_Latih.m

% baca data dari excel
filename = 'data_TTD.xls';
sheet = 1;
xlRange = 'B13:K20';
 
Data = xlsread(filename, sheet, xlRange);
data_latih = Data(:,1:9)';
target_latih = Data(:,10)';
[m,n] = size(data_latih);
 
net = newff(minmax(data_latih),[10 1],{'logsig','purelin'},'traingdx');
net.performFcn = 'mse';
net.trainParam.goal = 0.001;
net.trainParam.show = 20;
net.trainParam.epochs = 1000;
net.trainParam.mc = 0.95;
net.trainParam.lr = 0.1;
[net_keluaran,tr,Y,E] = train(net,data_latih,target_latih);
 
bobot_hidden = net_keluaran.IW{1,1};
bobot_keluaran = net_keluaran.LW{2,1};
bias_hidden = net_keluaran.b{1,1};
bias_keluaran = net_keluaran.b{2,1};
jumlah_iterasi = tr.num_epochs;
nilai_keluaran = Y;
nilai_error = E;
error_MSE = (1/n)*sum(nilai_error.^2);
 
save net.mat net_keluaran
 
hasil_latih = sim(net_keluaran,data_latih);
max_data = 1;
min_data = 0;
hasil_latihUji = ((hasil_latih-0.1)*(max_data-min_data)/0.8)+min_data; 

%target_latih_asli = hasil_latihUji;
filename = 'data_TTD.xls';
sheet = 1;
xlRange = 'C11:J11';
target_latih_asli = xlsread(filename, sheet, xlRange);

figure,
plotregression(target_latih_asli,hasil_latih,'Regression')
 
figure,
plotperform(tr)
 
figure,
plot(hasil_latih,'bo-')
hold on
plot(target_latih_asli,'ro-')
hold off
grid on
title(strcat(['Grafik Keluaran JST vs Target dengan nilai MSE = ',...
num2str(error_MSE)]))
xlabel('Pola ke-')
ylabel('Range Sidik Jari (0 dan 1)')
legend('Keluaran JST','Target','Location','Best')

 

Pengujian_Data.m

clc;clear;close all;
%eksekusi file Data_Latih.m terlebih dahulu
%pastikan net.mat sudah dibuat
load net.mat

filename = 'data_TTD.xls';
sheet = 1;
xlRange = 'B13:K20';

Data = xlsread(filename, sheet, xlRange);
data_uji = Data(:,1:9)';
target_uji = Data(:,10)';
[m,n] = size(data_uji);

hasil_uji = sim(net_keluaran,data_uji);
nilai_error = hasil_uji-target_uji;

max_data = 1;
min_data = 0;
hasil_uji = ((hasil_uji-0.1)*(max_data-min_data)/0.8)+min_data;

error_MSE = (1/n)*sum(nilai_error.^2);

filename = 'data_TTD.xls';
sheet = 1;
xlRange = 'C21:J21';

target_uji_asli = xlsread(filename, sheet, xlRange);
hasil_tebak = round(hasil_uji);
for index = 1:8
if hasil_tebak(index) == 2
hasil_tebak(index) = 1;
end
end

figure,
plot(hasil_uji,'bo-')
hold on
plot(hasil_tebak,'go-')
hold on
plot(target_uji_asli,'ro-')
hold off
grid on
title(strcat(['Grafik Keluaran JST vs Target dengan nilai MSE = ',...
num2str(error_MSE)]))
xlabel('Pola ke-')
ylabel('Range Sidik Jari (0 dan 1)')
legend('Keluaran JST','Hasil Tebak','Target','Location','Best')

Posted in Computer and Electronics, Depan.

Tagged with , , , , , , .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.