perpustakaan.uns.ac.id digilib.uns.ac.id BAB II LANDASAN TEORI 2.1. Kajian Pustaka HCCI (homogeneous charge compression ignition) adalah teknologi pembakaran yang memiliki efisiensi yang tinggi dan dapat mengurangi kadar emisi. Pembakaran HCCI dikarakteristikan oleh dinamika nonlinier yang komplek yang memharuskan penggunaan model prediksi pada desain kontrolnya. Membangun sebuah model HCCI membutuhkan waktu dan biaya yang tidak sedikit. Neural network digunakan sebagai dasar metodologi untuk memprediksi perilaku pembakaran HCCI selama operasi transien. Dengan demikian, waktu dan biaya yang diperlukan menjadi lebih sedikit. Pemodelan banyak input dengan satu output dirancang untuk memprediksi tekanan efektif rata-rata, tahapan pembakaran, kenaikan tekanan dalam silinder dan AFR ekuivalen. Ketika dibandingkan hasil prediksi dan data eksperimen, dapat disimpulkan jaringan saraf tiruan dapat dijadikan pendekatan untuk mengidentifikasi pembakaran pada mesin HCCI. (Janakiraman dkk. 2012) Jaringan syaraf tiruan dapat digunakan untuk menentukan torsi pada mesin diesel dengan satu silinder dengan data posisi sudut poros dan pengukuran kecepatan. Pengukuran dua input (posisi sudut poros dan kecepatan) dapat dilakukan dengan mudah dan memerlukan dana yang sedikit. Dengan demikian, penentuan torsi dapat mudah dilakukan untuk melakukan kontrol atau strategi diagnostik pada mesin. Hasilnya, perbandingan hasil eksperimen dengan hasil dari jaringan mempunyai nilai yang cukup mendekati. (Zweiri. 2006) Jaringan syaraf tiruan digunakan untuk memprediksi jumlah emisi NOx suatu mesin dengan menggunakan 12 inputan berbeda. Mesin dijalankan selama 1200 detik. Hasil akhir menunjukkan hasil prediksi dengan data eksperimen yang hampir berdekatan. Nilai R untuk data training adalah 0.96 sedangkan untuk data validasi adalah 0.94. R menunukkan korelasi antara nilai prediksi dan output target. Nilai 1 berarti nilai prediksi sangat akurat dengan output target sedangkan commit to user 3 perpustakaan.uns.ac.id digilib.uns.ac.id 4 nilai 0 menunjukkan tidak ada korelasi antara output jaringan dengan output target. (Deng dkk. 2011) Prediksi umur pahat dapat dilakukan dengan menggunakan metode Support Vector Machine yang dapat bermanfaat dalam perencanaan proses permesinan. Parameter yang digunakan dlam penelitian ini adalah variasi putaran poros, diameter benda kerja dan waktu pemotongan yang diambil secara langsung melalui praktek konvensional dan umur pahat dihitung menggunakan rumus. Data yang diambil sebanyak 50 data. Dengan menggunakan SVM semua data tersebut dibagi menjadi 35 data training dan 15 data testing dengan memanfaatkan 3 variasi kernel yaitu Multilayer Percepteron (MLP), Radial Basic Function (RBF) dan Polynomial Data. Hasil dan analisa menunjukkan bahwa hasil pelatihan menunjukkan hasil yang mendekati target yaitu 90,03%(MLP), 98,17%(RBF) dan 98,98%(Polynomial). Berdasarkan hasil tersebut bisa disimpulkan bahwa prediksi umur pahat dengan menggunakan algoritma polynomial dapat digunakan secara tepat dan akurat untuk memprediksi umur pahat. (Agus Winoto. 2011) 2.2. Dasar Teori 2.2.1. Kecerdasan Buatan Istilah kecerdasan buatan mempunyai beberapa definisi menurut beberapa peneliti. Right and Knight (1991) mendefinisikan kecerdasan buatan sebagai studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saaat ini dapat dilakakukan lebih baik oleh manusia. Menurut Encyclopedia Brittanica, kecerdasan merupakan cabang dari ilmu komputer yang dalam mempresentasikan ilmu lebih banyak menggunakan bentuk simbol-simbol daripada bilangan, dan memproses informasi berdasarkan metode heuristic atau dengan berdasarkan sejumlah aturan. Alan Turing, amtematikawan asal Inggris yang pertama kali melakuka uji coba untuk melihat apakah mesin dapat dikatakan cerdas, mendefinisikan kecerdasan buatan sebagai bidang yang memodelkan prosesproses berpikir manusia dan mendesain mesin agar dapat menirukan kelakuan manusia. Dari beberapa penjelasan di atas, dapat disimpulkan bahwa kecerdasan buatan erat kaitannya dengan usaha dalam menciptakan komputer atau mesin commit to user yang dapat berpikir atau menalar layaknya manusia. perpustakaan.uns.ac.id digilib.uns.ac.id 5 Layaknya manusia, agar komputer dapat berpikir atau menalar seperti manusia, komputer atau mesin juga harus diberi bekal pengetahuan dan pegalaman agar dapat menyelesaikan masalah-masalah yang diberikan. Menurut Winsto dan Prendergast (1984) terdapat 3 tujuan yaitu membuat mesin menjadi lebih pintar, memahami apa itu kecerdasan dan membuat mesin lebih bermanfaat (Yui Jayusman. 2012) Ada beberapa bahasa pemrograman yang digunakan dalam penerapan kecerdasan buatan 1. LISP, dikembangkan awal tahun 1950-an, bahasa pemrograman pertama yang diasosiakan dengan AI 2. PROLOG, dikembangkan tahun 1970-an 3. Bahasa pemrograman berorientasi obyek (Oject Oriented Programming) seperti C, C++, Smalltalk, Java dll Soft computing merupakan inovasi baru dalam membangun sistem kecerdasan buatan yaitu sistem yang memiliki keahlian seperti manusia pada domain tertentu, mampu beradaptasi dan belajar agar dapat bekerja lebih baik jika terjadi perubahan lingkungan. Soft computing mengeksplorasi adanya toleransi terhadap ketidaktepatan, ketidakpastian, dan kebenaran parsial untuk diselesaikan dan dikendalikan dengan mudah agar sesuai realita (Zadeh. 1992). Metodologi-metodologi yang digunakan dalam soft computing yaitu 1. Sistem fuzzy (mengakomodasi ketidaktepatan) 2. Jaringan saraf tiruan (menggunakan pembelajaran) 3. Probabilistic reasoning (mengakomodasi ketidakpastian) 4. Evolutionary computing (optimasi) Semakin pesatnya teknologi masa kini tak lepas dari berkembangnya kecerdasan buatan. Hal ini karena karakteristik cerdas sudah mulai dibutuhkan di berbagai disiplin ilmu dan teknologi. Lingkup utama kecerdasan buatan yaitu 1. Sistem pakar. Kecerdasan buatan digunakan untuk menyimpan pengetahuan atau penalaran para pakar dalam menyelesaikan suatu commit to user persoalan perpustakaan.uns.ac.id digilib.uns.ac.id 6 2. Pengolahan bahasa alami (Natural Language Processing). Memberikan pengetahuan kepada komputer agar dapat berkomunikasi dengan pengguna komputer menggunakan bahasa sehari-hari. 3. Pengenalan ucapan (speech Recognition). Memberikan kemampuan kepada komputer agar dapat mengenali dan memahami bahasa ucapan. 4. Robotika & Sistem Sensor. 5. Computer Vision. Mencoba untuk dapat menginterpretasikan gambar atau obyek-obyek tampak melalui komputer. 6. Intelligent Computer-aided Instruction. Komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar. 7. Game playing. Jika dibandingkan dengan kecerdasan manusia/kecerdasan alami, kecerdasan buatan memiliki keuntungan komersial, antara lain: 1. Kecerdasan buatan lebih bersifat permanen. Kecerdasan alami akan cepat mengalami perubahan. 2. Kecerdasan buatan lebih mudah diduplikasi dan disebarkan 3. Kecerdasan bautan bersifat konsisten 4. Kecerdasan buatan dapat didokumentasi 5. Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat dibanding dengan kecerdasan alami 6. Kecerdasan buatan dapat mengerjakan pekerjaan lebih baik dibanding dengan kecerdasan alami. Sedangkan kecerdasan alami memiliki keuntungan sebagai berikut: 1. Kreatif 2. Kecerdasan alami memungkinkan orang untuk menggunakan pengalaman secara langsung. Sedangkan kecerdasan buatan harus bekerja dengan input-input simbolik 3. Pemikiran manusia dapat digunakan secara luas sedangkan kecerdasan buatan sangat terbatas commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 7 2.2.2. Jaringan Saraf Tiruan Otak manusia tersusun oleh sel-sel syaraf yang terhubung satu sama lain yang berfungsi untuk menyalurkan rangsangan dan memberikan tanggapan terhadap rangsangan tersebut. Tangapan-tanggapan yang muncul berbeda-beda tergantung pada jenis rangsangan yang mengenainya. Otak terdiri dari sekitar 10.000.000.000 sel syaraf yang saling terhubung. Jaringan syaraf mempunyai 3 komponen utama yaitu dendrit, soma dan axon. Dendrit adalah bagian yang menerima rangsangan dari axon. Dendrit dapat menerima banyak sinyal dari neuron lain. Sinyal adalah impuls listrik yang dipancarkan menyebarangi celah sinapsis yang disebabkan oleh proses kimia. Tindakan dari pancaran proses kimia mengubah sinyal yang datang (secara khusus, dengan pengskalaan sinyal yang diterima). Soma atau badan sel menjumlah sinyal yang datang. Gambar 2.1. Jaringan Saraf Manusia Gambar 2.2. Jaringan SaraftoTiruan(blog.unsiri.ac.id) commit user perpustakaan.uns.ac.id digilib.uns.ac.id 8 Jaringan saraf tiruan mengadopsi cara kerja jaringan saraf manusia. Jaringan saraf juga memiliki neuron yang terhubung melalui layer dengan bobot tertentu. Pada jaringan saraf manusia, bobot tersebut dianalogikan dengan aksi pada proses kimia yang terjadi pada synaptic gap. Input dan output sesuai dengan sensor dan saraf motorik seperti sinyal datang dari mata kemudian diteruskan ke tangan. Sinyal input atau masukan diterima ditraining atau di beri pelatihan untuk membentuk sebuah jaringan berdasarkan input. Neuron memiliki internal state yang disebut aktivasi. Aktivasi merupakan fungsi dari input yang diterima. Pada jaringan saraf, neuron-neuron akan dikumpulkan dalam lapisanlapisan tersembunyi (hidden layers). Informasi atau output yang telah diberikan bobot akan dilewatkan pada lapisan-lapisan tempat dimana input-input tersebut diproses. Input-input yang telah diproses tersebut akan menghasilkan sebuah output. Beberapa saraf ada juga yang tidak memiliki lapisan tersembunyi, dan ada juga jaringan saraf dimana neuron-neuronnya disusun dalam bentuk matriks. Jaringan saraf tiruan ditentukan oleh 3 hal, yaitu a. Pola hubungan antar neuron (disebut arsitektur jaringan) b. Metode untuk menentukan bobot penghubung (disebut metode training/learning) c. Fungsi aktivasi Penyelesaian masalah dengan jaringan saraf tiruan tidak memerlukan pemrograman. Jaringan saraf tiruan menyelesaikan masalah melalui proses belajar atau training dari contoh-contoh. Biasanya pada jaringan saraf tiruan diberikan sebuah himpunan pola pelatihan yang terdiri atas sekumpulan contoh pola. Sebagai tanggapan atas pola masukan-sasaran yang disajikan tersebut, jaringan akan menyesuaikan nilai bobotnya. Jika pelatihan telah berhasil, bobotbobot yang dihasilkan selama pelatihan jaringan akan memberikan tanggapan yang benar terhadap masukan yang diberikan. (STMIK Triguna Dharma,Buku Panduan Belajar Kecerdasan Buatan) commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 9 1.) Arsitektur Jaringan Syaraf Tiruan Berdasarkan dari arsitektur (pola koneksi), Jaringan saraf tiruan dapat dibagi kedalam dua kategori a. Struktur feedforward Sebuah jaringan yang sederhana mempunyai struktur feedforward dimana sinyal bergerak dari input kemudian melalui lapisan tersembunyi dan akhirnya mencapai unit output. Tipe jaringan feedforward mempunyai jaringan yang mempunyai beberapa lapisan. Sinyal input bukanlah merupakan sel saraf. Sinyal input kemudian dikenalkan ke bagian lapisan tersembunyi dengan nilai bobot yang telah ditentukan oleh jaringan. Gambar 2.3. Jaringan Syaraf Tiruan Feedforward (elektronikadasar.web.id) Yang termasuk dalam struktur feedforward adalah 1. Single-layer percepteron 2. Multilayer percepteron 3. Radial-basis function network 4. Higher-order networks 5. Polynomial learning networks b. Struktur Recurrent Jaringan reccurent menggunakan koneksi kembali output ke input. Hal ini akan menimbulkan ketidakstabilan dan dapat menghasilkan dinamika yang commit reccurent to user adalah komplek. Yang termasuk struktur perpustakaan.uns.ac.id digilib.uns.ac.id 10 1. Competitive networks 2. Self-organizing maps 3. Hopfield networks 4. Adaptive-resonanse theory models 2.) Fungsi Aktivasi Fungsi aktivasi dipakai untuk menentukan keluaran suatu neuron. Fungsi aktivasi menggambarkan hubungan antara tingkat aktivasi internal (summation function) yang mungkin berbentuk linier atau nonlinier. (STMIK Triguna Dharma, Buku Panduan Belajar Kecerdasan Buatan). Fungsi aktivasi digunakan untuk mengupdate nilai-nilai bobot per iterasi. Fungsi aktivasi sederhana adalah mengkalikan input dengan bobotnya dan kemudia menjumlahkannya. N a xi wi ...............................................................................................................(2.1) i 1 Gambar 2.4. Fungsi Aktivasi Sederhana wn adalah bobot, b adalah bias dan F adalah fungsi aktivasi. Hasil penjumlahan inputan kemudian akan diaktivasi oleh sebuah fungsi yang kemudian akan menghasilkan output. commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 11 3.) Proses Pembelajaran Ada beberapa metode untuk proses pembelajaran pada jaringan saraf tiruan ini, yaitu 1. Pembelajaran terawasi Pembelajaran terawasi berlaku jika nilai output dari suatu pola telah diketahui. Pada prosesnya, nilai input akan di berikan ke suatu neuron pada lapisan input. Pola ini akan dirambatkan ke semua lapisan sehingga akan tebentuk sebuah otuput dari jaringan tersebut. Output dari jaringan tersebut akan dicocokkan dengan output target. Apabila terjadi perbedaan antara output jaringan dengan output target, maka akan muncul error. Apabila error masih cukup besar, maka pembelajaran harus dilakukan lebih banyak lagi. 2. Pembelajaran tak terawasi Pada pembelajaran tipe ini, tidak diperlukan output target. Pada metode ini, tidak dapat ditentukan hasil seperti apakah yang diharapkan selama proses pembelajaran. Selama pembelajaran, nilai bobot disusun dalam satu jarak tertentu pada nilai input yang diberikan. Biasanya, pembelajaran tipe ini digunakan untuk membentuk suatu klasifikasi atau pengelompokkan pola. 4.) Algoritma Jaringan Saraf Tiruan Jaringan saraf tiruan terdiri dari elemen-elemen pemrosesan sederhana yang disebut neuron. Setiap neuron dihubungkan ke neuron lain dengan link komunikasi yang disebut arsitektur jaringan. Bobot koneksi mewakili besarnya informasi yang digunakan. Operasi dasar sebuah neuron buatan meliputi jumlah dari hasil perkalian sinyal input dengan bobot antar neuron, kemudian menggunakan fungsi aktivasi untuk menghasilkan output. Pada setiap pelatihan, jaringan menghitung respon dari unit output dan kesalahan dnegan membandingkan output terhitung dengan nilai target. Misalnya ambil contoh pelatihan pada jaringan dilakukan dengan menggunakan jaringan backpropogation. Pelatihan jaringan dengan backpropogation meliputi tiga tahap yaitu umpan maju (feedforward) dari pola commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 12 input, perhitungan dan propagasi balik dari error dan penyesuaian bobot. Pada tahap umpan maju setiap unit input menerima sinyal input (xi) dan menyebarkannya ke unit tersembunyi z1,...,zp. Setiap unit tersembunyi menghitung aktivasinya menghitung aktivasinya dan jumlah terboboti dari inputinputnya dalam bentuk z _ in j w ji xi wbj ..........................................................................(2.2) i Dengan xi aktivasi dari unit input ke-i yang mengirimkan sinyal ke unit hidden ke j, wj adalah bobot dari sinyal yang terkirim. Hasil penjumlahan ditransformasi dengan fungsi aktivasi non linier z j f z _ in j ......................................................................................(2.3) Setelah semua unit tersembunyi menghitung aktivasinya kemudian mengirim sinyal (zj) ke unit output. Kemudian unit output menghitung aktivasinya dalam bentuk g ( w, z ) w jo z j wbo ........................................................................(2.4) j Fungsi pada 2.5 merupakan nilai output dari jaringan yaitu o w jo f (a j ) wbo .............................................................................(2.5) j Gambar 2.5. Arsitektur Jaringan Saraf Tiruan (Heikki N. Koivo. 2008) commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 13 Dengan wbo adalah bobot dari bias ke unit output. Model NN dengan satu hidden dan input xt 1 , , xt p ditulis dalam bentuk xˆt 0 wco n wno n wcn i win xt ji ......................................................(2.6) Dengan {wcn} adalah bobot antara unit konstan dan neuron dan wco adalah bobot antara unit konstan dan output. {win} dengan {wcn} adalah bobot antara unit konstan dan neuron dan wco adalah bobot antara unit konstan dan output. {win} dan {wno} masing-masing menyatakan bobot koneksi input dengan neuron dan antara neuron dengan output. Kedua fungsi n dan o masing-masing fungsi aktivasi yang digunakan pada neuron dan output. (Budi Warsito. 2005) 2.2.3. 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. commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 14 Konsep dasar SVM adalah berusaha menemukan hyperplane atau garis pemisah dua kelas pada input space. Ilustrasi dari kerja SVM dapat dilihat pada gambar 2.4 dibawah ini. Gambar 2.6 Hyperplane yang dihasilkan oleh SVM (Nugroho dkk. 2003) 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. commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 15 Gambar 2.7 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.) Kelebihan dan Kelemahan Support Vector Machine Walaupun berbagai studi telah menunjukkan kelebihan SVM dengan metode-metode lain, SVM juga memiliki beberapa kelemahan. Kelebihan SVM antara lain 1. Generalisasi Generalisasi adalah kemampuan suatu metode (SVM, Neural Network dll) untuk mengklasifikasikan suatu pola yang tidak termasuk data yang dipakai dalam fase training atau pembelajaran metode itu. Vapnik menjelaskan bahwa generalization error dipengaruhi oleh dua faktor; 1) error terhadap training set dan 2) dimensi VC (VapnikChervokinensis). Strategi pembeljaran pada neural network dan umumnya metode learning machine difokuskan pada usaha untuk meminimalkan error pada training-set. Strategi ini disebut Empirical Risk Minimalization (ERM). Adapun SVM selain meminimalkan error pada training-set, juga meminimalkan faktor kedua. Strategi ini disebut Structural Risk Minimalization (SRM), dan dalam SVM diwujudkan commit dengan to user margin terbesar. Berbagai studi dengan memilih hyperplane perpustakaan.uns.ac.id digilib.uns.ac.id 16 empiris menunjukkan bahwa pendekatan SRM pada SVM memberikan error generalisasi yang lebih kecil daripada yang diperoleh dari strategi ERM pada Neural Network maupun metode yang lain. 2. Curse of Dimensionality Curse of dimensionality adalah masalah yang dihadapi suatu metoda pattern recognition dalam mengestimasikan parameter dikarenakan jumlah sampel data yang relatif sedikit dibandingkan dimensional ruang vektor data tersebut. Curse of dimensionality sering dialami dalam aplikasi di bidang biomedical engineering, karena biasanya data biologi yang tersedia sangat terbatas dan penyediaanya memerlukan biaya yang besar. Vapnik membuktikan bahwa tingkat generalisasi yang diperoleh oleh SVM tidak dipengaruhi oleh dimensi dari input vektor. Hal ini merupakan alasan mengapa SVM merupakan salah satu metode yang tepat untuk dipakai guna memecahkan masalah berdimensi tinggi dalam keterbatasan sample data yang ada. 3. Feasibility SVM dapat diimplementasikan relatif mudah, karena proses penentuan support vector dapat dirumuskan dengan QP problem. Dengan demikian jika kita memiliki library untuk menyelesaikan QP problem, dengan sendirinya SVM dapat diimplementasikan dengan mudah. Disamping kelebihan-kelebihan di atas, SVM juga memiliki beberapa kekurangan, antara lain 1. Sulit dipakai dalam problem berskala besar. Skala besar dalam hal ini adalah jumlah sampel yang diolah 2. SVM secara teoritikdikembangkan untuk problem kalsifikasi dengan dua kelas. Dewasa ini SVM telah dimodifikasi agar dapat menyelesaikan masalah dengan class lebih dari dua, antara lain strategi one versus rest dan strategi tree structure. Namun demikian, masing-masing strategi ini memiliki kelemahan sehigga dapat dikatakan penelitian dan pengembangan SVM pada commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 17 multiclass-problem masih merupakan tema penelitian yang masih terbuka. 2.) 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 2.6 Gambar 2.8. Hyperplane Alternatif dan Hyperplane Terbaik Dengan Data Yang Dapat Dipisahkan Secara Linier (Krisantus Sembiring. 2007) Dalam contoh diatas dua kelas dipisahkan oleh dua garis sejajar. Bidang pembatas pertama membatasi kelas pertama sedangkan bidang kedua membatasi kelas kedua, sehingga diperoleh: xi .w b 1 untuk yi=+1.....................................................................(2.7) 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) 2 w w Nilai margin ini dimaksimalkan dengan tetap memenuhi persamaan 2.7. Dengan mengalikan b dan w dengan sebuah konstanta, akan dihasilkan nilai commit to user margin yang dikalikan dengan konstanta yang sama. Oleh karena itu, konstrain perpustakaan.uns.ac.id digilib.uns.ac.id 18 pada persamaan (2.7) merupakan scaling constant yang dapat dipenuhi dengan rescaling b dan w. Selain itu, karena memaksimalkan 1 w sama dengan 2 meminimumkan w dan jika kedua bidang pembatas persamaan (2.7) dipresentasikan ke dalam pertidaksamaan yi ( xi .w b) 1 0 ................................................................................(2.8) Maka pencarian bidang pemisah terbaik dengan nilai margin terbesar dapat dirumuskan menjadi masalah optimasi konstrain, yaitu min 1 2 w ..............................................................................................(2.9) 2 s,t yi ( xi .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 min L p w, b, a w ,b n 1 2 n w ai yi xi .w b ai ..............................(2.10) 2 i 1 i 1 Dengan tambahan konstrain, ai ≥ 0 (nilai dari koefisien lagrange). Dengan meminimumkan Lp terhadap w dan b, maka dari L p w, b, a 0 diperoleh (2.12) w (2.11) dan dari n a y i 1 i L p w, b, a 0 diperoleh b i 0 ..........................................................................................(2.11) n w ai yi xi ........................................................................................(2.12) i 1 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 n LD ( ) i i 0 1 n i j yi y j xi x j ..................................................(2.13) 2 i 1, j 1 commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 19 n S,t. a y i 1 i 0, i 0 ..........................................................................(2.14) i 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: ns f ( x d ) i yi xi xd b ......................................................................(2.15) i 0 Xi adalah support vector, ns= jumlah support vector dan xd adalah data yang akan diklasifikasi. 3.) 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 2.9. Feature Space(Krisantus Sembiring. 2007) Caranya, data dipetakan dengan menggunakan fungsi pemetaan (transformasi) xk xk ke dalam feature space sehingga terdapat bidang commit to user pemisah yang dapat memisahkandata sesuai dengan kelasnya. Misalkan terdapat perpustakaan.uns.ac.id digilib.uns.ac.id 20 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 x22 2 (4 x2 x1 x2 ,4 x1 x1 x2 ) ( x1 , x2 ) x12 x22 2 ( x1 , x2 ) ..........(2.16) 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 2.10. Transformasi ke Feature Space (Krisantus Sembiring. 2007) Dengan menggunakan transformasi xk xk , maka nilai ns w i yi ( xi ) dan fungsi hasil pembelajaran yang dihasilkan adalah i 1 ns f xd i yi ( xi ) ( xd ) b i 1 .............................................................(2.17) 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 ( xi ) ( xd ) . Jika terdapat sebuah fungsi kernel K sehingga K ( xi xd ) ( xi ) ( xd ) , maka fungsi transformasi ( xk ) tidak perlu diketahui secara persis. Dengan demikian fungsi commit to user yang dihasilkan dari pelatihan adalah perpustakaan.uns.ac.id digilib.uns.ac.id 21 ns f xd i yi K ( xi , xd ) b (xi= support vector)..............................(2.18) i 1 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 ( xi x) xiT x .................................................................................(2.19) b. Polynomial kernel K ( xi x) ( .xiT x r ) p , 0 ..........................................................(2.20) c. Radial Basis Function (RBF) K ( xi x) exp( xi x ), 0 ....................................................(2.21) 2 d. Sigmoid kernel K ( xi x) tanh(xiT x r ) ................................................................(2.22) 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. (Krisantus Sembiring. 2007) commit to user