3.1 Backpropagation untuk prediksi 11

Pertemuan 3
Aplikasi Jaringan Syaraf Tiruan untuk memprediksi
Diketahui data bulanan penjualan suatu produk makanan kaleng selama 24 bulan, seperti pada
table dibawah ini. Buat model backpropagation untuk memprediksi jumlah produk bulan depan.
2009

Jan
2045

Feb
1696

Mar
1341

Apr
1181

Mei
1613


Jun
2242

2010

1767

1466

1090

1070

1355

5324

Jul
616
1

716
7

Agu
1043
7
1378
0

Sep
9590
1062
9

Okt
529
1
772
5


Nop
308
1
328
4

Penyelesaian:
1. Menentukan Arsitektur Jaringan:
1

1
V1-0
V2-0
V3-0

X1 V1-1

W0
Z1
W1


V3-1V2-1
X2

.
.
.

X12

2.
3.
4.
5.
6.

V1-2
V2-2
V3-2
V1-12

V2-12
V3-12

Z2

Z3

Menentukan besarnya α =0,3
Menentukan besarnya error = 10-5=0,00005
Menentukan besarnya epoch=1000
Menentukan fungsi aktifasi=sigmoid biner
Menentukan data pelatihan

W2

W3

Y1

Des

214
7
240
0

16000
14000
12000
10000
8000
6000
4000
2000
0

Jika fungsi aktifasi dengan menggunakan sigmoid biner (range 0 sampai dengan 1), maka data
harus ditransformasikan [0,1]. Tapi akan lebih baik di transformasikan pada range [0,1 0,9]
karena fungsi sigmoid nilainya tidak pernah 0 ataupun 1.
Untuk mentransformasikan dengan rumus:
X’=


0.8( x−a)
+0.1
b−a

x’=hasil transformasi
x =data awal
a=nilai minimal data awal
b=nilai maximal data awal
Jan

Feb

Mar

Apr

Mei

Jun


Jul

Agu

Sep

Okt

Nop

Des

2009

0.1614

0.1394

0.1171


0.1070

0.1342

0.1738

0.4204

0.6896

0.6363

0.3657

0.2266

0.1678

2010


0.1439

0.1249

0.1013

0.1000

0.1179

0.3678

0.4838

0.9000

0.7017

0.5189


0.2394

0.1837

Table data pelatihan
Pola
1
2
3
4
5
6
7
8
9
10

X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

X11

X12

Target

0.161
4
0.139
4
0.117
1
0.107
0
0.134
2
0.173
8
0.420
4
0.689
6
0.636
3
0.365

0.139
4
0.117
1
0.107
0
0.134
2
0.173
8
0.420
4
0.689
6
0.636
3
0.365
7
0.226

0.117
1
0.107
0
0.134
2
0.173
8
0.420
4
0.689
6
0.636
3
0.365
7
0.226
6
0.167

0.107
0
0.134
2
0.173
8
0.420
4
0.689
6
0.636
3
0.365
7
0.226
6
0.167
8
0.143

0.134
2
0.173
8
0.420
4
0.689
6
0.636
3
0.365
7
0.226
6
0.167
8
0.143
9
0.124

0.173
8
0.420
4
0.689
6
0.636
3
0.365
7
0.226
6
0.167
8
0.143
9
0.124
9
0.101

0.420
4
0.689
6
0.636
3
0.365
7
0.226
6
0.167
8
0.143
9
0.124
9
0.101
3
0.100

0.689
6
0.636
3
0.365
7
0.226
6
0.167
8
0.143
9
0.124
9
0.101
3
0.100
0
0.117

0.636
3
0.365
7
0.226
6
0.167
8
0.143
9
0.124
9
0.101
3
0.100
0
0.117
9
0.367

0.365
7
0.226
6
0.167
8
0.143
9
0.124
9
0.101
3
0.100
0
0.117
9
0.367
8
0.483

0.226
6
0.167
8
0.143
9
0.124
9
0.101
3
0.100
0
0.117
9
0.367
8
0.483
8
0.900

0.167
8
0.143
9
0.124
9
0.101
3
0.100
0
0.117
9
0.367
8
0.483
8
0.900
0
0.701

0.143
9
0.124
9
0.101
3
0.100
0
0.117
9
0.367
8
0.483
8
0.900
0
0.701
7
0.518

11
12

7
0.226
6
0.167
8

6
0.167
8
0.143
9

8
0.143
9
0.124
9

9
0.124
9
0.101
3

9
0.101
3
0.100
0

3
0.100
0
0.117
9

0
0.117
9
0.367
8

9
0.367
8
0.483
8

8
0.483
8
0.900
0

8
0.900
0
0.701
7

0
0.701
7
0.518
9

7
0.518
9
0.239
4

7. Menggunakan Algoritma
Langkah 0
Inisialisasi semua bobot dengan bilangan acak kecil.
Table bobot-bobot dari layer input ke layer tersembunyi
Z1
Z2
Z3
1
0.1
0.3 -0.1
X1
0.5
0.1 -0.5
X2
-0.2
0.1
0.2
X3
0.1 -0.2 -0.3
X4
0.3
0.1 -0.1
X5
-0.4
0.4
0.2
X6
0.3
0.5 -0.1
X7
0.2
0.2 -0.1
X8
-0.1 -0.3
0.4
X9
0.1
0.1 -0.5
X10
0.4 -0.1 -0.1
X11
-0.3
0.2
0.1
X12
0.2
0.3 -0.2
Table bobot-bobot dari layer tersembunyi ke layer output
Y
1

-0.1

Z1
0.2
Z2
0.1
Z3 -0.4
Langkah 1
Jika kondisi penghentian belum terpenuhi, lakukan langkah 2 sampai dengan 8
Langkah 2
Untuk setiap pasang data pelatihan, lakukan langkah 3 sampai dengan 8
Data pelatihan:
X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

X11

X12

Target

0.161
4

0.139
4

0.117
1

0.107
0

0.134
2

0.173
8

0.420
4

0.689
6

0.636
3

0.365
7

0.226
6

0.167
8

0.143
9

Fase I: Propagasi Maju
Langkah 3
Tiap unit masukkan menerima sinyal dan meneruskan ke unit tersembunyi
Langkah 4
Hitung semua keluaran di unit tersembunyi (Zj):

9
0.239
4
0.183
7

n

z net j=v j 0+ ∑ x i v ji
i=1

2

z net1=v 10+ ∑ xi v ji
i=1

Znet1=v1-0+x1 . v1-1+x2 . v1-2+x3 . v1-3+x4 . v1-4+x5 . v1-5+x6 . v1-6+x7 .
v1-7+x8 . v1-8+x9 . v1-9+x10 . v1-10+x11 . v1-11+x12 . v1-12
=0.1+0.1613 . 0.5+0.1394 . -0.2+0.1170 . 0.1+0.1069 . 0.3+0.1341 .
-0.4+0.1737 . 0.3+0.4204 . 0.2+0.6895 . -0.1+0.6362 . 0.1+0.3656 .
0.4+0.2265 . -0.3+0.1677 . 0.2
= 0.38568

Dengan cara yang sama hasil Znet2 dan Znet3 adalah sebagai berikut:
Znet2= 0.45784
Znet3= -0.32098

z j=f ( z net j )=

1
1+ e−z

net j

z 1=f ( z net 1) =

1
1
=
=¿ 0.59524
−z
−0,38568
1+ e
1+e

z 2=f ( z net 2 )=

1
1
=
=¿ 0.6125
−z
−0,45784
1+ e
1+e

z 3=f ( z net 3 )=

1
1
=
=¿ 0.42044
−z
1+e
1+e 0,32098

net1

net 2

net 3

Langkah 5
Hitung semua jaringan di unit keluaran (yk)
p

y net k =w k 0+ ∑ z j wkj
j=1
p

y net1=w10 + ∑ z j w kj=w0 + z 1 w1 + z 2 w2+ z3 w 3
j=1

¿−0,1+ 0.59524 .0,2+0.6125 .0,1+ 0.42044 . (−0,4 )=¿ -0.08788
y 1=f ( y netk ) =

1
1
=
=¿ 0.47804
−y
0,08788
1+e
1+e
net k

Fase II : Propagasi Maju
Langkah 6

k=(tk-yk) f’(y_netk)= (tk-yk) yk (1-yk)
1=(t1-y1) f’(y_net1)= (t1-y1) y1 (1-y1)=( 0.1439-0.47804) 0.47804 (1-0.47804)=
-0.08338

Missal dengan menggunakan α =0,3
Δwkj= α k zj
Δw10= α 1 (1)=0,3 . (-0.08338) . (1)=-0,02501
Dengan cara yang sama maka :
0.02501
0.01489
0.01532
0.01052

∆W
0
∆W
1
∆W
2
∆W
3

Langkah 7
Hitung factor  unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi zj (j=1,2,3,
…,p)
m

¿ net j=∑ ❑k wkj
k=1

¿ net 1=❑1 . w11= (−0,08338 ) .(−0,01489)=−0,01668
¿ net 2=❑1 . w12=(−0,0,08338 ) . (−0,01532)=0,00834
¿ net 3=❑1 . w13=(−0,0,08338 ) .(−0,01052)=0,033353

Faktor kesalahan

unit tersembunyi

j = _netj f’(z_netj)= _net zj (1-zj)
1 = _net z1 (1-z1)=(- 0,01668 ).0,595242.(1-(0,595242))=-0,00492
Dengan cara yang sama maka :
2 = _net z2 (1-z2)=-0,00198
3 = _net z3 (1-z3)=0,008127
Δvji=α jxi
Δv10=α 1=0,3*(-0,00492)*1= -0,00121
Dengan cara yang sama maka nilai:
∆V1-0 -0.00121
0.0005
∆V2-0
9
0.0024
∆V3-0
4

∆V1-2
∆V2-2
∆V3-2

0.0001
7
0.0000
8
0.0003
4

∆V1-4
∆V2-4
∆V3-4

0.0001
3
0.0000
6
0.0002
6

∆V1-6
∆V2-6
∆V3-6

0.0002
1
0.0001
0
0.0004
2

∆V1-8
∆V2-8
∆V3-8

0.0008
3
0.0004
1
0.0016
8

∆V1-10

0.0004

∆V1-12

∆V2-10

0.0002

∆V2-12

∆V3-10

0.0009

∆V3-12

0.0002
0
0.0001
0
0.0004
1

∆V1-1
∆V2-1
∆V3-1

0.0001
9
0.0001
0
0.0003
9

∆V1-3
∆V2-3
∆V3-3

0.0001
4
0.0000
7
0.0002
9

∆V1-5
∆V2-5
∆V3-5

0.0001
6
0.0000
8
0.0003
3

0.0005
1
0.0002
5
0.0010
3

∆V1-7
∆V2-7
∆V3-7

∆V1-9
∆V2-9
∆V3-9

0.0007
7
0.0003
8
0.0015
5

∆V1-11

0.0003

∆V2-11

0.0001

∆V3-11

0.0006

Fase III : Perubahan Bobot
Langkah 8
Perubahan bobot garis yang menuju unit keluaran
wkj (baru)= wkj (lama) + Δwkj
w10 (baru)= w10 (lama) + Δw10= -0,1-0,02501=-0,12501
w11 (baru)= w11 (lama) + Δw11=0,2-0,01489=0,18511
w12 (baru)= w12 (lama) + Δw12=0,1-0,01532=-0,01532
w13 (baru)= w13 (lama) + Δw13=-0,4-0,01052=-0,01052
Vji (baru)= vji (lama) + Δvji
V1-0 (baru)= v1-0 (lama) + Δv1-0 =0,1-0,00121=-0,00012
Dengan cara yang sama maka nilai:
V1-0
V2-0
V3-0
V1-1
V2-1
V3-1

0.0001
2
0.0001
8
0.0002
4
0.0001
0
0.0000
1
0.0002
0

V1-2
V2-2
V3-2
V1-3
V2-3
V3-3

0.0000
3
0.0000
1
0.0000
7
0.0000
1
0.0000
1
0.0000
9

V1-4
V2-4
V3-4

0.0000
4
0.0000
1
0.0000
3

V2-5

0.0000
6
0.0000
3

V3-5

0.0000
7

V1-5

V1-6
V2-6
V3-6
V1-7
V2-7
V3-7

0.0000
6
0.0000
5
0.0000
4
0.0001
0
0.0000
5
0.0001
0

V1-8

0.0000
8

V2-8

0.0001
2

V3-8
V1-9
V2-9
V3-9

0.0006
7
0.0000
8
0.0000
4
0.0007
8

V1-10

0.0002

V1-12

V2-10

0.0000

V2-12

V3-10

0.0001

V3-12

V1-11

0.0001

V2-11

0.0000

V3-11

0.0001

0.0000
4
0.0000
3
0.0000
8