MATLAB : Penerapan Genetic Algorithm (GA) untuk Mencari Nilai Minimum Sebuah Fungsi

Genetic Algortihm atau yang lebih dikenal dengan GA adalah sebuah algoritma mata-heuristic. GA merupakan algortima yang diadaptasi dari perilaku genetik makhluk hidup. Dalam GA terdapat beberapa fase. Fase-fase tersebut dapat dilihat pada Gambar 1.

Gambar 1. Flowchart fase-fase dalam GA.

Permasalahan apa saja kah yang dapat dipecahkan dengan GA?
  • Mencari nilai minimum suatu fungsi
  • Mencari nilai maksimum suatu fungsi
Kapan kita disarankan menggunakan GA?
  • Ketika fungsi yang ingin kita cari nilai optimal (min/max) nya terlalu kompleks
  • Ketika tidak memungkinkan mencari nilai optimumnya dengan menggunakan fungsi diferensial/derivatif
Untuk lebih menambah informasi tentang GA, teman-teman bisa membaca referensi dari wikipedia berikut:

Berikut saya akan memberikan contoh penerapan algoritma GA untuk mencari nilai minimum suatu fungsi.


Fungsi/Permsalahan:

 
Definisi Kromosom:



Karena kromosom merepresentasikan solusi dalam digit biner, kita perlu mengubah/konversi dari biner ke bilangan desimal.


Mekanisme Cross over dan Mutasi:
 Tuning Parameter:

  • Cross over Rate : 0.9
  • Mutation Rate : 0.1
Implementasi algoritma GA untuk permasalahan di atas dapat dilihat pada gambar berikut:

 




Jika ingin mendapatkan file .m implementasi algoritma GA ini, silahkan download melalui link berikut:

http://downloads.ziddu.com/download/24319366/GA.zip.html

Read More..

MATLAB : Klasifikasi Data Menggunakan Metode Naive Bayes Classifier

Selain menggunakan SVM, kita bisa melakukan klasifikasi data dengan menggunakan metode Naive Bayes. Bagus mana sih SVM apa Naive Bayes? Hemm...menurut saya, semua metode ada kekurangan dan kelebihannya (klasik bangeet :D ). Namun, sejauh ini SVM memang paling digdaya dibanding metode klasifikasi lainnya pada sebagian besar kasus (Ingat!! Tidak semua kasus yaa ). Kadang kala Naive Bayes memiliki performa yang lebih baik dari pada SVM (bergantung datasetnya). Bagi yang belum familiar dengan Naive Bayes, bisa buka ini untuk menambah referensi: Naive Bayes by Wikipedia.

 *assume that you already have the dataset* :D
Dari dataset itu, yang perlu anda ketahui adalah:
  1. N = Jumlah Instance, biasanya jumlah instance sama dengan jumlah row/baris yang ada di dalam dataset. (Ingat! Header atau nama/keterangan data tidak termasuk dalam hitungan)
  2. M = Jumlah Atribut atau Fitur, biasanya jumlah atribut sama dengan jumlah column/kolom yang ada dalam dataset. (Ingat! ID, no urut dan sejenisnya bukan termasuk fitur/atribut.
Contoh dataset beserta jumlah instance dan jumlah fiturnya dapat dilihat pada Gambar 1.

Berikut langkah-langkah klasifikasi data dengan mengunakan metode Naive Bayes pada Matlab:
  1. Load data yang akan diklasifikasi, simpan dalam suatu variabel, misal: temp.
  2. Bagi data menjadi data training dan data testing.
  3. Lakukan training (mencari model yang tepat)
  4. Lakukan prediksi/testing
  5. Ukur performa Naive Bayes terhadap dataset.
Contoh code klasifikasi menggunakan Naive Bayes dapat dilihat pada Gambar 2.
 
Gambar 1. Contoh dataset.

Gambar 2. Contoh code implementasi Naive Bayes pada Matlab.
Read More..

MATLAB : Klasifikasi Data Menggunakan Metode SVM (Support Vector Machine)

Setelah sekian lama tidak membuat posting baru, kali ini saya ingin share ilmu yang "simple" tapi sangat sering digunakan. Apa itu?? Yaa.. klasifikasi data menggunakan metode SVM dengan Matlab. Bagi yang belum familiar dengan SVM, bisa buka ini untuk menambah referensi: SVM by Wikipedia :)

Okay..saya mau tanya, sudah punya dataset belum? *assume that you already have the dataset* :D
Dari dataset itu, yang perlu anda ketahui adalah:
  1. N = Jumlah Instance, biasanya jumlah instance sama dengan jumlah row/baris yang ada di dalam dataset. (Ingat! Header atau nama/keterangan data tidak termasuk dalam hitungan)
  2. M = Jumlah Atribut atau Fitur, biasanya jumlah atribut sama dengan jumlah column/kolom yang ada dalam dataset. (Ingat! ID, no urut dan sejenisnya bukan termasuk fitur/atribut.
Contoh dataset beserta jumlah instance dan jumlah fiturnya dapat dilihat pada Gambar 1.

Berikut langkah-langkah klasifikasi data dengan mengunakan metode SVM pada Matlab:
  1. Load data yang akan diklasifikasi, simpan dalam suatu variabel, misal: temp.
  2. Bagi data menjadi data training dan data testing.
  3. Lakukan training (mencari model yang tepat)
  4. Lakukan prediksi/testing
  5. Ukur performa SVM terhadap dataset.
Contoh code klasifikasi menggunakan SVM dapat dilihat pada Gambar 2.


Gambar 1. Contoh dataset.

Gambar 2. Contoh code implementasi SVM pada Matlab.
Read More..