Anda di halaman 1dari 29

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 Target
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

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

‐ 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
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)

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

%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

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

4. Pilih next

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

5. Import data dan klik next

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

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

7. Klik Next

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.

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

9. Maka nilai Mse dan R akan muncul

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 training performance menunjukan bahwa validasi

Gambar 1.1 Grafik Levenberg-Marquardt optimization

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

b. Algoritma Bayesian-Regularization
Pemilihan training algoritma Bayesian-Regularization 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.

1. Klik Train
2. Klik Next

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

3. Klik Performance

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

4. Grafik training performance menunjukan bahwa validasi

Gambar 1.2 Grafik Bayesian Regularization

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

c. Algoritma Scale Conjugate Gradient


Pemilihan training algoritma Scale Conjugate Gradient 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.

1. Klik Train
2. Klik Next

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

3. Klik Performance

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

4. Grafik

Gambar 1.3 Grafik Scale Conjugate Gradient

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

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

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

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')
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

17
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

18
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 b


11. erikut

12. Penerapan algoritma percobaan trainscg

13. Lakukan proses “Run” , pada bar editor


14. Feed Forward Network yang dihasilkan sebagai berikut

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

15. Grafik nilai Original dengan Prediksi adalah sebagai berikut

Kesimpulan:
1. Toolbox NN’s mengambil data secara rendem sehinggal membutuhkan train beberapa kali hinggal
error dianggap baik, sedangkan Coding NN’s memilikike unggulan dalam menentukan error terbaik
hanya dengan melihat grafik prediksi sehinggan nilainya error nya bisa dikatakan baik dengan satu
kali Run Coding
2. Data prediksi menggunakan ketiga metode yaitu trainlm, trainbr dan trainscg memiiliki perbedaan
yang cukup signifikan tetapi dalam proses penarikan nilai error yang mendekati nilai nol adalah
metode trainlm, sedangkan metode yang kedua yaitu train scg dan yang terakhir adalah metode trainbr.
Trainlm signifikan mendekati nilai prediksi dibuktikan dengan grafik nilai original vs. prediction yaitu
kedua garis memiliki singgungan yang sangat berhimpit sehingga hampir menyatu dalam arrtian
perbedaan nilainya sangatlah kecil
3. Perbedaan antara penggunaan toolbox dengan Coding yaitu toolbox memiliki
kekurangan yang yaitu tidak dapat menambah forward hidden layer namun jumlah
neuron yang digunakan bisa diisi dengan random, sedangkan Coding dapat
mengubah jumlah hidden layer serta neuron yang diinginkan namun menambah
jumlah neuron tidak menjamin nilai error menjadi lebih baik. Tergantung dari retrain

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

yang kita gunakan.

Hasil:
Berdasarkan perolehan nilai dari matlab maka dari ketiga pengujian tersebut didapati nilai error dan
prediksi sebagai berikut. Formula yang digunakan untuk error adalah sebagai berikut:

No. Input Target Trainlm Trainbr Trainscg


Prediksi Error Prediksi Error Prediksi Error

1 0 0 -1.0001 0.2351 1.284 -0.9994 -0.0414


-0.0038996
2 10 0.17 -0.67353 -0.0125524 0.2351 0.944 -0.6846 0.047265
3 20 0.34 -0.3237 0.05537518 0.2351 0.604 -0.2873 0.025134 .

4 30 0.5 -0.0028 -0.0011423 0.2351 0.284 -0.0297 -0.04304


5 40 0.64 0.3116 -9.526E-05 0.2351 0.004 0.2152 0.013335
6 50 077 0.5388 0.00318385 0.2351 -0.256 0.5465 0.028594
7 60 0.87 0.7472 0.00213395 0.2351 -0.456 0.7690 -0.01316
8 70 0.94 0.8946 0.01233701 0.2351 -0.596 0.8802 -0.02903
9 80 0.98 0.9641 -0.0002479 0.2351 -0.676 0.9357 0.011468
10 90 1 0.9844 -0.023624 0.2351 -0.716 0.9549 0.055039
11 100 0.98 0.9676 6.7981E-06 0.2351 -0.676 0.9529 0.028618
12 110 0.94 0.8957 0.01385727 0.2351 -0.596 0.9059 -0.01192
13 120 0.87 0.7429 0.00220953 0.2351 -0.456 0.7211 -0.02568
14 130 0.77 0.5397 0.00425036 0.2351 -0.256 0.5258 0.001379
15 140 0.64 0.2806 0.00479158 0.2351 0.004 0.2438 -0.04397
16 150 0.5 -0.0025 -0.0459919 0.2351 0.284 -0.0160 -0.00112
17 160 0.34 -0.3208 0.00632362 0.2351 0.604 -0.2586 0.013604
18 170 0.17 -0.7226 0.00613489 0.2351 0.944 -0.6365 -0.00436
19 180 0 -0.9918 0.00708109 0.2351 1.284 -1.0192 0.004442

21
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')
legend ('f(x)-ori','f(x)-prediction NN')
grid on

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

Nilai Prediction Pada Algoritma Trainlm

Nilai Target Algoritma Trainlm

Jumlah Iterasi Trainlm

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

Nilai Pada Workspace Algoritma Trainlm

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

Nilai Prediction Pada Algoritma Trainbr

Nilai Target Algoritma Trainbr

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

Jumlah Iterasi Trainbr

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

Nilai Pada Workspace Trainbr

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

Nilai Prediction Pada Algoritma Trainscg

Nilai Target Algoritma Trainscg

Nilai Iterasi Trainscg

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

]Nilai Workspace

29

Anda mungkin juga menyukai