Anda di halaman 1dari 12

NEURAL NETWORK MATLAB TOOLBOX 1.

Preprosessing Proses pelatihan JST akan menjadi lebih efisien jika dilakukan preprocessing pada data masukan jaringan dan target keluaran. Fungsi premnmx dapat digunakan untuk merubah skala input dan target outpput sehingga menjadi nilai dengan rentang nilai [-1 1!. penggunaan fungsi ini dapat dilihat pada kode berikut" [Pn minp maxp tn mint maxt! # premnmx $p t%& net # train $net pn tn%& 'atriks p dan t adalah nilai asli dari input dan target output. input dan target pn dan tn hasil dari fungsi ini akan bernilai dalam rentang nilai [-1 1! . (ektor minp (ektor dan maxp merupakan nilai minimum dan maksimum dari masukan asli dan (ektor mint dan maxt adalah nilai minimum dan maksimum dari target asli. Setelah jaringan selesai dilatih (ektor ini harus digunakan untuk mentransformasikan kembali setiap nilai input dan target output jaringan. Fungsi ini secara efektif menjadi bagian dari jaringan seperti beban jaringan dan bias. Pada penelitian ini perintah untuk melakukan langkah preprocessing dengan )eural )et*ork Toolbox adalah sebagai berikut "
%Peramalan Konsumsi Bahan Bakar Minyak (BBM) Di Sumatera Barat Dengan Jaringan Syaraf Tiruan Backproptagation %Arief Kurnia an ! "eri #o$iko %Data input P%&'()*+)') ',-.+/(0 ',.)+1() ',/0+0,' '0,.+--/ '*10+10, 1-0/+1 11(0+.,' 11'-+'/0 11)1+/-' 1-0.+/). 11-1+.)1 )0(0*1.0 )/1(/'*1 .-/'//'( .)/1)/,/ .(10,,.) .,,*.).* 1(1 1.* 10* 10) 1*1 1*. )-). )1.' )1/* )).' )(,0 )/-0 '1+(1 (,+(/ ,,+-/ 0)+). //+/) 1-'+,2

pne %&'*',+/-/ '*/1+''. '/..+,1. '/0-+-,- (--.+.0. (-..+((' (-,-+,-1 (-*'+(1' (1-(+)/( (1))+/') (1.0+'(0 11.'+1)) 11*)+111 11*'+.0( 1)1'+..- 1)'/+.)1 1)*/+-0, 1...+*,0 1.*.+,-) 1'*.+)*. 1'/0+/-* 1(,)+'0/ .**,-1*0 '-)1/1)' '0,./*-/ '/(((.)- (1',1/.0 (..(/,,1 (()'*'/1 (01)*')0 (*///'0- ,-*,1,1/ ,)01'*0( 1*0 1/. 1/. 1/. 1/1 1** 1*' 10* 101 1,. 1(. .'(, ./01 ',.0 (./0 ,)(( 0)11 *),( /'10 1-,,0 1)-1( 1.',1-0+'1 111+(( 1)1+'( 1)*+-* 1.'+./ 1'-+') 1',+)1 1(1+0* 1(0+1, 1,)+., 1,0+'-2 %Data 3utput T%&0(-+''/ 0(,+/,, 0./+..( *1*+,/ 0/-+-)) /1*+1.2 %Preprosessing &P#4minp4ma5p4T#4mint4ma5t2%premnm5(P4T)

'atrik P adalah input data untuk pelatihan JST sedangkan matrik Pne* adalah data input untuk masa peramalan dan matrik T adalah target output untuk pelatihan JST. Perintah premnmx akan menghasilkan keluaran matrik P) dan matrik T) +ang merupakan matrik P dan matrik T dengan rentang nilai [-1 1! seperti +ang dapat dilihat pada matrik T) berikut " P) #

,olumns 1 through -

-1..... -../0-1 -..23.0 -..30-1 1..... ..-1-0

..104/

..52-1

..1-.1 -1..... ..1013 ..-111 ..5511 ..1111 ..24.3 ..3-15

-1..... -..5-25 -..2-1/ -../222 -1..... ..0003

-1..... -..0/31 -..5./1 -..-225 -1..... -..-22. -..22.3 -...252

,olumn 5

1..... -..4/44 1..... 1..... 1..... 1.....

'atrik T) hasil dari proses preprocessing dapat dilihat sebagai berikut" T) #

,olumns 1 through -

-..30-0 -..3.23 -1..... -..1124 -../44.

,olumn 5

1..... 6ntuk mengkon(ersikan output JST kembali ke dalam rentang nilai +ang sama +ang ketika proses pelatihan dapat dilakukan dengan menggunakan menggunakan fungsi postmnmx . Pada kode berikut kita mensimulasikan jaringan +ang terlatih dalam kode sebelumn+a dan kemudian mengubah output jaringan kembali ke unit asli.

an#sim $net pn%& a# postmnmx$an mint maxt%& 7utput jaringan +ang telah dikembalikan ke rentang nilai a*aln+a akan bernilai sama dengan target asli t. Jika premnmx digunakan untuk preprosesssing set data pelatihan setiap kali jaringan +ang telah dilatih digunakan untuk masukan +ang baru maka nilai +ang baru +ang akan diinputkan ke JST harus rentang nilain+ dengan minimum dan maksimum +ang dihitung saat preprosessing data pelatihan. 8al ini dapat dilakuan tramnmx . pne*n # tramnmx $pne* minp maxp%& ane*n # sim $net pne*n%& ane* # postmnmx $ane*n mint maxt%& 9ata input untuk masa peramalan sebelum di inputkan ke JST +ang sudah dilatih harus dirubah dulu rentang nilain+a dengan dasar nilai minimum dan maksimum +ang digunakan pada proses preprocessing input data pelatihan menggunakan peringah sebagai berikut" pne*n#tramnmx$pne* minp maxp% Perintah diatas akan menghasilkan matrik pne* +ang merupakan matrik pne* +ang telah mengalami proses preprocessing nilai matrik pne*n adalah sebagai berikut" dengan dengan menggunakan fungsi

pne*n #

,olumns 1 through -

1.2.-3 ..//21 1./032 1.1003 2.2/21 1..311

1.-1/1 1.-142 1.0050 1.//// 4./.02 1.22.4

1.3.5. 1.5/0/ 4./.50 1.//// /.11/. 1.-4/2

2..-34 2.45-/ 4.320/ 1.//// 5.5441.0//4

2.2331 4.2./1 /.2/52 1.4--5 3.-0/0 1.1///

,olumns 5 through 1.

2./103 /.1-0. /.5541

2.53-. -.24.5 -..03.

2.3-.5./220 -./1.1

2.11// 3.312. -.1.11

4.1151.1525.411.

1.2222

1..///

..0003

../550

..1111

1..0405 14.1222 1-.023- 13.--55 21.5.54 2.14-2.4111 2./1-5 2.5552 2.341.

,olumn 11

4.210. 1..01.2 5.013. -..4444 2/.30-5 2.11.3 2. Membangun Jaringan ara! Tiruan Backpropagation :angkah pertama sebelum pelatihan JST backpropagation adalah menciptakan objek jaringan. Fungsi ne*ff berfungsi menciptakan jaringan. Fungsi ini memerlukan empat input dan mengembalikan objek jaringan. ;nput pertama adalah matrik < dengan 2 nilai minimum dan maksimum untuk setiap elemen < dari (ektor input. 'asukan kedua adalah array +ang berisi

jumlah neuron setiap lapisan. 'asukan ketiga adalah array +ang berisi nama-nama fungsi transfer +ang digunakan untuk setiap lapisan. 'asukan terakhir berisi nama fungsi pelatihan +ang akan digunakan. Perintah untuk penggunaan fungsi ne*ff adalah sebagai berikut " net # ne*ff $P< [S1 S2 ... S):! =TF1 tF2 ... TF)l> ?TF ?:F PF% 9eskripsi )@T # )@AFF " menciptakan jaringan baru. )@AFF $P< [S1 S2 ... S):! =TF1 tF2 ... TF)l> ?TF ?:F PF% mengambil" P< - matriks <x2 nilai min dan max untuk elemen input < Si B jumlah neuron pada lapisan ke-i untuk untuk setiap lapisan )i TF; - Fungsi transfer lapisan ke-i ?TF - fungsi pelatihan jaringan backpropagation 9alam penelitian ini perintah untuk membangun JST backpropagation adalah sebagai berikut" net#ne*ff$minmax$P)% [5 2- 2. 1! =CtansigC CpurelinC CpurelinC> CtrainlmC% Perintah diatas akan mendeklarasikan jaringan baru dengan nama jaringan net dengan 4 lapisan tersembun+i +ang terdiri dari 5 neuron pada lapisan tersembun+i pertama 2- neuron pada lapisan tersembun+i kedua dan 2. neuron pada lapisan tersembu+i ketiga. Fungsi aktifasi +ang digunakan adalah tansig untuk lapisan tersembun+i pertama dan fungsi aktifasi purelin untuk lapisan tersembun+i berikutn+a. ". Proses pe#a$i%an

Pelatihan dilakukan dengan fungsi T<D;) untuk meng-update bobot dengan fungsi pelatihan pelatihan +ang telah ditentukan dengan perintah sebagai berikut" Eparamater jaringan net.trainParam.epochs#1... net.trainParam.goal#1e-0 net.trainParam.lr#..1 net.trainParam.sho*#1 Epelatihan jaringan net#train$net P) T)%& hasil dari proses pelatihan adalah bobot-bobot jaringan dan bias +ang sesuai antara target output dan input pelatihan.

&. Ana#isa 'asi# Pe#a$i%an Finerja jaringan +ang terlatih dapat diukur dengan melakukan analisis regresi antara respon jaringan dan target +ang +ang dilatihkan ke jaringan. Perintah berikut ini menggambarkan bagaimana melakukan analisis regresi pada jaringan +ang kita sebelumn+a a # sim $net p%& [m b r! # postreg $a t% 9i sini output jaringan dan target dibandingkan dengan fungsi postreg. ;a fungsi ini akan mengembalikan parameter. ' dan b adalah kemiringan dan titik perpotongan dengan sumbu-+.

Jika output persis sama dengan target kemiringan akan 1 dan titik perpotongan dengan sumbu-+ akan menjadi .. Hariabel ketiga dikembalikan oleh postreg adalah koefisien korelasi $<% antara output dan target. ;ni adalah ukuran dari seberapa baik (ariasi dalam output dijelaskan oleh target. Teori 1. Pelatihan - ;nisialisasi bobot $ambil bobot a*al dengan nilai random +ang cukup kecil% - Tetapkan "'aksimum epoch target error dan learning rate $I% - ;nissialisasi Epoch # . 'S@ # 1 - Ferjakan langkah- langkah berikut selama $Epoch J maksimun epoch% dan $'S@J target error%" 1. Epoch # EpochK1 2. 6ntuk tiap-tiap pasangan elemen +ang dilakukan pembelajaran kerjakan" Feedforward: a. Tiap-tiap unit input $xi ; # 1 2 4 L n% menerima sin+al xi dan meneruskan sin+al tersebut ke semua unit pada lapisan +ang ada diatasn+a $lapisan tersembun+i% b. Tiap-tiap unit pada lapisan tersembun+i $Mj j#1 2 4 ..p% menjumlahkan sin+al-sin+al input terbobot" z G in j = b1 j + xi vij
i =1 n

Nunakan fungsi aktifasi untuk menghitung sin+al outputn+a"

z j = f $ z G in j %
9an kirim sin+al tersebut ke semua unit di lapisan diatasn+a $unit-unit output% c. Tiap-tiap unit output $Ok k# 1 2 4 L m% menjumlahkan sin+al-sin+al input berbobot"
y G ink = b2 j + zi wij
i =1 p

Nunakan fungsi aktifasi untuk menghitung sin+al outputn+a"

yk = f $ y G ink %

9an kirimkan sin+al tersebut ke semua unit lapisan diatasn+a $unit-unit output%. ,atatan" langkah $b% dilakukan seban+ak jumlah lapisan tersembun+i. Backpropagation d. Tiap-tiap unit output $Ok k # 1 2 4 L m% menerima target pola +ang berhubungan dengan pola input pembelajaran hitung informasi errorn+a"

k = $t k yk % f $ y G ink % 2 jk = k z j 2k = k
Femudian hitung koreksi bobot $+ang nantin+a akan digunakan untuk memperbaiki nilai *jk%"
w jk =2 jk

8itung juga koreksi bias $+ang nantin+a akan digunakan untuk memperbaiki b2k% :angkah $d% dilakukan seban+ak jumlah lapisan tersembun+i. e. Tiap-tiap unit tersembun+i $Mj j # 1 2 4 Lp% menjumlahkan delta inputn+a $dari unit-unit +ang berada pada lapisan diatasn+a%"
G ink = i w jk
i =1 p

Falikan nilai ini dengan turunan dari fungsi aktifasin+a untuk menghitung informasi error"
1 j = G in j f C $ z G in j % 1ij = 1 j x j 1j = 1j

Femudian hitung nilai koreksi bobot $+ang nantin+a akan digunakan untuk memperbaiki nilai (ij%" 8itung juga koreksi bias $+ang nantin+a akan digunakan untuk memperbaiki b1j%"

b1 j =1 j

f. Tiap-tiap unit output $Ok k # 1 2 4 L m% memperbaiki bias dan bobotn+a$j # 1 2 4 ..p%"


w jk Ajk $baru% # *jk$lama% K

$12% $14%

b2 k b2k $baru% # b2k$lama% K

tiap-tiap unit tersembun+i $Mj j # 1 2 4 L p% memperbaiki bias dan bobotn+a $i # 1 2 4 .. n%"


vij (ij $baru% # (ij$lama% K

$1/%

b1 j b1j $baru% # b1j$lama% K $1-%

2. Peramalan" 1. 9ata +ang akan diujikan dibaca dan dimasukkan ke lapisan input. 2. Nunakan bobot +ang telah diperoleh melalui proses pelatihan +ang seseuai dengan pola +ang diujikan. 4. 8itung jumlah input $xi i # 1 2 4 L n% terbobot untuk lapisan tersembun+i $M j j # 1 2 4 .. p% dan hitung keluaran lapisan tersembun+i dengan fungsi aktifasi sigmoid bipolar kirimkan ke lapisan atasn+a.

z G in j = b1 j + xi vij
i =1

z j = f $ z G in j %
/. 8itung jumlah lapisan tersembun+i $Mj j # 1 2 4 ..p% terbobot untuk output la+er dan hitung keluaran lapisan output $Ok k # 1 2 4 L m% dengan fungsi aktifasi sigmoid bipolar.

y G ink = b1 j + zi w jk
i =1

yk = f $ y G ink %
-. 8itung 'S@ 5. Tampilkan hasil peramalan.

". 'asi# pene#i$ian 4.1 Penentuan Pola ;nput dan Target 7utput Penentuan pola input pelatihan JST untuk peramalan konsumsi bahan bakar min+ak didasarkan pada teori bah*a peningkatan kebutuhan konsumsi ??' dipengaruhi oleh faktorfaktor sebagai berikut" 1. 2. 4. /. -. 5. Jumlah Penduduk Jumlah <umah Tangga Jumlah ;ndustri Jumlah Dlat Transportasi P9<? 8arga 'in+ak 'entah <ata-<ata

9ata input untuk pelatihan JST adalah factor-faktor +ang mempengaruhi konsumsi bahan bakar min+ak. 9ata-data +ang diperlukan dalam penelitian ini diambil dari ?adan Pusat Statistik Sumatera ?arat $?PS Sumbar% dan PT Pertamina $Persero% *ila+ah Sumatera ?arat . LLLLLLLL$tambah nan di buku panek ngetik%