tugas ai
-
Upload
ibnu-khamdan-al -
Category
Documents
-
view
6 -
download
2
description
Transcript of tugas ai
1. PENDAHULUAN
Dalam dekade terakhir, kecerdasan buatan berkembang sangat pesat.
Kecerdasan buatan adalah suatu ilmu pengetahuan dimana komputer diprogram untuk
menyelesaikan masalah menurut penalaran manusia. Dengan kata lain, komputer
diprogram untuk berpikir layaknya manusia. Teknik yang digunakan dalam
kecerdasan buatan memungkinkan dibuatnya sebuah program yang setiap bagiannya
mengandung langkah-langkah independen dan dapat diidentifikasi dengan baik untuk
dapat memecahkan sebuah atau sejumlah masalah. Dengan definisi ini Kecerdasan
buatan menawarkan baik media aupun uji teori kecerdasan. Teori-teori ini dapat
dinyatakan dalam bahasa program computer dan dibuktkan esekusinya pada computer
nyata.
Kecerdasan buatan pertama kali diperkenalkan pada tahun 1950-an dimana
waktu itu para ilmuan dan peneliti muulai memikirkan bagaimana mesin dapat
bekerja menurut nalar manusia. Pada tahun 1956, professor dari Massachuset Institute
of Technology barnama John McCarthy memunculkan konsep kecerdasan buatan
pada Dermouth Conference. Pada konferensi tersebut didefinisikan konsep utama dari
kecerdasan buatan yaitu mengetahui dan memodelkan proses-proses berfikir manusia
dan mendesain masin agar dapat meniru kelakuan manusia tersebut.
Salah satu aplikasi kecerdasan buatan adalah pattern recognition yang
berfungsi untuk memetakan suatu data ke dalam konsep tertentu yang telah
didefinisikan sebelumnya. Konsep tertentu ini disebut class atau kategori. Salah satu
metode yang akhir-akhir ini banyak mendapat perhatian sebagao state of the art
dalam patern recognition adalah support vector machining (SVM). Berbeda dengan
strategi neural network yang berusaha mencari hyper line pemisah antar class, SVM
adalah linear classifier, dan selanjutnya dikembangkan agar dapat bekerja pada
problem-problem non linier, dengan memasukkan konsep krenel trick pada ruang
kerja berdimensi tinggi.
2. KASUS
Teknologi baru dikembangkan guna mengatasi masalah tentang penghematan
energi dan pengurangan emisi. Salah satunya adalah pengembangan motor listrik.
Motor listrik yang memiliki efisiensi tinggi, torsi yang tinggi, kecepatan yang tinggi
dan dapat divariasikan, dan biaya perawatan yang rendah. Hanya saja motor yang
digunakan secara umum saat ini, yakni motor DC dan motor induksi, belum dapat
memenuhi kebutuhan tersebut. Motor DC memiliki efisiensi yang tinggi karena
penggunaan tegangan DC pada rotor untuk menggerakkan motor tersebut. Hanya saja
motor DC memiliki biaya perawatan yang tinggi akibat digunakannya brush dalam
komutasi motor DC. Sedangkan pada motor induksi memiliki biaya perawatan yang
lebih rendah dan memiliki kecepatan yang lebih tinggi dibandingkan motor DC. Hal
ini terjadi karena motor induksi tidak menggunakan brush untuk menunjang
komutasi, namun motor induksi memiliki efisiensi yang lebih rendah dibandingkan
motor DC dan cepat panas. Oleh karena itu untuk memenuhi karakteristik motor yang
tersebut diatas maka digunakan motor Brushless Direct Current (BLDC).
Motor BLDC memiliki komponen stator yang terbuat dari kumparan dan
rotor yang terbuat dari magnet permanen yang menggunakan sumber tegangan DC.
Dengan menggunakan data karakteristik motor BLDC dari percobaan dengan
dynamometer dapat ditentukan efisiensi motor BLDC tersebut. Motode LS-SVM
dimanfaatkan untuk mengetahui perkiraan efisiensi motor BLDC pada titik yang lain.
3. TEORI
Support Vector Machine
Support vector machine merupakan teknik untuk memprediksi, baik dalam kasus
kalsifikasi maupun regresi, yang relatif baru karena baru dikembangkan pada tahun
1995 oleh Boser, Guyon dan Vapnik. SVM mempunyai kerja yang hampir sama
dengan Artificial Neural Network dalam hal fungsi dan kondisi permasalahan yang
ingin diselesaikan. Keduanya masuk dalam kelas supervised learning. SVM dan
ANN telah banyak digunakan oleh para ilmuan untuk menyelesaikan permasalahan di
berbagai bidang seperti gene expression analysis, finansial, cuaca hingga bidang
kedokteran. Perbedaan keduanya adalah ANN menemukan solusi berupa local
optimal yang artinya setiap kita menjalankan ANN solusi yang kita temukan akan
selalu berbeda. Hal ini disebabkan local optimal yang dicapai tidak selalu sama.
Berbeda dengan SVM yang yang menemukan solusi secara global optimal. SVM
akan menghsilkan output yang selalu sama setiap kali running.
Baik SVM dan ANN digunakan sebagai metode untuk pengenalan metode.
Pembelajaran dilakukan dengan cara menyediakan data input dan data ouput.
Pembelajaran dengan cara ini disebut dengan pembelajaran terarah. Dengan adanya
data input dan data output tersebut akan tergambar sebuah ketergantungan antara
input terhadap output. Selanjutnya, diharapkan fungsi yang terbentuk mempunyai
kemampuan generalisasi yang baik, dengan kata lain fungsi tersebut dapat digunakan
walaupun data inupt yang digunakan nantinya di luar data pembelajaran.
Konsep dasar SVM adalah berusaha menemukan hyperplane atau garis pemisah dua
kelas pada input space. Ilustrasi dari kerja SVM dapat dilihat pada gambar 3.1
dibawah ini.
Gambar 3.1 Hyperplane yang dihasilkan oleh SVM
Pada gambar 2.4 digambarkan terdapat dua jenis kelas yaitu -1 yang digambarkan
dengan warna merah dan +1 yang digambarkan dengan warna kuning. Problem dari
gambar diatas atas bagaimana menemukan garis yang memisahkan kedua jenis data
tersebut. Berbagai alternatif garis ditunjukkan pada gambar 2.4 a. Hyperplane
pemisah terbaik dapat dapat ditemukan dengan cara mengukur margin hyperplane
dan mencari titik maksimalnya. Margin adalah jarak hyperplane dengan data paling
dekat dengan hyperplane dari masing-masing kelas. Data yang paling dekat dengan
hyperplane disebut support vector. Gambar 2.4 b menunjukkan hyperplane terbaik
yang memisahkan kedua data. Usaha untuk menemukan hyperplane terbaik ini
merupakan inti dari proses pembelajaran SVM.(Nugroho dkk. 2003)
Pada permasalahan nyata, sangatlah sulit untuk menemukan data yang dapat
dipisahkan secara linier. Oleh karena itu digunakanlah fungsi kernel untuk mengatasi
permasalahan non-linier. Dengan memasukkan fungsi kernel, maka problem data
non-linier menjadi linier dalam space baru. Ilustrasi dari fungsi kernel dapat dilihat
pada gambar 2.5.
Gambar 3.2 Ilustrasi Fungsi Kernel
Ada 4 jenis kernel yang biasanya digunakan, yaitu
1. Linier Kernel
2. Polynomial Kernel
3. Radial Basis Function (RBF) Kernel
4. Tangent Hyperbolic (sigmoid) Kernel
1.) Algoritma Support Vector Machine
Support Vector Machine (SVM) adalah salah satu teknik klasifikasi data dengan
proses pelatihan. Salah satu ciri dari metode SVM adalah menemukan garis
hyperplane atau garis pemisah terbaik sehingga diperoleh ukuran margin yang
maksimal. Titik yang terdekat dengan hyperplane disebut support vector. Margin
adalah dua kali jarak antara hyperplane dengan support vector. Ilustrasi SVM untuk
data yang terpisahkan secara linier dapat dilihat pada gambar 3.3
Gambar 3.3. Hyperplane Alternatif dan Hyperplane Terbaik Dengan Data Yang
Dapat Dipisahkan Secara Linier
Dalam contoh diatas dua kelas dipisahkan oleh dua garis sejajar. Bidang pembatas
pertama membatasi kelas pertama sedangkan bidang kedua membatasi kelas kedua,
sehingga diperoleh:
x i . w+b≥+1 untuk yi=+1.....................................................................(3.1)
xi .w+b≤−1 untuk yi=-1
Dengan w adalah normal bidang dan b adalah posisi bidang relatif terhadap puast
kooordinat. Nilai margin (jarak) antara bidang pembatas (berdasarkan rumus jarak ke
garis pusat) adalah
1−b−(−1−b)w
= 2w
Nilai margin ini dimaksimalkan dengan tetap memenuhi persamaan 3.1. Dengan
mengalikan b dan w dengan sebuah konstanta, akan dihasilkan nilai margin yang
dikalikan dengan konstanta yang sama. Oleh karena itu, konstrain pada persamaan
(3.1) merupakan scaling constant yang dapat dipenuhi dengan rescaling b dan w.
Selain itu, karena memaksimalkan
1|w| sama dengan meminimumkan |w|2 dan jika
kedua bidang pembatas persamaan (2.7) dipresentasikan ke dalam pertidaksamaan
y i( x i . w+b )−1≥0 ................................................................................(3.2)
Maka pencarian bidang pemisah terbaik dengan nilai margin terbesar dapat
dirumuskan menjadi masalah optimasi konstrain, yaitu
min 12|w|2
..............................................................................................(3.3)
s,t y i( x i . w+b )−1≥0
Persoalan ini akan lebih mudah diselesaikan jika diubah ke dalam formula lagrangian
yang menggunakan lagrange multiplier. Dengan demikian permasalahan optimasi
konstrain dapat diubah menjadi
minw ,b
L p (w ,b , a )=12|w|2−∑
i=1
n
ai y i ( xi .w+b )+∑i=1
n
a i..............................(3.4)
Dengan tambahan konstrain, ai ≥ 0 (nilai dari koefisien lagrange). Dengan
meminimumkan Lp terhadap w dan b, maka dari
∂∂b
Lp (w ,b ,a )=0diperoleh (3.5)
dan dari
∂∂w
Lp ( w ,b , a )=0diperoleh (3.7)
∑i=1
n
ai yi=0..........................................................................................(3.6)
w=∑i=1
n
ai y i xi........................................................................................(3.7)
Vektor w seringkali bernilai besar (mungkin tak terhingga), tetapi nilai αi terhingga.
Untuk itu, formula lagrangian Lp (primal problem) diubah ke dalam dual problem Ld.
Dengan mensubstitusikan persamaan (2.11) ke Lp diperoleh dual problem Ld dengan
konstrain berbeda
LD(α )=∑i=0
n
αi−12 ∑
i=1, j=1
n
αi α j yi y j xi x j.......................................................(3.8)
S,t. ∑i=1
n
ai y i=0 , αi≥0..........................................................................(3.9)
Dengan demikian, dapat diperoleh nilai αi yang nantinya digunakan untuk
menemukan w. Terdapat nilai αi untuk setiap data pelatihan. Data pelatihan yang
memiliki nilai αi>0 adalah support vector sedangkan sisanya memiliki nilai αi=0.
Dengan demikian fungsi keputusan yang dihasilkan hanya dipengaruhi oleh support
vector.
Formula pencarian bidang pemisah terbaik ini adalah permasalahan quadratic
programming sehingga nilai maksimum global dari αi selalu dapat ditemukan. Setelah
solusi permasalahan quadratic programming ditemukan (nilai αi), maka kelas dari
data pengujian x dapat ditentukan berdasarkan nilai dari fungsi keputusan:
f ( xd )=∑i=0
ns
αi y i xi xd+b......................................................................(3.10)
Xi adalah support vector, ns= jumlah support vector dan xd adalah data yang akan
diklasifikasi.
2.) SVM pada Nonliniarly Separable Data
Metode untuk mengklasifikasikan data yang tidak dapat dipisahkan secara linier
adalah dengan mentransformasikan data ke dalam dimensi ruang fitur (feature space)
sehingga dapat dipisahkan secara linier pada feature space.
Gambar 3.4. Feature Space
Caranya, data dipetakan dengan menggunakan fungsi pemetaan (transformasi)
xk→φ ( xk ) ke dalam feature space sehingga terdapat bidang pemisah yang dapat
memisahkandata sesuai dengan kelasnya. Misalkan terdapat data set yang datanya
memiliki dua atribut dan dua kelas yaitu kelas positif dan kelas negatif. Data yang
memiliki kelas positif {(2,2),(2,-2),(-2,2),(-2,-2)}, dan data yang memiliki kelas
negatif {91,1),(1,-1),(-1,1),(-1,-1)}. Apabila data ini digambarkan dalam ruang dua
dimensi (gambar 2.9) dapat dilihat data ini tidak dapat dipisah secara linier. Oleh
karena itu, digunakan fungsi transformasi berikut
φ (x1 , x2 )=√ x12+x2
2>2→( 4−x2+|x1−x2|, 4−x1+|x1−x2|)
φ (x1 , x2 )=√ x12+x2
2≤2→( x1 , x2 ) ...................(3.11)
Data sesudah transformasi adalah {(2,2),(6,2),(6,6),(2,6)} untuk kelas negatif, dan
{(1,1),(1,-1),(-1,1),(-1,-1)} untuk kelas positif. Selanjutnya pencarian bidang pemisah
terbaik dilakukan pada data ini.
Gambar 3.5. Transformasi ke Feature Space
Dengan menggunakan transformasi xk→ φ ( xk ) , maka nilai w=∑
i=1
ns
αi y i φ( x i ) dan
fungsi hasil pembelajaran yang dihasilkan adalah
f ( xd )=∑i=1
ns
αi y i φ( x i )φ( xd)+b.............................................................(3.12)
Feature space dalam prakteknya biasanya memiliki dimensi yang lebih tinggi dari
vektor input (input space). Hal ini mengakibatkan komputasi pada feature space
mungkin sangat besar, karena ada kemungkinan feature space dapat memiliki jumlah
feature yang tak terhingga. Selain itu, sulit mengetahui fungsi transformasi yang
tepat. Untuk mengatasi masalah ini, pada SVM digunakan ‘kernel trick’. Dari
persamaan 2.11 dapat dilihat terdapat dot product φ (x i )φ( xd ) . Jika terdapat sebuah
fungsi kernel K sehingga K ( x i xd )=φ( x i)φ( xd ), maka fungsi transformasi φ (xk )
tidak perlu diketahui secara persis. Dengan demikian fungsi yang dihasilkan dari
pelatihan adalah
f ( xd )=∑i=1
ns
αi y i K ( xi , xd )+b (xi= support vector)..............................(3.13)
Syarat sebuah fungsi untuk menjadi fungsi kernel adalah memenuhi teorema Mercer
yang menyatakan bahwa matriks kernel yang dihasilkan harus bersifat positive semi-
definite. Fungsi kernel yang umum digunakan adalah sebagai berikut:
a. Kernel linier
K ( x i x )=x iT x .................................................................................(3.14)
b. Polynomial kernel
K ( x i x )=(γ . xiT x+r )p , γ >0 ..............................................................(3.15)
c. Radial Basis Function (RBF)
K ( x i x )=exp (−γ|x i−x|2) , γ >0 .........................................................(3.16)
d. Sigmoid kernel
K ( x i x )= tanh (γxiT x+r )...................................................................(3.17)
Fungsi kernel yang direkomendasikan untuk diuji pertama klai adalah kernel RBF
karena memiliki performasi yang sama dengan kernel linier pada parameter tertentu,
memiliki perilaku seperti fungsi kernel sigmoid dengan parameter tertentu dan
rentang nilainya kecil.
4. METODOLOGI
Metodologi yang digunakan utuk memprediksi eisiensi motor brushless direct
current (BLDC) adalah metode LS-SVM dengan Radial Base Function (RBF)
Kernel. Kemudian melakukan analisa error atau kesalahan antara output jaringan
dengan output target, apabila error yang dihasilkan lebih kecil dari 5% maka jaringan
yang terbentuk dapat memprediksi output (efisiensi) dengan baik.
Perintah Training
Jenis
Jaringan
Training
RBF Kernel trainlssvm({X,Y,type,gam,sig2,'RBF_kernel','preprocess'})
Perintah Simulasi/Validasi
Jenis Jaringan Simulasi/Validasi
RBF Kernelsimlssvm({input,output,type,gam,sig2
,'RBF_kernel','preprocess'},{alpha,b},input baru)
Selesai
Analisa MSE
Testing
Output Jaringan
Pola Jaringan
Pembuatan Prediksi dengan LS-SVM
(Training) Data Input dan Output
Mulai
5. DATA
Data hasil percobaan
No RPM Tors Eff No RPM Tors Eff1 500 2.26 33 36 3000 2.26 852 500 4.52 36 37 3000 4.52 873 500 6.78 40 38 3000 6.78 88.54 500 9.04 46 39 3000 9.04 87.55 500 15.82 48 40 3000 15.82 876 500 18.1 50 41 3000 18.1 86.57 500 20.34 51 42 3000 20.34 868 1000 2.26 55 43 3500 2.26 869 1000 4.52 60 44 3500 4.52 88
10 100 6.78 68 45 3500 6.78 9011 100 9.04 70 46 3500 9.04 90.512 1000 15.82 71 47 3500 15.82 89.513 1000 18.1 70 48 3500 18.1 88.514 1000 20.34 70 49 3500 20.34 87.515 1500 2.26 68 50 4000 2.26 87.516 1500 4.52 76 51 4000 4.52 88.517 1500 6.78 83 52 4000 6.78 9118 1500 9.04 82 53 4000 9.04 9219 1500 15.82 82 54 4000 15.82 9020 1500 18.1 78 55 4000 18.1 88.521 1500 20.34 78 56 4000 20.34 8822 2000 2.26 77 57 4500 2.26 8823 2000 4.52 85.5 58 4500 4.52 9024 2000 6.78 86.5 59 4500 6.78 9225 2000 9.04 85.5 60 4500 9.04 92.526 2000 15.82 84.5 61 4500 15.82 9127 2000 18.1 85.3 62 4500 18.1 9028 2000 20.34 83 63 4500 20.34 89.529 2500 2.26 83 64 5000 2.26 89.530 2500 4.52 86 65 5000 4.52 90.531 2500 6.78 87.5 66 5000 6.78 9232 2500 9.04 87 67 5000 9.04 9333 2500 15.82 86.5 68 5000 15.82 92.534 2500 18.1 85 69 5000 18.1 9235 2500 20.34 85 70 5000 20.34 91
6. Verivikasi
clc;
data = [...
500 2.26 33500 4.52 36500 6.78 40500 9.04 46500 13.56 48500 18.1 50500 20.34 511000 2.26 551000 4.52 601000 6.78 681000 9.04 701000 15.82 711000 18.1 701000 20.34 701500 2.26 681500 4.52 761500 6.78 831500 9.04 821500 13.56 821500 18.1 781500 20.34 782000 2.26 772000 4.52 85.52000 6.78 86.52000 9.04 85.52000 15.82 84.52000 18.1 85.32000 20.34 832500 2.26 832500 4.52 862500 6.78 87.52500 9.04 872500 15.82 86.52500 18.1 852500 20.34 853000 2.26 853000 4.52 873000 11.3 88.53000 13.56 87.53000 15.82 873000 18.1 86.53000 20.34 863500 2.26 863500 4.52 883500 6.78 903500 9.04 90.53500 15.82 89.5
3500 18.1 88.53500 20.34 87.54000 2.26 87.54000 4.52 88.54000 6.78 914000 9.04 924000 15.82 904000 18.1 88.54000 20.34 884500 2.26 884500 4.52 904500 6.78 924500 9.04 92.54500 15.82 914500 18.1 904500 20.34 89.55000 2.26 89.55000 4.52 90.55000 6.78 925000 9.04 935000 15.82 92.55000 18.1 925000 20.34 91];
data2 = [...
500 11.3 46500 15.82 481000 11.3 701000 13.56 711500 11.3 801500 15.82 802000 11.3 852000 13.56 85.52500 11.3 86.52500 13.56 87.53000 6.78 88.53000 9.04 893500 11.3 903500 13.56 894000 11.3 91.54000 13.56 914500 11.3 92.54500 13.56 925000 11.3 935000 13.56 93];
Program
X=data(:,1:2);Y=data(:,3); gam = 5;sig2 = 0.4;type = 'function estimation';[alpha,b] = trainlssvm({X,Y,type,gam,sig2,'RBF_kernel','preprocess'}); Xt=data2(:,1:2);Ytt=data2(:,3);Yt = simlssvm({X,Y,type,gam,sig2,'RBF_kernel','preprocess'},{alpha,b},Xt);%figure; plotlssvm({X,Y,type,gam,sig2,'RBF_kernel','preprocess'},{alpha,b});hold on;hold off %error=((Ytt'-Yt')^2)^0.5Error = (((Ytt'-Yt')./Ytt'*100).^2).^0.5;Error'YttYtMSE = mean(Error)toc plot(Yt,'r-*'); title('perbandingan efisiensi');xlabel('jumlah data');ylabel('efisiensi');hold on;plot(Ytt,'b-o'); hold off;gridlegend('Output','Nilai Target')
Validasi
Output LSSVM Output Error
151.759
9 46 12.5215
253.504
5 48 11.4677
367.451
1 70 3.6412
467.478
9 71 4.9593
580.984
6 80 1.2308
680.193
9 80 0.2423
785.930
8 85 1.095
885.400
6 85.5 0.1162
986.418
5 86.5 0.0942
1086.222
4 87.5 1.4601
1187.826
4 88.5 0.7611
1287.867
5 89 1.2725
1389.752
2 90 0.2753
1489.144
7 89 0.1626
1591.332
5 91.5 0.1831
1690.494
7 91 0.555217 91.962 92.5 0.5816
1891.273
4 92 0.7898
1990.989
9 93 2.1614
2090.706
5 93 2.46622.30185
5
Plot grafik prediksi efisiensi motor brushless direct current (BLDC)
7. Kesimpulan
Dalam prediksi efisiensi motor brushless direct current (BLDC) motode LS-SVM RBF dapat menghasilkan MSE dibawah 5% yaitu 2.3% yang artinya hasil yang didapatkan baik dan dapt dijadikan referensi.