Anda di halaman 1dari 8

JURNAL TEKNOLOGI INDUSTRI, 1999, VOL. III, NO 2, hal 109 - 116 ISSN 1410-5004

METODE PERAMALAN MEMAKAI JARINGAN SARAF BUATAN DENGAN CARA BACKPROPAGATION

T. Iwan B. Pratama

ABSTRACT Forecasting methods using artificial neural network is relatively new. These methods offer some improvements especially in efficiency of calculation by massively parallel distributed matrices and vectors calculation using computer systems. The network is trained by some historical data to approximate the pattern of the data. Backpropagation is used to train the network since this learning process has better performance than other supervised learning methods. For forecasting application, the network has two layers with transfer functions of log-sigmoid in the first layer and linear in the second layer. The number of neurons can be varied to be more accurate for giving the forecasted value.

1. PENDAHULUAN Operasi-operasi di dalam industri memerlukan perencanaan (planning) dan pengendalian (control). Adanya dorongan untuk membuat peramalan (forecasting) datang dari keperluan atau kebutuhan untuk merencanakan kegiatan operasi. Hal yang senada, kebutuhan untuk perencanaan itu datang dari keperluan untuk pekerjaan atau aktivitas harian yang dimaksudkan untuk memperkirakan/memenuhi permintaan (demand) dari produk maupun jasa di masa datang (Buffa, 1987). Karena peramalan seharusnya menjadi bagian integral dari perencanaan dan pengambilan keputusan, maka biasanya perencanaan dan pengendalaian diterapkan dalam beberapa tingkatan. Ini berarti, penentuan horison peramalan, metode peramalan dan tingkat akurasi yang diinginkan dan satuan magnitude yang akan diramal seharusnya didasarkan pada pemahaman yang baik agar hasil peremalan bisa digunakan dalam pengambilan keputusan (Buffa, 1987). Metoda yang dituliskan disini adalah metoda yang belum banyak dibahas. Metoda yang digunakan adalah dengan jaringan saraf buatan (artificial neural network). Layaknya seorang manusia yang memang harus dilatih dahulu dengan proses pembelajaran untuk bisa mahir dalam suatu hal, metoda ini juga memerlukan latihan atau proses pembelajaran agar dapat dipakai untuk menyelesaikan masalah tertentu, dalam hal ini untuk menghasilkan ramalan. Metode yang dituliskan di sini memang belum diuraikan secara tuntas. Tulisan ini lebih merupakan mengenalkan gagasan baru atau alternatif cara untuk peramalan. Dalam tulisan ini pun belum disampaikan kelebihan ataupun kekurangan secara umum dari metode ini dibandingkan dengan metode lain yang sudah lazim digunakan. Untuk bisa sampai pada kesimpulan seperti itu, metode dengan neural network ini perlu dilakukan pengujian yang mendalam dan meliputi berbagai variasi data sehingga bisa

110

T. Iwan B. Pratama

diketahui kelebihan dan kekurangan pada berbagai variasi. Secara umum, metode neural network menawarkan keuntungan dalam hal kalkulasi. Neural network adalah metode kalkulasi yang paralel dan memang dikembangkan untuk kalkulasi paralel yang terdistribusi dengan komputer (Hagan, 1996).

2. METODE PERAMALAN DENGAN JARINGAN SARAF BUATAN

Dalam Riggs, 1987, dinyatakan bahwa salah satu cara peramalan adalah dengan metode urutan waktu (time series) yang menggunakan data histori (data waktu lampau), misalnya data permintaan, untuk membuat ramalan permintaan diwaktu mendatang. Tujuan dari metode ini adalah untuk mengidentifikasi pola data histori dan kemudian mengekstrapolasikan pola ini ke masa datang. Dalam metode pengidentifikasian pola data masa lalu dilakukan dengan membuat jaringan saraf buatan tersebut dilatih untuk bisa menirukan bentuk-bentuk kurva. Cara kerja metode ini mirip dengan metode pencocokan kurva (curve fitting). Curve-fitting menyediakan cara untuk mengekstrapolasi guna meramalkan untuk beberapa periode mendatang (Riggs, 1987). Metode dengan neural network ini dilatih dengan seperangkat data untuk bisa mengenal dan mengidentifikasi pola data atau kurva. Proses pelatihan ini sering disebut tahap belajar (learning process). Sehingga learning process ini menjadi bagian yang penting juga dalam metode ini. Pemilihan algoritma dan parameter yang bersesuaian dan penentuan berapa banyak perangkat data yang dibutuhkan dalam learning process ini sangat penting untuk menetukan akurasi dari peramalan yang dihasilkan. Pada sat awal neural network diset secara acak. Kemidian perangkat data dimasukkan ke jaringan saraf untuk pembelajaran atau pelatihan. Ketika data dimasukkan, jaringan saraf akan belajar dengan mengubah parameter-parameternya sehingga semakin mendekati atau semakin sesuai dengan pola data masukan tersebut. Ketika semua data latih sudah dimasukkan, jaringan saraf dianggap sudah dapat mengenal dan mengidentifikasi pola data tersebut sehingga telah siap digunakan untuk meramal. Hasil ramalannya dengan demikian akan sesuai dengan pola data yang telah diidentifikasi oleh neural network. Pada prinsipnya ada dua cara untuk melatih neural network yaitu dengan supervised dan unsupervised learning (Hagan, 1996). Pada unsupervised learning, neural network hanya diberi data masukan saja tapi bagaimana outputnya tidak ditentukan. Ketika data yang dimasukkan bertambah, neural network akan mengkategorikan atau mengelompokkan data masukan tersebut. Pada supervised learning, neural network diberi sepasang data latih yang terdiri dari data masukan dan target. Jadi ketika data yang dimasukan bertambah neural network akan mengubah karakteristik internalnya agar sebisa mungkin menghasilkan keluaran seperti targetnya. Maka dengan demikian cara learning yang bisa dipakai untuk peramalan adalah yang supervised learning karena data yang harus dilatihkan adalah berupa pasangan data input dan target. Neural network yang dilatih dengan supervised learning ada banyak variasi antara lain: perceptron learning, hamming nework, hopfield network, adaptive linear neuron (ADALINE), backpropagation, dll (Hagan, 1996). Dalam tulisan ini jenis yang dipakai adalah backpropagation dengan alasan karena backpropagation merupakan

Metode Peramalan Memakai Jaringan Saraf Buatan dengan Cara Backpropagation

111

generalisasi dari berbagai jenis tersebut di atas. Dan oleh karena itu jenis backpropagation lebih fleksibel dan secara umum relatif lebih baik dari jenis-jenis yang tadi disebut. Alasan lain karena backpropagation ini paling banyak penerapannya khususnya untuk aplikasi dalam dunia industri (Dagli, 1994).

3. BACKPROPAGATION NN

Algoritma backpropagation untuk neural network umumnya diterapkan pada perceptron berlapis banyak (multilayer perceptrons). Perceptron paling tidak mempunyai bagian input, bagian output dan beberapa lapis yang berada diantara input dan output. Lapis ditengah ini, yang juga dikenal dengan lapis tersembunyi (hidden layers), bisa satu, dua, tiga dst. Dalam praktek, banyaknya hidden layer paling banyak adalah tiga lapis. Dengan tiga lapis ini hampir semua permasalahan dalam dunia industri telah bisa diselesaikan. Output lapis terakhir dari hidden layer langsung dipakai sebagai output dari neural network. Untuk penerapan peramalan, banyaknya lapis yang diperlukan cukup dua lapis. Hanya dengan dua layer, perceptron neural network hampir dapat mengepaskan semua bentuk kurva data runtun waktu yang ada. Banyaknya neuron yang diperlukan bisa divariasi. Misalnya, untuk menyesuaikan terhadap bentuk kurva yang komplek, maka banyak neuron bisa dibuat banyak. Semakin banyak neuron yang dipakai, neural network akan semakin bisa mendekati kuva yang rumit sekalipun. Namun semakin banyak neuron yang dipakai akan semakin banyak pula parameter yang harus diset dengan demikian perhitungan menjadi semakin lama. Untuk penerapan peramalan, neural network diinginkan untuk dapat menghitung atau menghasilkan satu angka output terhadap satu angka input, seperti memplot kurva dua dimensi. Bentuk perangkat data yang digunakan untuk melatih neural network juga berupa pasangan data angka berupa angka input dan angka target. Oleh karena itu neural network untu peramalan ini mempunyai satu input dan satu output saja. Contoh neural network seperti gambar 1 di bawah ini,

Gambar 1. Neural network dengan dua layer dan dua neuron. (Sumber Hagan, 1996)

112

T. Iwan B. Pratama

Neural network untuk peramalan dapat menggunakan fungsi pemindah (transfer function) untuk layer pertama adalah log-sigmoid dan untuk layer kedua adalah linier, seperti pada persamaan 1 di bawah ini,

f

1

(

n

)

=

1

1 + e

-

n

dan

f

2

(

n

)

=

n

(1)

Layer pertama juga sering disebut log-sigmoid layer dan layer kedua disebut linear layer. Input ke neural network adalah p (skalar), output dari layer pertama adalah a 1 (vektor) dan output dari layer kedua atau output dari neural network adalah a 2 (skalar). W 1 (matrik) adalah matrik pembobot (weight matrix) untuk layer pertama dan W 2 (matrik) adalah weight matrix layer kedua. Masing-masing layer mempunyai input bias b 1 (vektor) untuk layer pertama dan b 2 (skalar) untuk layer kedua. Persamaan untuk masing-masing output layer adalah,

a 1 = logsig (W 1 p + b 1 ) ,

dan

(2.a)

a 2 = purelin (W 1 a 1 + b 2 ) = purelin (W 1 logsig (W 1 p + b 1 ) + b 2 )

(2.b)

Tanggapan nominal dari network ini seperti ditunjukkan pada gambar 2 di bawah. Gambar tersebut memperlihatkan pengeplotan dari input p ke output network a 2 . Pada kurava tampak adanya dua undakan (step) yang disebabkan oleh dua neuron yang dipakai. Jumlah undakan ini akan sama dengan jumlah neuron yang digunakan.

Gambar 2. Tanggapan nominal dari network di gambar 1 di atas. (Sumber Hagan, 1996)

Kecuraman (steepness) dari undakan ditentukan oleh nilai dari weight matrix pada layer pertama. Selaian kita dapat mengubah nilai weight matrix ini kita juga dapat mengubah parameter lain seperti input bias pada setiap neuron, weight matrix di layer kedua dan input bias di layer kedua. Pengaruh pengubahan parameter tersbut dapat dilihat pada gambar 3 di atas.

Metode Peramalan Memakai Jaringan Saraf Buatan dengan Cara Backpropagation

113

Sekarang kita lihat keunikan dari multilayer perceptron. Dengan cara mengubah- ubah nilai parameter dan memvariasi banyaknya neuron yang dipakai, terlihat bahwa network mampu untuk mengindentifikasi dan menirukan berbagai bentuk pola kurva data runtun waktu masa lampau dan kemudian menggunakannya untuk meramalkan nilai diwaktu yang mendatang untuk berbagai tingkat ketepatan yang diinginkan. Langkah berikutnya adalah mengembangkan algoritma untuk melatih network ini dan algoritma untuk memakai network untuk peramalan.

Gambar 3. Pengaruh dari pengubahan parameter pada tanggapan network. (Sumber Hagan 1996).

4. ALGORITMA PERAMALAN DENGAN BACKPROPAGATION

Algoritma backpropagation menggunakan performance index : mean square error (Hagan, 1996). Untuk melatih network diperlukan seperangkat pasangan data seperti berikut,

{p 1 ,t 1 },{p 2 ,t 2 },

,{p Q ,t Q }

(3)

di mana p q adalah nilai input ke network dan t q adalah target, yaitu nilai output yang seharusnya dihasilkan. Pada setiap nilai input yang dimasukkan ke network, output network kemudian dibandingkan dengan dengan nilai target. Kemudian algoritma ini mengatur atau menyesuaikan parameter-parameter network untuk meminimalkan mean square error.

F(x) = E [e 2 ] = E [(t-a) 2 ]

(4)

di mana x adalah vektor dari weight dan bias. Seperti algoritma LMS (Least Mean Square) yang mendasari backpropagation ini, mean square error-nya diaproksimasi dengan nilai harapan (expectation) yang diganti dengan kuadrat error pada iterasi ke-k. Algoritma steepest descent untuk mengaproksimasi mean square error dan ditulis dalam bentuk matrik adalah,

114

W

b

m

m

(k

+

1)

= W

m

(k)

(k) -a s

- a

m

(k +1) = b

m

s

m

T. Iwan B. Pratama

(

a

m

-1

)

T

di mana k = 1, 2,

di mana a adalah laju pembelajaran (learning rate) dan

s

s

M

m

= -

=

F

.

2

m

F

.

M

(

n

m

(

n

M

)(

W

)(

m

t - a

+

1

)

T

)

s

m

+

1

, untuk m = M-1,

, 2, 1.

 

(5.a)

Q

(5.b)

(6.a)

(6.b)

Karena fungsi yang dipakai dalam peramalan adalah log-sigmoid untuk layer pertama dan linear untuk layer kedua, maka

f

f

sehingga,

1

2

s 2

s 1

(

n

.

)

=

d

Ê Á

1

dn Ë 1

+ e

- n

( n

) =

.

d

dn

(n) =1

ˆ

˜ =

¯

e

-

n

(1

+ e

-

n

)

2

= -

=

.

F

2[1] (

t - a

1

1

(n )(W

2

2

)

)

= -

T s

2

2 (

t

-

a

2

)

di mana

.

F

1

( n

1 ) =

È

Í

Í

Í

Í

Í

Í

Î

.

f

1 (

n

0

0

1

1 )

.

f

1

0

(

n

0

1

2

)

=

Ê Á 1

Ë 1 +

1

-

e

-

n

.

f

0

0

1 (

n

1

S )

˘

˙

˙

˙

˙

˙

˙

˚

˜ ˆ Á Ê

¯ Ë 1 +

1

e

-

n

È

Í

= Í

Í

Í

Í

Î

(1

- a

1

1

0

)(

a

1

1

)

(1

-

0

1 2 )(

a

a

2 1 )

0 0

(1

- a

0

0

1

S

)(

a

1

S

)

˘

˙

˙

˙

˙

˙

˚

ˆ

˜ =

¯

(1

-

a

1

)(

a

1

)

(7.a)

(7.b)

(8.a)

(8.b)

(8.c)

dengan indeks s adalah banyaknya neuron yang dipakai. Persamaan (5.a) dan (5.b) pada intinya digunakan untuk memperbarui weight marix dan bias baik pada layer pertama dan layer kedua. Proses perbaruan ini dimaksudkan agar kelakuan network akan semakin mendekati atau menyamai perangkat untuk melatih network yang digunakan. Jadi algoritma backpropagation ini pada intinya adalah sebagai berikut: pada tahap pertama seperangkat pelatih (training set) disediakan seperti persamaan 3.

Metode Peramalan Memakai Jaringan Saraf Buatan dengan Cara Backpropagation

115

Training set ini didapat dari data runtun waktu yang dipunyai. Data yang tersedia sebaiknya cukup banyak (lebih dari dua puluh). Perlu diperhatikan bahwa banyaknya neuron, s, harus kurang dari banyaknya data yang tersedia agar network bisa bekerja dengan baik. Training set ini dimasukkan ke network dan dihitung output dari layer pertama dan kedua dengan persamaan (2.a) dan (2.b). Untuk bisa menghitung ini, weight matrix dan bias untuk layer pertama dan layer kedua diset sebelumnya dengan nilai random yang kecil. Hasil output layer kedua ini dibandingkan dengan targetnya. Besarnya error kemudian dipakai untuk penghitungan mundur (backpropagation) untuk memperbarui weight matrix dan bias dikedua layer. Demikian seterusnya sampai semua training set sudah dimasukkan semua ke network. Maka sekarang network telah siap digunakan untuk meramal.

5. VARIASI BACKPROPAGATION

Backpropagation dengan least mean square (LMS) seperti di atas memang menjamin ke arah solusi yang meminimalkan mean square error selama learning rate-nya, a, tidak terlalu besar. Tapi ada kekurangannya, yaitu jika learning rate kecil, akan dijamin konvergen tapi lambat, dan jika learning rate besar akan cepat konvergen namun ada bahaya akan osilasi dan bisa-bisa tak akan menemukan minimum globalnya. Variasi backpropagation dimaksudkan untuk mengatasi kelemahan dari backpropagation yang seperti tersebut di atas. Variasi tersebut adalah (Hagan, 1996):

5.1. Momentum

Metode ini bekerja seperti filter lewat rendah (Low Pass Filter) yang akan menghaluskan osilasi yang terjadi. Dengan tambahan filter momentum ini, maka persamaan untuk memperbarui weight matrix dan bias adalah sebagai berikut,

DW

m

(k)

= g DW

m

Db

m

(k ) = g Db

m

(k

-

1)

-

(1

- g

)

a s

m

(k -1) - (1 - g )a s

m

(

a

m

-1

)

T

(9.a)

(9.b)

5.2. Variable Learning Rate

Metode ini bekerja dengan berusaha untuk menaikkan learning rate-nya kalau menjumpai permukaan yang datar dan kemudian menurunkan learning rate-nya kalau slope-nya meningkat. Prosedur umum untuk memvariasi learning rate seperti berikut ini,

1. Jika kuadrat error (setelah seluruh training set-nya dimasukkan) naik dengan lebih dari persentase z yang sebelumnya telah ditentukan (biasanya antara 1 sampai 5 persen) maka weight matrix-nya tidak jadi diperbarui, kemudian learning rate-nya dikalikan dengan faktor 0<r<1, dan koefisien momentum-nya g (apabila digunakan) diset menjadi nol.

2. Jika kuadrat error menurun setelah weight matrix diperbarui, maka hasil perbaruan ini diterima dan learning rate-nya dikalikan dengan faktor h>1. Jika g sebelumnya telah diset menjadi nol, maka sekarang dikembalikan ke nilai awalnya.

116

T. Iwan B. Pratama

3. Jika kuadrat error menaik dengan kurang dari z, maka weight matrix yang telah diperbarui diterima tetapi learning rate dan koefisien momentum-nya tak diubah. Sebenarnya masih ada beberapa variasi dari backpropagation ini, namun sengaja disini tidak diceritakan lagi. Sebelum network ini bisa digunakan, terlebih dahulu ditentukan beberapa hal sebagai

berikut:

(1) Perlu diketahui berapa pasangan data yang tersedia yang akan digunakan untuk melatih network. (2) Tentukan banyaknya neuron yang akan digunakan. Perlu diperhatikan agar banyaknya neuron lebih kecil dari jumlah pasangan data yang digunakan untuk melatih network. Banyaknya neuron akan menentukan ketepatan dari pelacakan bentuk kurva dari pasangan data. (3) Tentukan nilai awal dari elemen-elemen weight matrix dan bias baik untuk layer pertama dan kedua dengan bilangan acak kecil. Banyaknya elemen weight matrix (matrik bujur sangkar) akan sama dengan kuadrat jumlah neuron sedang jumlah bias untuk layer pertama sama dengan banyaknya neuron. (4) Lakukan proses pelatihan network dengan data yang ada. Setelah itu network bisa digunakan untuk peramalan.

6. KESIMPULAN Berbagai metode peramalan yang ada sekarang ini belum menyinggung atau memanfaatkan taknik baru seperti pada neural network ini. Teknik peramalan dengan neural network menawarkan berbagai kelebihan khususnya dalam hal komputasi. Neural network memang dikembangkan sebagai teknik kalkulasi matrik dan vektor yang terdistribusi secara paralel. Kelebihan ini membuat bagian kalkulasinya dapat dikerjakan dengan komputer dengan cara yang sangat efisien. Penentuan nilai-nilai dari parameter-parameter yang ada hampir tidak mempengaruhi hasil peramalan tetapi hanya sedikit mempengaruhi cepat-lambatnya fungsi pemindah (transfer function) tersebut konvergen ke global minimum. Hal ini berarti akan lebih baik jika network ini sebelumnya dilatih dengan data training set dalam jumlah yang besar. Sebagai gambaran jumlah pasangan data bisa berkisar 24 buah. Tulisan ini memang belum mengupas secara tuntas berbagai kelebihan dari cara baru ini. Namun tulisan awal ini bisa kemudian ditindaklanjuti dengan penelitian yang mendalam baik teknik maupun penerapannya untuk berbagai kasus dalam peramalan.

DAFTAR PUSTAKA Buffa, Elwood S., 1987, Modern Production/Operations Management, edisi ke-8, John Wiley & Sons, Singapore Dagli, Cihan H., 1994, Artificial Neural Networks for Intelligent Manufacturing, Chapman & Hall, United Kingdom, Hagan, Martin T., 1996, Neural Network Design, PWS Publishing Co., USA Riggs, James L., 1987, Production Systems - Planning, Analysis and Control, edisi ke-4, John Wiley & Sons, Singapore