Genetic Algorithm

Pagi ini salah satu diskusi di kuliah Chemometric tentang Genetic Algorithm untuk pemilihan variabel dalam model, misal saja model regresi. Meskipun sudah sangat terkenal, ini termasuk barang baru buatku… belum sempat baca-baca tentang ini sebelumnya. Si Profesor menjelaskan dengan sangat baik, dan secara umum bisalah aku tangkap maksudnya gimana. Aku coba rekonstruksi di notes ini, tadi gak sempat nyatet. Mudah2an gak ada yang kelewat. Kalaupun ada yang gak jelas, mudah2an ada yang bisa nambah2in.

Konsep yang digunakan dalam memilih variabel X untuk masuk ke dalam model, dianalogikan dengan bagaimana penyeleksian individu secara genetik. Yang pernah belajar breeding atau pemuliaan mungkin jauh lebih bisa memahami. Setiap gen dari suatu individu pada dasarnya adalah kombinasi dari gen-gen dari tetuanya (Karena individunya gak selalu berupa orang, bisa hewan atau tumbuhan, jadi gak disebut orang tua. Kalau mau disebut orang tua ya gpp lah).

Nah karena kita mau dapat individu yang unggul, maka kira-kira prosesnya (1) pilih tetua yang unggul (2) lakukan reproduksi yang merupakan kombinasi (cross-over) antar tetua yang unggul, dapat deh tuh banyak anak, (3) anak-anak ini akan mengalami sedikit perubahan atau mutasi pada gen-nya, mungkin juga karena pengaruh lingkungan (4) balik lagi ke langkah 1 dengan menjadikan anak2 sebagai tetua untuk generasi berikutnya.

Implimentasi di pemodelan bagaimana?

Variabel-variabel yang banyak bisa dipandang sebagai kromosom (atau apalah, pokoknya yang bawa sifat2 genotip). Yang pertama dilakukan adalah buat dulu populasi tetua, ini adalah generasi pertama (paling tua). Caranya? Ya buat model dengan variabel X adalah subset dari variabel yang banyak itu. Jadi kita punya banyak model. Misalnya ada 200 variabel, kalau kita buat model masing-masing berisi 20 variabel saja, maka banyak sekali tuh kombinasinya.

Nah dari banyak model itu, pilih yang ‘unggul’. Misal yang errornya kecil. Ambil deh 200an model terunggul. Terus kita pasang2in dan kawin2in tuh model. Kita lihat focus sekarang ke dua model (lihat sebagai dua tetua). Variabel dari setiap model dibagi dua, satu bagian dari setiap model diambil kemudian digabung (secara cross-over). Bagian satu dari model 1 digabung dengan bagian 2 dari model 2. Jadilah model baru (anak) dengan variabel warisan dari tetuanya (sebagian warisan bapak, sebagian warisan ibu).

Perkawinan model ini dilakukan pada banyak pasang model lama (tetua) generasi pertama, sehingga kita bisa dapat banyak model baru (anak) yang merupakan generasi kedua. Pada saat model baru terbentuk, tentu beberapa mengalami mutasi, karena variabel yang sebelumnya gak ketemu sekarang jadi ketemu.

Oke. Generasi kedua sudah jadi. Dari generasi ini lakukan penyaringan. Jangan semua dikawinkan. Terlalu semangat itu namanya. Kawinkan saja yang unggul-unggul. Dapat deh generasi ketiga. Begitu seterusnya, sampai generasi yang dihasilkan hampir semuanya bersifat unggul.

Nah kalau udah gitu, tinggal urutkan saja berdasarkan kriteria unggul tadi, maka kita akan dapat model dengan sedikit variabel yang disaring dari banyak variabel, dan itu adalah model yang unggul.

Advertisements

2 responses to “Genetic Algorithm

  1. ga’ ngerti pak…
    hehehe

  2. Sewaktu Praktik Lapang di AAL, salah satu bidang riset mereka adalah untuk mendapatkan Varietas KS paling unggul.

    Sepertinya ilmunya bisa diterapkan disana juga Pak.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s