HIBRIDISASI ARTIFICIAL NEURAL NETWORK DAN GENETIC ALGORITHM DALAM PENENTUAN HARGA PRODUK PADA INDUSTRI MOBIL Muhammad Najib1, Yudhi Purwananto2, Rully Soelaiman3 Teknik Informatika, Fakultas Teknologi Informasi, ITS email :
[email protected],
[email protected],
[email protected]
Pengembangan teknologi kecerdasan buatan mulai digunakan untuk mencari solusi dari penentuan harga di berbagai industri. Sebagai contoh adalah penggunaan dynamic programming dan fuzzy logic dalam penentuan real-time pricing. Utilisasi neural network dalam berbagai industri yang ditujukan untuk mencari nilai harga yang tepat juga telah banyak berkembang. Neural network berbasis pada fitur-fitur teknikal dari mobil dapat memudahkan penentuan kesepakatan harga antara pengguna dan produsen. Neural network yang sering digunakan adalah multilayer perceptron dengan connection weight training umumnya menggunakan algoritma pembelajaran backpropagation. Meskipun penggunaan algoritma pembelajaran ini cukup populer digunakan dalam neural network training, back-propagation memiliki beberapa kelemahan. Antara lain adalah dependensi terhadap inisialisasi connection weight, konvergensi global optimum tidak selalu tercapai, serta kemungkinan untuk terjebak dalam local minima. Genetic Algorithm digunakan membantu pembelajaran jaringan back-propagation dengan menentukan inisialisasi connection weight dan bias untuk kemudian difinalisasi dengan back-propagation.
ABSTRAKSI Penentuan harga produk pada industri mobil adalah suatu hal yang sulit baik dari sisi produsen maupaun pengguna. Pengembangan suatu alat yang mampu membantu menentukan kisaran harga berdasarkan fitur teknis dan fisis mobil akan memberikan kemudahan bagi produsen dan pengguna. Berbagai metoda dikembangkan untuk memecahkan masalah ini. Salah satu metoda yang terkenal adalah dengan menggunakan neural network. Untuk membantu penentuan harga mobil, dalam tugas akhir ini digunakan metoda neural network yang dihibridisasi dengan genetic algorithm untuk evolusi connection weight. Metodologi penggabungan keduanya adalah dengan menggunakan teknik real –valued encoding untuk merepresentasikan connection weight sebagai satu kromosom. Ada dua asumsi dasar yang digunakan dalam tugas akhir ini. Pertama adalah keadaan permintaan dan pasokan pasar berada pada titik kesetimbangan dan tidak memiliki efek positif maupun negatif terhadap penentuan harga. Kedua adalah data set merepresentasikan keseluruhan pasar. Kata kunci: Jaringan saraf tiruan, algoritma genetika, pengkodean nilai riil, prediksi harga
1
2
PENDAHULUAN
DATA SET
Data set yang digunakan dalam tugas akhir ini terdiri atas 16 tipe entitas dengan jumlah sampel sebanyak 159. Data set ini dapat diunduh dari situs The Laboratory of Artificial Intelligence and Computer Science (http://www.liacc.up.pt/~ltorgo/Regression/DataSets.html) 15 entitas pertama dari data set adalah adalah entitas input dan entitas terakhir merupakan entitas target. Secara singkat penjelasan dari 16 entitas tersebut adalah sebagai berikut: Symboling menunjukkan tingkat resiko suatu mobil terhadap harganya. Setiap mobil diberikan faktor resiko yang berkaitan dengan harganya. Jika sebuah mobil memiliki tingkat resiko yang tinggi, maka nilai symboling dinaikkan, begitu juga sebaliknya. Nilai +3 menunjukkan
Penentuan harga adalah kunci penting dalam pasar industri otomotif yang semakin global dan kompetitif tiap tahunnya. Kepentingan produsen adalah untuk menentukan harga yang tepat sehingga tidak memberatkan pengguna dan menyebabkan penjualan menurun sekaligus juga mendapatkan profit yang proporsional untuk setiap produk yang terjual. Tetapi pada prakteknya penentuan harga tidak dapat diselesaikan secara sederhana dan linier karena banyak faktor fisis dari mobil yang dapat mempengaruhi harga. Volume silinder, dimensi kendaraan, jarak tempuh untuk setiap liter bahan bakar yang dikonsumsi adalah beberapa faktor yang berpengaruh terhadap harga mobil.
1
sebuah mobil memiliki resiko yang besar, sedangkan -3 resiko cukup kecil. Normalized losses menunjukkan rata-rata relatif pembayaran kerugian untuk setiap kendaran per tahun. Nilai ini dinormalisasi untuk semua kendaraan berdasarkan ukuran dan merepre-sentasikan kerugian ratarata untuk tiap kendaraan per tahun. Wheel-base adalah jarak antara titik tengah sumbu roda depan dan roda belakang. Length adalah panjang kendaraan dari ujung belakang sampai depan. Width adalah lebar kendaraan. Height adalah tinggi kendaraan. Curb-weight menunjukkan total berat kendaraan dengan kelengkapan standard, pelumas mesin, cairan pendingin mesin, tangki bensin terisi penuh dan tidak terdapat penumpang di dalamnya. Engine-size merupakan kombinasi besar isi seluruh silinder mesin. Bore merupakan diameter dari silinder pada mesin. Stroke adalah panjang langkah piston di dalam silinder mesin. Compression-ratio adalah rasio antara volume ruang bakar dengan silinder ketika piston berada pada dasar langkahnya dan volumenya ketika piston berada pada ujung atas langkahnya. Semakin tinggi rasio kompresi berarti lebih besar energi mekanis yang dapat dihasilkan dari percampuran antara udara dan bahan bakar. Horsepower adalah satuan tenaga yang digunakan dalam industri mobil. Menunjukkan tenaga maksimum yang dapat dihasilkan oleh suatu mesin. City mpg adalah jarak yang dapat ditempuh untuk setiap gallon bahan bakar pada pengendaraan di dalam kota. Semakin tinggi nilainya berarti semakin ekonomis. Highway mpg adalah jarak yang dapat ditempuh untuk setiap gallon bahan bakar pada pengendaraan di jalan raya. Peak-rpm merepresentasikan jumlah putaran maksimum mesin dalam setiap menitnya. Price merupakan harga mobil.
Seperti yang ditunjukkan oleh Gambar 1, setiap neuron dalam jaringan bekerja dengan menjumlahkan seluruh input yang telah dikalikan oleh connection weight dan diolah oleh fungsi aktivasi (transfer function). Pada tugas akhir ini digunakan fungsi tansig (tangentsigmoidal) untuk hidden layer dan output layer. Input berjumlah 15, hidden layer 1 30, hidden layer 2 30, dan 1 output. Untuk setiap neuron pada hidden layer 1 outputnya dapat dihitung dengan persamaan (1). Dimana xi adalah nilai dari variabel input, wji adalah connection weight antara input layer dan hidden layer 1, sedangkan wj0 adalah nilai bias. Variabel m merupakan jumlah input yaitu 15. Kemudian untuk setiap neuron pada hidden layer 2 dapat dihitung outputnya dengan menggunakan persamaan (2). Dimana xj adalah nilai dari neuron ke-j pada hidden layer 1, wkj adalah connection weight antara hidden layer 1 dan hidden layer 2, sedangkan wk0 adalah nilai bias. Variabel n merupakan jumlah neuron pada hidden layer 1 yaitu 30.
Gambar 1 Topologi ANN
m
3
x j = tan sig (∑ xi w ji +w j 0 )
MODEL ARTIFICIAL NEURAL NETWORK
(1)
i =1
Jaringan yang digunakan dalam tugas akhir ini terdiri dari sebuah layer input dengan, dua hidden layer dan satu output layer seperti yang ditunjukkan Gambar 1. Jumlah hidden layer dan jumlah neuron dalam hidden layer ditentukan menggunakan metoda trial-and-error seperti yang umumnya digunakan dalam perancangan artificial neural network (Abrahart & See, 2000; Pan & Wang, 2004; Shamseldin, 1997; Zealand et al., 1999).
n
xk = tan sig (∑ x j wkj +wk 0 )
(2)
k =1
Kemudian Untuk menghitung output menggunakan persamaan (3). Dimana xk adalah nilai dari neuron ke-k pada hidden layer 2, wlk adalahconnection weight antara
2
hidden layer 2 dan output layer, sedangkan wl0 adalah nilai bias.Variabel o merupakan jumlah neuron pada hidden layer 2 yaitu 30.
nilai optimal atau aproksimasi nilai optimal dari connection weight dan bias untuk jaringan, kemudian menggunakan back-propagation sebagai finalisasi connection weight. Diagram alir langkah-langkah hibridisasi GA dan ANN ditunjukkan oleh Gambar 2.
o
yˆ = tan sig (∑ xk wlk +wl 0 )
(3)
l =1
ˆ
Nilai dari y kemudian dibandingkan dengan output target dari data set yang ingin dicapai. Perbedaan output kemudian dijumlahkan untuk menghasilkan fungsi error E yang didefinisikan oleh persamaan (4) sebagai berikut
E=
1 n ∑ ( y p − yˆ p ) 2 p =1
(4)
Dimana n adalah banyaknya sampel yang terdapat pada data set. Melalui proses training diharapkan jaringan dapat belajar atau mengeneralisasi hubungan non-linier yang memetakan antara input dan output sehingga dapat memeberikan nilai estimasi yang mendekati.
4
METODA DAN LANGKAH HIBRIDISASI GA DAN ANN Gambar 2 Diagram alir hibridisasi GA - ANN
Dalam menggabungkan antara GA dan ANN untuk training connection weight terdapat tiga langkah utama. Langkah pertama adalah menentukan representasi dari connection weight. Apakah kita akan menggunakan jenis encoding biner atau secara langsung menggunakan nilai riil. Pada tugas akhir ini digunakan encoding nilai riil karena penggunaan encoding biner atau yang disebut juga dengan simple genetic algorithms (SGA) akan menimbulkan kesulitan yang disebabkan oleh luasnya ruang solusi dari optimasi connection weight. Oleh karena itu diusulkan untuk menggunakan encoding nilai riil untuk menghindari kelemahan dari SGA. Langkah kedua adalah kalkulasi nilai fitness dari connection weight dengan membangun dan mengimplementasikan pada jaringan. Fungsi objektif digunakan adalah persamaan (4). Langkah ketiga adalah dengan menjalankan proses evolusi dengan operator-operator genetika seperti selection, crossover, dan mutasi berdasarkan pada nilai fitness. Proses evolusi berhenti ketika kondisi terminasi tercapai. Proses hibrid pembelajaran jaringan terdiri dari dua bagian. Pertama adalah menggunakan GA untuk mencari
Pertama-tama adalah melakukan inisialisasi terhadap initial population yang terdiri atas connection weight antara input layer dan hidden layer 1 direpresentasikan oleh sebuah matriks dengan ukuran 30 x 15. Kemudian connection weight antara hidden layer 1 dan hidden layer 2 direpresentasikan oleh matriks berukuran 30 x 30. Terakhir connection weight antara hidden layer 2 dan output layer direpresentasikan oleh matriks berukuran 1 x 30. Sehingga total connection weight adalah penjumlahan banyaknya elemen dari ketiga matriks tersebut yaitu (30*15) + (30*30) + (1*30)=1380. Selain itu juga disertakan seluruh nilai bias yang berjumlah 30 + 30 + 1= 61. Maka total gen dalam satu kromosom sebanyak 1380 + 61 = 1441. Ilustrasi penempatan masing-masing gen pada kromosom terdapat pada Gambar 3. Setelah proses inisialisasi selesai maka nilai fitness untuk tiap kromosom akan dihitung total mean square error dengan menggunakan persamaan (4). Langkah selanjutnya adalah melakukan seleksi untuk mengekstraksi kromosom yang akan digunakan untuk menghasilkan generasi selanjutnya. Pada tugas akhir ini digunakan roulette wheel dan tournament selection yang berbasis pada ranking fitness relatif terhadap seluruh
3
populasi. Generasi selanjutnya dihasilkan dengan menjalankan operator genetika crossover dan mutation terhadap kromosom-kromosom yang terpilih. Kemudian hasil dievaluasi nilai fitnessnya. Prosedur tersebut diulangi hingga kondisi terminasi tercapai.
CF = 0.9 Roulette CF = 0.9 T’ment
3411485.61
2726796.41
75.83
152.72
4364195.73
3941082.61
1988.28
1951.28
Dari keempat uji coba dapat dilihat bahwa penambahan jumlah populasi berakibat bertambahnya waktu komputasi pada optimisasi genetic algorithm. Tetapi pertambahan waktu komputasi juga diikuti dengan perbaikan pada fitness.
5.2
Gambar 3 Penentuan lokasi weight Dasar dari GA adalah perkembangan kontinu dari nilai fitness dari populasi dengan menggunakan operator genetika. Dengan demikian connection weight dan bias ANN diinisialiasi kembali dengan menggunakan kromosom terbaik hasil dari optimasi GA. Proses ini kemudian difinalisasi dengan menggunakan training backpropagation.
5
Tabel 2 Pengaruh crossover fraction Param
Fitness CF = 0.8
PS = 20 roulette PS = 20 T’ment PS = 50 Roulette PS = 50 T’ment
UJI COBA DAN EVALUASI
Pada bagian ini dijelaskan mengenai skenario uji coba yang akan dilakukan. Skenario uji coba yang akan dilakukan adalah dengan mengubah kondisi parameter yang akan digunakan dalam aplikasi, kemudian membandingkan hasil running dan outputnya. Hasil-hasil yang dibandingkan meliputi nilai fitness, waktu komputasi, MSE dan RMSE.
5.1
Uji coba pengaruh crossover fraction
Pada uji coba kedua akan dilakukan 4 perbandingan sesuai dengan kesamaan parameter selain crossover fraction (CF). Uji coba menggunakan 3 kali replikasi kemudian diambil rata-ratanya.
CF = 0.9
Waktu (s) CF = 0.8 CF = 0.9
4203828.48
3411485.61
63.01
75.83
4153947.52
4554530.68
63.54
64.31
4018016.84
2726796.41
152.47
152.72
3315268.13
3189875.14
200.02
184.18
Secara umum, peningkatan crossover fraction dari 0.8 menjadi 0.9 memberikan peningkatan pada nilai fitness. Peningkatan signifikan terjadi dengan parameter population size = 50 dan selection rank – roulette (tabel 4.13). peningkatan crossover fraction tidak memberikan perubahan terhadap waktu komputasi genetic algorithm.
5.3
Uji coba pengaruh population size
Pada uji coba pertama akan dilakukan 4 perbandingan sesuai dengan kesamaan parameter selain population size. Uji coba menggunakan 3 kali replikasi kemudian hasilnya dirata-rata. Perbandingan ditunjukkan oleh table 1.
Uji coba pengaruh selection
Pada uji coba ketiga akan dilakukan 4 perbandingan sesuai dengan kesamaan parameter selain selection. Uji coba menggunakan 3 kali replikasi kemudian diambil rataratanya. Tabel 3 Pengaruh selection
Tabel 1 Pengaruh population size Param
CF = 0.8 roulette CF = 0.8 T’ment
Param
Fitness Size = 20
Size = 50
4203828.48
4018016.84
Waktu (s) Size = Size = 20 50 63.01 152.46
4153947.52
3315268.13
63.54
PS = 20 CF = 0.8 PS = 20 CF = 0.9 PS = 50 CF = 0.8
200.02
4
Fitness Roulette
T’ment
Waktu (s) Roulette T’ment
4203828.48
4153947.52
63.01
63.54
3411485.61
4554530.68
75.83
64.31
4018016.84
3315268.13
152.47
200.02
3 4 5 6 7 8
184.18
Untuk jumlah populasi yang kecil (population size = 20) perbedaan jenis selection tidak memberikan perubahan yang berarti terhadap waktu komputasi. Tetapi untuk jumlah populasi yang lebih besar (population size = 50) perbedaan selection memberikan perubahan terhadap waktu komputasi. Meskipun selection tournament memerlukan waktu komputasi yang lebih besar, tetapi teknik ini melakukan optimisasi fitness dengan slope yang relatif lebih tajam dibandingkan dengan teknik roulette. Perbandingan dapat dilihat pada Gambar 4 dan Gambar 5.
3315268.13 3411485.61 4018016.84 4153947.52 4203828.48 4554530.68
4387842.73 4364195.73 4914767.33 8307895.04 3622680.12 8851985.80
4554530,68
4203828,48
4153947,5…
10000000,00 8000000,00 6000000,00 4000000,00 2000000,00 0,00 2726796,41
Nilai MSE
Dari tabel 4 kemudian dibuat suatu plot yang menunjukkan hubungan antara nilai fitness dan MSE pada Gambar 6.
4018016,84
152.72
3411485,6…
3189875.14
3315268,1…
2726796.41
3189875,14
PS = 50 CF = 0.9
Nilai Fitness Gambar 6 Grafik plot hubungan nilai fitness dan MSE Gambar 4 Grafik nilai fitness teknik roulette Dari grafik plot dapat dilihat slope trend dari grafik menunjukkan semakin tinggi nilai fitness maka akan menghasilkan nilai MSE yang semakin tinggi, begitu juga sebaliknya, semakin rendah nilai fitness maka akan menghasilkan nilai MSE yang semakin rendah.
6
Dari uji coba yang telah dilakukan dan setelah menganalisis hasil pengujian terhadap implementasi genetic algorithm untuk optimisasi connection weight dan bias dapat diambil beberapa kesimpulan antara lain: 1. Aplikasi genetic algorithm dalam optimisasi connection weight dan bias artificial neural network dapat membantu dalam penentuan harga mobil berdasarkan fitur-fitur fisis dan mekanis mobil. 2. Penggunaan real-valued encoding dapat merepresen-tasikan connection weight dan bias dengan baik. 3. Penambahan jumlah populasi akan memberikan hasil optimisasi yang lebih baik, tetapi juga diikuti dengan penambahan waktu komputasi seperti yang ditunjukkan oleh uji coba 1. 4. Peningkatan nilai crossover fraction memberikan efek positif terhadap peningkatan nilai fitness jika populasi memiliki jumlah yang
Gambar 5 Grafik nilai fitness teknik tournament
5.4
Uji coba kecenderungan pengaruh nilai fitness terhadap MSE
Pada uji coba keempat dilakukan perbandingan antara nilai fitness dan MSE dari simulasi jaringan. Nilai-nilai yang digunakan dalam uji coba ini merupakan hasil ratarata dari 3 kali replikasi untuk setiap simulasi dengan parameter yang sama. Ada 8 jenis simulasi dengan parameter yang berbedabeda yang telah diurutkan dari kecil ke besar dengan rincian pada tabel 4 berikut:
Simulasi 1 2
KESIMPULAN
Tabel 4 Rata-rata fitness dan MSE Nilai Fitness MSE 2726796.41 3941082.61 3189875.14 2697062.57
5
5.
6.
cukup banyak seperti yang terjadi pada uji coba 2. Untuk populasi yang besar, penggunaan selection rank – tournament membutuhkan waktu yang lebih besar, tetapi juga diikuti dengan peningkatan performa optimisasi. Secara umum, nilai fitness berbanding lurus dengan nilai MSE hasil simulasi.
Castillo, P. A., Merelo, J. J., Prieto, A., Rivas, V., & Romero, G. (2000). G-prop: Global optimization of multilayer perceptrons using gas. Neurocompution, 35, 149–163. Hansen, J. V., McDonald, J. B., & Nelson, R. D. (1999). Time series prediction with genetic algorithm designed neural networks: An experimental comparison with modern statistical models. Computational Intelligence, 15(3), 171–184. Potter, S. R., Miller, M. C., & Mangold, L. A. (1999). Genetically engineered neural networks for predicting prostate cancer progression after radical prostatectomy. Urology, 54, 791–795. Dybowski, R., Weller, P., Chang, R., & Gant, V. (1997). Prediction of outcome in critically ill patients using artificial neural network synthesised by genetic algorithm. Lancet, 347, 1146–1150. Abrahart, R. J., & See, L. (2000). Comparing neural network and autoregressive moving average techniques for the provision of continuous river flow forecasts in two contrasting catchments. Hydrological Process, 14, 2157–2172.
REFERENSI Ali Iseri & Bekir Karlik. (2009). An artificial neural network approach on automobile pricing. Expert Systems with Applications, 36, 2155-2160. Sedki, A., Ouazar, D., & El Mazoudi, E., (2009). Evolving neural network using real coded genetic algorithm for daily rainfall-runoff forecasting. Expert Systems with Applications, 36, 4523-4527. Li, T. S., Su, C. T., & Chiang, T. L. (2003). Applying robust multiresponse quality engineering for parameter selection using a novel neural-genetic algorithm. Computers in Industry, 50, 113–122.
6