Anda di halaman 1dari 22

Rekayasa Kualitas

Neural Network – Project One

Disusun Oleh:

Indra Surya Iwanata


NRP. 6007201041

Dosen:

M. Khoirul Effendi ST. MSc. Eng. Ph.D

PROGRAM PASCASARJANA
DEPARTMENT TEKNIK MESIN
FAKULTAS TEKNOLOGI INDUSTRI DAN REKAYASA SISTEM
INSTITUT TEKNOLOGI SEPULUH NOPEMBER
SURABAYA
2021
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

Laporan Hasil Project 1


A. Latar Belakang
Neural network atau yang disingkat NN merupakan metode dimana kita menggunakan
B. Project 1
Sebuah data yang berisi input dan target terlihat pada tabel di bawah ini data no input target 
No Input Output
.
1 0 0
2 10 0.17
3 20 0.34
4 30 0.5
5 40 0.64
6 50 077
7 60 0.87
8 70 0.94
9 80 0.98
10 90 1
11 100 0.98
12 110 0.94
13 120 0.87
14 130 0.77
15 140 0.64
16 150 0.5
17 160 0.34
18 170 0.17
19 180 0

Gunakan Matlab untuk menghitung error antara hasil prediksi dengan nilai sebenarnya menggunakan 
1. Matlab toolbox 
2. Function feedforwardnet untuk men‐generate NN’s network 
3. Gunakan trainlm, trainbr, dan trainscg untuk updating NN’s network 
4. Apa yang anda simpulkan 
5.Kumpulkan coding, serta netterbaik yang anda generate menggunakan trainlm, trainbr dan trainscg 
Hint  
1. Pembagian data untuk training: testing: validation = 70%:15%:15% 
2. Gunakan fungsi  
‐ trainlm (net,input, target) untuk updating NN’s network menggunakan Levenberg-Marquardt
optimization
‐ trainbr (net,input, target) untuk updating NN’s network menggunakan Bayesian Regularization
‐ trainscg (net,input, target) untuk updating NN’s network menggunakan Scaled Conjugate gradient
3. Gunakan fungsi sim(net,input) untuk memprediksi target menggunakan NN’s network 

2
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

4. Lengkapi tabel berikut untuk komparasi (*MSE = Mean Squared Error) 

C. Langkah menggunakan toolbox pada matlab


D. Buatlah Coding secara manual yaitu sebagai berikut:
clc
clear all
close all

%memasukan input dan output dari excel


input = xlsread('Projekoneinput.xlsx','Sheet1','A1:A19')'; Digunakan untuk perintah membaca file yang akan diproses yaitu input dan target
target = xlsread('projekoneoutput.xlsx','Sheet1','A1:A19')';

inputs = mapminmax(input); %melakukan preprocessing pada input Mengurutkan data pada excel
target = mapminmax(target); %melakukan preprocessing pada target

%Jaringan BPNN
error_init = 1000;
net = feedforwardnet([4 10 4]);
net.layers{1}.transferFcn = 'tansig';
net.layers{2}.transferFcn = 'tansig';
net.layers{3}.transferFcn = 'purelin';

%Kriteria pemberhentian
net.trainParam.epochs =1000;
net.trainParam.time = 200;
net.trainParam.goal = 1e-4;
net.trainParam.min_grad = 1e-5;
net.trainParam.max_fail =1000;

%inisialisasi nilai bobot dan bias


net = init(net);

%Data pelatihan BPNN


net.divideParam.TrainRatio = 70/100; %rasio data yang digunakan untuk training
net.divideParam.valRatio = 15/100; %rasio data yang digunakan untuk validasi
net.divideParam.testRatio = 15/100; %rasio data yang digunakan untuk testing

%Laju pembelajaran
net.trainParam.lr = 0.05; %learning Rate
net.trainParam.show = 10;

for loop = 0.05:10 %setiap kombinasi di run


loop;
net = trainlm (net,input,target); % p = data input , t = target
output = sim (net,input); %prediksi output BPNN
error = mean ((target-output).^2); %mean squared error
if error < error_init
error_terbaik = error_init;
net_terbaik = net;
else
end
end
view (net)

%testing
A = sim (net_terbaik,input); % hasil prediksi NN
% Compare result
Prediction = cat (1,target,A); % komparasi hasil prediksi (A) dengan data original (p)
plot(input,target,'-b',input,A,'-r')

3
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

title ('Ori vs. Prediction NN')


xlabel (‘data ke n’)
ylabel (‘nilai output nn’)
legend ('f(x)-Ori','f(x)-Prediction NN)')
grid ON

a. Levenberg-Marquardt
1. Ketik ‘‘nnstart’’ pada command window
2. Klik enter
3. Pilih Fiiting app

4. Pilih next

5. Import data dan klik next

4
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

Proses ini digunakan untuk data dari excel ke matlab, data hasil excel yang terdiri dari dua file diimport
masing-masing pada kolom input dan target.

6. Klik next

Data yang telah diimport lalu, menentukan prosesntase validasi dimana terbagi menjadi 3 yaitu
training sebesar 70%, validasi sebesar 15% dan testing sebesar 15%.
7. Klik Next

5
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

8. Klik Train

Pemilihan training algoritma Levenberg-Marquardt Algoritma ini agar algoritma yang


digunakan untuk memperkirakan hasil berikutnya berdasarkan data-data yang sudah ada
sebelumnya. Algoritma ini biasa digunakan dalam menyelesaikan permasalahan nonlinier
yang menggunakan prinisip pencarian nilai minimum berdasarkan jumlah kuadrat terendah.
9. Maka nilai Mse dan R akan muncul

6
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

10. Klik Train

7
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

11. Maka nilai Mse dan R akan muncul

12. Klik Performance

8
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

13. Grafik

Grafik training performance menunjukan bahwa validasi

9
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

10
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

Algoritma Bayesian-Regularization
1. Klik Train
2. Klik Next

3. Klik Performance

11
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

4. Grafik

12
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

b. Algoritma Scale Conjugate Gradient


1. Klik Train
2. Klik Next

3. Klik Performance

13
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

4. Grafik

14
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

c. Menentukan prediksi error menggunakan Coding


Proses memprediksi nilai error dengan menggunakan coding dapat dilakukan dengan 3 cara
sepertihalnya pada penggunaan Toolbox, tetapi dalam penggunaan coding setiap running yang
dilakukan sesuai penggunaan training algorithm, maka pada bagian looping akan diterapkan
menjadi 3 algoritma percobaan yaitu trainlm, trainbr dan trainscg dimana masing-masing dari
algoritma percobaan tersebut memiliki fungsi masing-masing. Berikut adalah langkah penerapan
dari ke-tiga coding tersebut:

1. Buatlah data input dan output menjadi file yang terpisah dan disimpan di satu folder

2. Buatlah coding sebagai berikut:


clc
clear all
close all

%memasukan input dan output dari excel


input = xlsread('Projekoneinput.xlsx','Sheet1','A1:A19')'; Digunakan untuk perintah membaca file yang akan diproses yaitu input dan target
target = xlsread('projekoneoutput.xlsx','Sheet1','A1:A19')';

inputs = mapminmax(input); %melakukan preprocessing pada input Mengurutkan data pada excel
target = mapminmax(target); %melakukan preprocessing pada target

%Jaringan BPNN
error_init = 1000;
net = feedforwardnet([4 10 4]);
net.layers{1}.transferFcn = 'tansig';
net.layers{2}.transferFcn = 'tansig';
net.layers{3}.transferFcn = 'purelin';

%Kriteria pemberhentian
net.trainParam.epochs =1000;
net.trainParam.time = 200;
net.trainParam.goal = 1e-4;
net.trainParam.min_grad = 1e-5;
net.trainParam.max_fail =1000;

%inisialisasi nilai bobot dan bias


net = init(net);

%Data pelatihan BPNN


net.divideParam.TrainRatio = 70/100; %rasio data yang digunakan untuk training
net.divideParam.valRatio = 15/100; %rasio data yang digunakan untuk validasi
net.divideParam.testRatio = 15/100; %rasio data yang digunakan untuk testing

%Laju pembelajaran
net.trainParam.lr = 0.05; %learning Rate
net.trainParam.show = 10;

15
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

for loop = 0.05:10 %setiap kombinasi di run


loop;
net = trainlm (net,input,target); % p = data input , t = target
output = sim (net,input); %prediksi output BPNN
error = mean ((target-output).^2); %mean squared error
if error < error_init
error_terbaik = error_init;
net_terbaik = net;
else
end
end
view (net)

%testing
A = sim (net_terbaik,input); % hasil prediksi NN
% Compare result
Prediction = cat (1,target,A); % komparasi hasil prediksi (A) dengan data original (p)
plot(input,target,'-b',input,A,'-r')
title ('Ori vs. Prediction NN')
xlabel (‘data ke n’)
ylabel (‘nilai output nn’)
legend ('f(x)-Ori','f(x)-Prediction NN)')
grid ON

3. Penerapan algoritma percobaan trainlm

4. Lakukan proses “Run”, pada bar editor


5. Feed Forward Network yang dihasilkan sebagai berikut

16
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

6. Grafik nilai Original vs Prediksi

7. Penerapan algoritma percobaan trainbr

8. Lakukan proses “Run” , pada bar editor


9. Feed Forward Network yang dihasilkan sebagai berikut

17
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

10. Grafik nilai Original dengan Prediksi adalah sebagai berikut

11. Penerapan algoritma percobaan trainscg

12. Lakukan proses “Run” , pada bar editor


13. Feed Forward Network yang dihasilkan sebagai berikut

18
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

14. Grafik nilai Original dengan Prediksi adalah sebagai berikut

19
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

Hasil:
Berdasarkan perolehan nilai dari matlab maka dari ketiga pengujian tersebut didapati nilai error dan
prediksi sebagai berikut.

No Input Output Trainlm Trainbr Trainscg


Prediks Error Prediksi Error Prediksi Error
.
i
1 0 0 0.004
2 10 0.17 0.0197
3 20 0.34 0.2531
4 30 0.5 8.13775
. 5 40 0.64 0.0064
6 50 077 -0.039
7 60 0.87 -0.0014
8 70 0.94
9 80 0.98
10 90 1
11 100 0.98
12 110 0.94
13 120 0.87
14 130 0.77
15 140 0.64
16 150 0.5
17 160 0.34
18 170 0.17
19 180 0

20
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

Lampiran :
Coding:
clc
clear all
close all

%memasukan input dan output dari excel


input = xlsread('Projekoneinput.xlsx','Sheet1','A1:A19')';
target = xlsread('projekoneoutput.xlsx','Sheet1','A1:A19')';

inputs = mapminmax(input); %melakukan preprocessing pada input


target = mapminmax(target); %melakukan preprocessing pada target

%Jaringan BPNN
error_init = 1000;
net = feedforwardnet([4 10 4]);
net.layers{1}.transferFcn = 'tansig';
net.layers{2}.transferFcn = 'tansig';
net.layers{3}.transferFcn = 'purelin';

%Kriteria pemberhentian
net.trainParam.epochs =1000;
net.trainParam.time = 200;
net.trainParam.goal = 1e-4;
net.trainParam.min_grad = 1e-5;
net.trainParam.max_fail =1000;

%inisialisasi nilai bobot dan bias


net = init(net);

%Data pelatihan BPNN


net.divideParam.TrainRatio = 70/100; %rasio data yang digunakan untuk training
net.divideParam.valRatio = 15/100; %rasio data yang digunakan untuk validasi
net.divideParam.testRatio = 15/100; %rasio data yang digunakan untuk testing

%Laju pembelajaran
net.trainParam.lr = 0.05; %learning Rate
net.trainParam.show = 10;

for loop = 0.05:10 %setiap kombinasi di run 5 x


loop;
net = trainlm (net,input,target); % p = data input , t = target
output = sim (net,input); %prediksi output BPNN
error = mean ((target-output).^2); %mean squared error
if error < error_init
error_terbaik = error;
net_terbaik = net;
else
end
end
view (net)
%CREATEPLOT(X1, Y1)
% X1: vector of x data ke n
% Y1: vector of y nilai output nn
% Auto-generated by MATLAB on 26-Apr-2021 14:43:44
% Create plot
A = sim (net_terbaik, input);
Prediction = cat (1,target,A);
plot (input,target,'-b',input,A,'-r')
title ('Original VS Prediction')
xlabel ('data ke n')
ylabel ('nilai output nn')

21
Rekayasa Kualitas
Departemen Teknik Mesin Fakultas Teknologi Industri dan Rekayasa Sistem
Institut Teknologi Sepuluh Nopember Surabaya – 2021

legend ('f(x)-ori','f(x)-prediction NN')


grid on

22

Anda mungkin juga menyukai