Makalah JST
Makalah JST
Makalah JST
Pendahuluan
1.1 Latar Belakang Jaringan Syaraf Tiruan dibuat pertama kali pada tahun 1943 oleh neurophysiologist Waren McCulloch dan logician Walter Pits, namun teknologi yang tersedia pada saat itu belum mungkinkan mereka berbuat lebih jauh. Jaringan Syaraf Tiruan adalah paradigma pemrosesan suatu informasi yang terinspirasi oleh sistim sel syaraf biologi, sama seperti otak yang memproses suatu informasi. Elemen dasar dari paradigma tersebut adalah struktur yang baru dari sistim pemrosesan informasi. Jaringan Syaraf Tiruan, seperti manusia, belajar dari suatu contoh. Jaringan Syaraf Tiruan dibentuk untuk memecahkan suatu masalah tertentu seperti pengenalan pola atau klasifikasi karena proses pembelajaran. Jaringan Syaraf Tiruan berkembang secara pesat pada beberapa tahun terakhir. Jaringan Syaraf Tiruan telah dikembangkan sebelum adanya suatu computer konvensional yang canggih dan terus berkembang walaupun pernah mengalami masa vakum selama beberapa tahun. Jaringan Syaraf Tiruan keluar dari penelitian kecerdasan buatan, terutama percobaan untuk menirukan fault-tolerence dan kemampuan untuk belajar dari sistem syaraf biologi dengan model struktur low-level dari otak. Otak terdiri dari sekitar (10.000.000.000) sel syaraf yang saling berhubungan. Sel syaraf mempunyai cabang struktur input (dendrites), sebuah inti sel dan percabangan struktur output (axon). Axon dari sebuah sel terhubung dengan dendrites yang lain melalui sebuah synapse. Ketika sebuah sel syaraf aktif, kemudian menimbulkan suatu signal. Electrochemical pada axon Signnal ini melewati synapses menuju ke sel syaraf yang lain. Sebuah sel syaraf lain akan mendapatkan signal jika memenuhi batasan tertentu yang sering disebut dengan nilai ambang atau (threshold).
Jaringan Syaraf Tiruan memiliki pendekatan yang berbeda untuk memecahkan masalah bila dibandingkan dengan sebuah komputer konvensional. Umumnya komputer konvensional menggunakan pendekatan algoritma (komputer konvensional menjalankan sekumpulan perintah untuk memecahkan masalah). Jika suatu perintah tidak diketahui oleh komputer konvensional maka komputer konvensional tidak dapat memecahkan masalah yang ada. Sangat penting mengetahui bagaimana memecahkan suatu masalah pada komputer konvensional dimana komputer konvensional akan sangat bermanfaat jika dapat melakukan sesuatu dimana pengguna belum mengatahui bagaimana melakukannya. Jaringan Syaraf Tiruan dan suatu algoritma komputer konvensional tidak saling bersaing namun saling melengkapi satu sama lain. Pada suatu kegiatan yang besar, sistim yang diperlukan biasanya menggunakan kombinasi antara keduanya (biasanya sebuah komputer konvensional digunakan untuk mengontrol Jaringan Syaraf Tiruan untuk menghasilkan efisiensi yang maksimal. Jaringan Syaraf Tiruan tidak memberikan suatu keajaiban tetapi jika digunakan secara tepat akan menghasilkan sesuatu hasil yang luar biasa. JST dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi bahwa: Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron). Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung. Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal. Sejarah JST Jaringan syaraf tiruan sederhana pertama kali diperkenalkan oleh McCulloch dan Pitts di tahun 1943. McCulloch dan Pitts menyimpulkan bahwa kombinasi beberapa neuron sederhana menjadi sebuah sistem neural akan meningkatkan kemampuan komputasinya. Bobot dalam jaringan yang diusulkan oleh McCulloch dan Pitts diatur untuk melakukan fungsi logika sederhana. Fungsi aktivasi yang dipakai adalah fungsi threshold. Tahun 1958, Rosenblatt memperkenalkan dan mulai mengembangkan model jaringan yang disebut Perceptron. Metode pelatihan diperkenalkan untuk mengoptimalkan hasil iterasinya. Widrow dan Hoff (1960) mengembangkan perceptron dengan memperkenalkan aturan pelatihan jaringan, yang dikenal sebagai aturan delta (atau sering disebut kuadrat rata-rata terkecil). Aturan ini akan mengubah bobot perceptron apabila keluaran yang dihasilkan tidak sesuai dengan target yang diinginkan. Selain itu, beberapa model jaringan
syaraf tiruan lain juga dikembangkan oleh Kohonen (1972), Hopfield (1982), dll. Pengembangan yang ramai dibicarakan sejak tahun 1990an adalah aplikasi model-model jaringan syaraf tiruan untuk menyelesaikan berbagai masalah di dunia nyata. Jaringan Syaraf Tiruan ditentukan oleh tiga hal : Pola hubungan antar neuron (disebut arsitektur jaringan) Metode untuk menentukan bobot penghubung (disebut metode learning/training) Fungsi aktivasi Arsitektur Jaringan Beberapa arsitektur jaringan yang sering dipakai dalam jaringan syaraf tiruan antara lain :
1. Jaringan Lapisan Tunggal (single layer network)
Dalam jaringan ini, sekumpulan input neuron dihubungkan langsung dengan sekumpulan outputnya. Dalam beberapa model (misal perceptron), hanya ada sebuah unit neuron output. 2. Jaringan Lapisan Jamak (multi layer network) Jaringan layar jamak merupakan perluasan dari layar tunggal. Dalam jaringan ini, selain unit input dan output, ada unit-unit lain (sering disebut layar tersembunyi / hidden layer). Dimungkinkan pula ada beberapa layar tersembunyi. Sama seperti pada unit input dan output, unit-unit dalam satu layar tidak saling berhubungan. 3. Jaringan Recurrent Model jaringan reccurent mirip dengan jaringan layar tunggal ataupun ganda. Hanya saja, ada neuron output yang memberikan sinyal pada unit input (sering disebut feedback loop) 1.2 Perumusan Masalah
a) Bagaimana merancang aplikasi jaringan syaraf tiruan untuk prediksi jumlah penjualan
makanan kaleng selama dua tahun terakhir dengan menggunakan metode backpropagation? b) Seberapa besar tingkat keakuratan ramalan yang dihasilkan oleh jaringan syaraf tiruan backpropagation?
1.3 Batasan Masalah Adapun batasan masalah dari perancangan ini adalah :
1. Menggunakan matlab versi 7.6 dengan metode backpropagation. 2. Model backpropagation yang dibuat digunakan untuk memprediksi jumlah produk
Tujuan
Adapun tujuan dari perancangan ini adalah : a. Agar dapat memprediksi jumlah produk yang terjual b. Agar dapat memahami bagaimana metode backpropagation dapat melakukan suatu prediksi. 1.5 Manfaat
Manfaat dari perancangan ini adalah menemukan metode untuk memprediksi jumlah produk yang terjual bulan depan.
Dalam propagasi maju, setiap sinyal masukan dipropagasi (dihitung maju) ke layar tersembunyi hingga layar keluaran dengan menggunakan fungsi aktivasi yang ditentukan. 2. Fase 2, yaitu propagasi mundur. Kesalahan (selisih antara keluaran jaringan dengan target yang diinginkan) yang terjadi dipropagasi mundur mulai dari garis yang berhubungan langsung dengan unit-unit di layar keluaran.
3. Fase 3, yaitu perubahan bobot. Pada fase ini dilakukan modifikasi bobot untuk menurunkan kesalahan yang terjadi. Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian dipenuhi. 2.2 Momentum Dalam backpropagation, standar perubahan bobot didasarkan atas gradien yang terjadi Untuk pola yang dimasukkan saat itu. Modifikasi dilakukan dengan merubah bobot yang didasarkan atas arah gradien pola terakhir dan pola sebelumnya (momentum) yang dimasukkan. Jadi perhitungannya tidak hanya pola masukan terakhir saja. Momentum ditambahkan untuk menghindari perubahan bobot yang mencolok akibat adanya data yang sangat berbeda dengan data yang lain. Jika beberapa data terakhir yang diberikan ke jaringan memiliki pola serupa (berarti arah gradien sudah benar), maka perubahan bobot dilakukan secara cepat. Namun jika data terakhir yang dimasukkan memiliki pola yang berbeda dengan pola sebelumnya, maka perubahan bobot dilakukan secara lambat. Dengan penambahan momentum, bobot baru pada waktu ke (t+1) didasarkan atas bobot pada waktu t dan (t-1). Disini harus ditambahkan dua variabel yang mencatat besarnya momentum untuk dua iterasi terakhir. Jika adalah konstanta (0 = = 1) yang menyatakan parameter momentum maka bobot baru dihitung berdasarkan persamaan berikut ini:
2.3 Aplikasi Backpropagation Dalam Peramalan Peramalan adalah salah satu bidang yang paling bagus dalam mengaplikasikan metode backpropagation. Secara umum, masalah peramalan dapat dinyatakan dengan sejumlah data runtun waktu (time series) x1, x2,..., x. Masalahnya adalah memperkirakan berapa harga xn+1 berdasarkan x1, x2,..., xnn. Jumlah data dalam satu periode (misalnya satu tahun) pada suatu
kasus dipakai sebagai jumlah masukan dalam backpropagation. Sebagai targetnya diambil data bulanan pertama setelah periode berakhir. Langkah-langkah membangun struktur jaringan untuk peramalan sebagai berikut : 1. Transformasi Data Dilakukan transformasi data agar kestabilan taburan data dicapai dan juga untuk menyesuaikan nilai data dengan range fungsi aktivasi yang digunakan dalam jaringan. Jika ingin menggunakan fungsi aktivasi sigmoid (biner), data harus ditransformasikan dulu karena range keluaran fungsi aktivasi sigmoid adalah [0.1]. Data bisa ditransformasikan ke interval [0.1]. Tapi akan lebih baik jikan ditransformasikan keinterval yang lebih kecil, misalnya pada interval [0.1,0.9], karena mengingat fungsi sigmoid nilainya tidak pernah mencapai 0 ataupun 1. Untuk mentransformasikan data ke interval [0.1,0.9] dilakukan dengan transformasi linier sebagai berikut :
Dengan transformasi ini, maka data terkecil akan menjadi 0,1 dan data terbesar akan menjadi 0,9. 2. Pembagian Data Pembagian data dilakukan dengan membagi data penelitian menjadi data pelatihan dan pengujian. Komposisi data pelatihan dan pengujian bisa dilakukan dengan trial and error, namun komposisi data yang sering digunakan adalah sebagai berikut.
90% untuk data pelatihan dan 10% untuk data pengujian. 80% untuk data pelatihan dan 20% untuk data pengujian. 70% untuk data pelatihan dan 30% untuk data pengujian. Dan seterusnya
Proses pembagian data ini sangat penting, agar jaringan mendapat data pelatihan yang secukupnya. Jika data yang dibagi kurang dalam proses pelatihan maka akan menyebabkan jaringan mungkin tidak dapat mempelajari taburan data dengan baik. Sebaliknya, jika data yang dibagi terlalu banyak untuk proses pelatihan maka akan melambatkan poses pemusatan (konvergensi). Masalah overtraining (data pelatihan yang berlebihan) akan memyebabkan jaringan cenderung untuk menghafal data yang dimasukan daripada mengeneralisasi. 3. Perancang Arsitektur Jaringan Yang Optimum Menentuan jumlah simpul masukan, simpul lapisan tersembunyi, simpul lapisan tersembunyi berikutnya dan simpul keluaran yang akan digunakan dalam jaringan. Penentuan ini dilakukan dengan trial and error.
4. Pemilihan Koefisien Pemahaman dan Momentum
Dalam hal ini pemilihan koefisien pemahaman dan momentum mempunyai peranan yang penting untuk struktur jaringan yang akan dibangun. Dalam membangun jaringan yang akan digunakan dalam peramalan, hasil keputusan yang kurang memuaskan dapat diperbaiki dengan penggunaan koefisien pemahaman dan momentum secara trial and error untuk mendapatkan nilai bobot yang paling optimum agar MAPE dan MSE jaringan dapat diperbaiki. 5. Memilih dan Menggunakan Arsitektur Jaringan yang Optimum Tingkat keakuratan ramalannya akan dinilai setelah jaringan dibangun. Jaringan yang optimum dinilai dengan melihat nilai MSE (Mean Square Error) terkecil. 6. Pemilihan jaringan optimum dan penggunaannya untuk peramalan. Jaringan dengan nilai MSE terkecil dipilih sebagai jaringan yang optimum untuk digunakan dalam peramalan. 2.3 Metode Deret Berkala Dalam statistika dan pemrosesan sinyal, deret berkala adalah rangkaian data yang berupa nilai pengamatan (observasi) yang diukur selama kurun waktu tertentu, berdasarkan waktu dengan interval yang uniform sama. Beberapa contoh data deret berkala adalah produksi total tahunan produk pertanian indonesia, harga penutupan harisan sebuah saham di pasar modal untuk kurun waktu satu bulan, suhu udara per jam, dan penjualan total bulanan sebuah pasar swalayan dalam waktu satu tahun dan lain sebagainya. Deret berkala (time series) adalah data yang ditampilkan berdasarkan waktu, seperti data bulanan, data harian, data mingguan atau jenis waktu yang lain. Ciri data deret berkala
adalah adanya rentang waktu tertentu, bukannya data pada satu waktu tertentu. Tujuan dari metode deret berkala adalah untuk menggolongkan data, memahami sistem serta melakukan peramalan berdasarkan sifatnya untuk masa depan. Persamaan dan kondisi awal dalam peramalan runtun waktu mungkin diketahui kedua-duanya atau mungkin saja hanya salah satunya. Sehingga dibutuhkan suatu yang digunakan untuk menentukan perkembangan dan keakuratan sistem. Penentuan aturan tersebut mungkin mengacu dari pencocokkan data masa lalu. Untuk memilih suatu metode yang tepat yang digunakan dalam mengolah data deret berkala adalah dengan mempertimbangkan jenis pola data, sehingga metode yang paling tepat dengan pola tersebut dapat diuji. Pola data dapat dibagi menjadi empat yaitu sebagai berikut : 1. Pola trend, yaitu pola data yang terjadi jika kecenderungan arah data dalam jangka panjang. Trend dapat saja menaik, tetap atau menurun 2. Pola siklis, pola data yang terjadi jika datanya dipengaruhi oleh faktor ekonomi jangka panjang seperti berhubungan dengan siklus bisnis.. Musiman tersebut bisa saja triwulan, kwartalan, bulanan, atau mingguan 3. Pola musiman, terjadi fluktuasi data secara periodik dalam jangka waktu satu tahun
4. Pola irregular atau acak, pola data yang terjadi jika terdapat kejaidian yang tidak
terduga dan bersifat random. Kejadiannya dapat berupa gempa bumi, perang, terorisme atau kejadian tidak terduga lainnya. Analisis Deret Berkala Analisis deret berkala (time series analysis) merupakan metode yang mepelajari deret berkala, baik dari segi teori yang menaunginya maupun untuk membuat peramalan. Peramalan deret waktu adalah penggunaan model untuk memprediksi nilai di waktu mendatang berdasarkan peristiwa yang telah terjadi. Di dunia bisnis, data deret waktu digunakan sebagai bahan acuan pembuatan keputusan sekarang, untuk proyeksi, maupun untuk perencanaan di masa depan.
Bab 3. Perancangan
3.1
Salah satu bidang dimana backpropagation dapat di aplikasikan dengan baik adalah bidang peramalan (forecasting). Sebagai contoh dalam penjualan barang, di ketahui record data penjualan suatu produk pada beberapa bulan atau tahun terakhir. Masalahnya adalah memperkirakan, berapa perkiraan produk yang terjual dalam bulan atau tahun yang akan datang. Dengan backpropagation, record data dipakai sebagai data pelatihan untuk mencari bobot yang optimal. Untuk itu kita perlu menetapkan besar nya periode dimana data berfluktuasi periode ini kita tentukan secara intuitif. Jumlah data dalam satu periode ini di pakai sebagai jumlah masukan dalam backpropagation. Sebagai targetnya diambil data bulan pertama setelah periode berakhir. Pada data bulanan dengan periode satu tahun, maka masukkan backpropagation yang dipakai terdiri dari 12 masukan keluaran adalah satu unit. Bagian tersu;lit adalah menentukan jumlah layar dan unit nya. Tidak ada teori yang dengan pasti dapat dipakai. Tapi secara praktis di coba jaringan yang kecil terlebih dahulu (misal terdiri dari satu layar tersembunyi dengan beberapa unit saja). Jika gagal (kesalahan tidak turun dalam epoch yang besar), maka jaringan diperbesar dengan menambahkan unit tersembunyi atau bahkan menambahkan layar tersembunyi.