Support Vector Regression (SVR)
Support Vector Regression (SVR) merupakan suatu metode SVM yang diterapkan pada kasus regresi. Menurut
(Scholkopt dan Smola, 2012), SVR bertujuan untuk menemukan sebuah fungsi f(x) sebagai suatu hyperplane (garis
pemisah) berupa fungsi regresi yang mana sesuai dengan semua input data dengan membuat error (ε) sekecil
mungkin. Menurut Santoso (2007), misalkan dipunyai l set data training, ( Xi, Yi) , i = 1,2,…,l dimana Xi
merupakan vektor input dan output
skalar dan l adalah banyaknya data training. Dengan metode SVR diperoleh fungsi
regresi sebagai berikut
Menurut Rezzy et al. (2017), Agar mendapatkan generalisasi yang baik untuk fungsi regresi f(x), dapat dilakukan
dengan cara meminimalkan norm dari w. Oleh karena itu perlu adanya penyelesaian problem optimasi:
Pada persamaan (2) diasumsikan bahwa semua titik berada dalam rentang Dalam hal ketidaklayakan
(infesiable), dimana ada beberapa titik yang mungkin keluar dari rentang sehingga dapat ditambahkan
variabel untuk mengatasi masalah pembatas yang tidak layak dalam masalah optimasi (Santoso, 2007).
Gambar 1. (a) SVR output dan (b) ε-insensitive loss function
Gambar 1 menjelaskan bahwa semua titik di luar margin akan dikenai pinalti sebesar C. Selanjutnya, masalah
optimasi di atas dapat diformulasikan sebagai berikut:
C. Loss Function
Menurut Gunn (1998), loss function merupakan fungsi yang menunjukkan hubungan antara error dengan
bagaimana error ini dikenai pinalti. Perbedaan loss function akan menghasilkan formulasi SVR yang berbeda
(Santoso, 2007). Menurut Amanda (2014), loss function yang paling sederhana ε-insensitive loss
function. Formulasi ε-insensitive loss function sebagai berikut:
D. Fungsi Kernel
Menurut Desy (2015), permasalahan yang ada di dunia nyata merupakan permasalahan yang memiliki pola nonlinier
sehingga untuk mengatasi masalah ketidaklinieran dapat menggunakan fungsi kernel.
Menurut Dewi et. al (2012), fungsi kernel yang digunakan pada metode SVR sebagai berikut:
E. Ukuran Kesalahan
Menurut Makridakis et. al (1999), ukuran-ukuran kesalahan (error) yang digunakan untuk menunjukkan keefektifan
suatu peramalan. Salah satu ukuran kesalahan yang digunakan, yaitu Mean Absolute Percentage Error (MAPE)
yang dirumuskan:
F. Langkah-langkah Peramalan Menggunakan SVR:
1. Membagi data runtun waktu (time series) menjadi dua, yaitu data training dan testing.
2. Menentukan jenis fungsi kernel dan loss function yang digunakan untuk peramalan.
3. Menentukan nilai dari C dan parameter kernel.
4. Mencari nilai beta dan bias.
5. Melakukan peramalan terhadap data testing.
6. Menghitung nilai MAPE (Mean Absolute Percentage Error).
7. Menentukan fungsi kernel, loss function, dan parameter terbaik, dimana fungsi kernel, loss function, dan
parameter terbaik tersebut menghasilkan MAPE terkecil.
8. Melakukan peramalan ke depan menggunakan fungsi kernel, loss function, dan parameter terbaik
Algoritma SVR (Support Vector Regression) adalah salah satu algoritma yang digunakan untuk
pengambilan keputusan. Contoh yang dibahas kali ini adalah menentukan hasil jual tipe sepeda
motor baru berdasarkan kelompok data yang sudah ada.
Algoritma ini dapat dikatakan sebagai perbaikan dari Regresi Linier / Analisis Regresi. Jika regresi
linier menghasilkan sebuah fungsi dengan hasil linier / garis lurus, maka algoritma ini dapat
menghasilkan sebuah fungsi dengan hasil yang bergelombang mengikuti jalur data yang terbentuk,
sehingga prediksi yang didapatkan menjadi lebih akurat dibandingkan dengan regresi linier.
Support Vector Regression
(SVR)
Dengan menggunakan
yang diperkenalkan oleh
Vapnik,
SVM bisa digeneralisasi
untuk
melakukan pendekatan fungsi
(function approximation) atau
regresi. Didasarkan pada teori
Structural Risk Minimization
untuk mengestimasi suatu
fungsi
dengan cara meminimalkan
batas
atas dari generalization Error
yperplane (Duda dan Hart
tahun
1973, Cover tahun 1965,
Vapnik
1964, dsb.), kernel
diperkenalkan
oleh
Aronszajn tahun 1950, dan
demikian
juga dengan konsep-konsep
pendukung yang lain. Akan
tetapi
hingga tahun 1992, belum
pernah
ada upaya merangkaikan
komponen-
komponen tersebut.
Konsep SVM dapat
dijelaskan secara sederhana
sebagai
usaha mencari hyperplane
terbaik
yang berfungsi sebagai
pemisah dua
buah class pada input space.
Konsep
SVM tersebut bekera denga
prinsip
Structural Risk Minimization
(SRM),
dengan tujuan menemukan
hyperplane terbaik yang dapat
memisahkan data ke dalam dua
buah
kelas di dalam sebuah ruang
fitur
(feature space) berdimensi
tinggi.
Gambar 3. SVM
Hyperplane
Terbaik (Nugroho, 2008)
5. Support Vector
Regression
(SVR)
Dengan menggunakan
yang diperkenalkan oleh
Vapnik,
SVM bisa digeneralisasi
untuk
melakukan pendekatan fungsi
(function approximation) atau
regresi. Didasarkan pada teori
Structural Risk Minimization
untuk mengestimasi suatu
fungsi
dengan cara meminimalkan
batas
atas dari generalization Error ,
SVR telah memperlihatkan
sebagai metoda yang bisa
mengatasi masalah overfitting.
Sehingga bisa menghasilkan
performansi yang lebih bagus
dibanding, misalnya dengan
ANN. (Santosa, 2006)
Misalkan kita punya ℓ set
data training, (xi, yi), i = 1, ..,
ℓ
dengan data inputx = {x1,
x2..,
xℓ} N dan output yang
bersangkutan y = {y1, .., yℓ}
.Dengan SVR, kita ingin
menemukan suatu fungsi f(x)
yang mempunyai deviasi
paling
besar ǫ dari target.
Loss function adalah
fungsi yang menunjukkan
hubungan antara Error
dengan
bagaimana Error ini
dikenai
penalti. Perbedaan loss
function
akan menghasilkan formulasi
SVR yang berbeda.
Sumber: (Sherrod 2012)
Gambar 4. Penalty terhadap
titik
yang jauh dari hyperplane
Sumber: (Sherrod 2012)
Gambar 5. Plot dari data aktual
dan
hasil dari SVR kernel RBF
(Santosa
2007)
Dua type dari SVR yaitu
:(Statsoft
2012).
a) Epsilon SVR (
-SVR)
Fungsi Error nya dirumuskan
sebagai berikut :
N
i
N
ii
i
T
CCww
11
*
2
1
subject to:
*
)( iii
T
ybxw
iii
T
i bxwy
)(
Ni
ii ,...,1,0, *
b) Nu SVR (
-SVR)
Untuk tipe Nu SVR, fungsi
Error
dirumuskan sebagai berikut: