Pemilihan parameter untuk algoritma genetika

9

Bagaimana seseorang dapat memilih jumlah parameter yang tepat untuk algoritma genetika untuk memodelkan sistem yang diberikan?

Misalnya, Anda ingin mengoptimalkan produksi mobil, dan Anda memiliki 1.000 pengukuran efisiensi per jam di berbagai tugas untuk masing-masing 1.000 karyawan yang berbeda. Jadi, Anda memiliki 1.000.000 titik data. Sebagian besar dari ini cenderung berkorelasi lemah dengan efisiensi keseluruhan pabrik Anda, tetapi tidak terlalu lemah sehingga Anda dapat mengatakan mereka tidak relevan dengan kepercayaan statistik. Bagaimana Anda memilih input untuk GA Anda sehingga Anda tidak memiliki kebebasan 1.000.000 derajat, menghasilkan konvergensi yang sangat lambat atau tidak ada konvergensi sama sekali?

Secara khusus, algoritma apa yang dapat digunakan untuk memilih atau menghilangkan fitur secara selektif?

Salah satu pendekatan yang saya telah digunakan sendiri dalam skenario ini adalah untuk berkembang pemilihan parameter itu sendiri, jadi saya mungkin memiliki orang tua seperti {a,b,c}, {b,d,e,q,x,y,z}, dan sebagainya. Saya kemudian akan bermutasi anak-anak untuk menambah atau menjatuhkan fitur. Ini bekerja dengan baik untuk beberapa lusin fitur. Tetapi masalahnya adalah bahwa itu tidak efisien jika ada sejumlah besar derajat kebebasan. Dalam hal ini, Anda melihat 10^nkombinasi (dalam contoh di atas, 10^1,000,000), yang membuat beberapa fitur pra-penyaringan penting untuk mendapatkan segala jenis kinerja yang berguna.

elixenide
sumber

Jawaban:

11

Pertama-tama - contohnya tampaknya tidak cocok karena Anda mungkin akan menggunakan beberapa regresi atau metode ML klasik untuk menyelesaikan ini. Kedua - Anda merujuk pada masalah umum pemilihan fitur (Kira, Rendell, 1992) atau pemilihan atribut (Hall, Holmes, 2003) atau pemilihan variabel (Guyon, Elisseeff, 2003) atau pemilihan subset variabel (Stecking, Schebesch, 2005) atau ekstraksi fitur (Hillion, Masson, Roux, 1988) atau pengurangan dimensi (Roweis, Saul, 200) atau abstraksi negara (Amarel, 1968). Masalah ini relevan tidak hanya untuk algoritma genetika tetapi untuk hampir semua teknik pembelajaran mesin ketika berhadapan dengan data dimensi tinggi.

Tiga kasus dapat dibedakan di sini: contoh terakhir dari masalah ini dikenal sebagai abstraksi negara biasanya terkait dengan pemodelan proses (yang sesuai dengan contoh Anda, tetapi bukan konteks GA). Tiga yang pertama, yaitu pemilihan fitur , pemilihan atribut atau pemilihan variabel tampaknya paling relevan ketika mengambil pertanyaan Anda secara harfiah. Dalam konteks ini solusi umum adalah pendekatan mRMR (Peng, Long, Ding, 2005) . Dari pengalaman saya itu tidak selalu bekerja dengan baik dengan data kontinu - namun, informasi timbal balik dapat diganti dengan koefisien lainnya, seperti korelasi misalnya. Pendekatan lain yang mungkin adalah menggunakan validasi silang (Picard, Cook, 1984)untuk ini. Anda dapat memiliki beberapa model masing-masing menggunakan fitur yang berbeda, dan melalui pemilihan model dengan teknik cross-validasi Anda memilih model terbaik, yang memberi Anda informasi tentang fitur mana yang paling cocok untuk tugas yang diberikan.

Kasus ekstraksi fitur dan pengurangan dimensi tidak hanya memungkinkan untuk memilih fitur awal, tetapi juga kombinasi mereka. Contoh solusi yang terkenal untuk kasus ini adalah algoritma PCA (Pearson, 1901) , yang menghasilkan varian varian yang optimal, yang ditetapkan, yang merupakan kombinasi linear dari fitur input.

Perhatikan juga, bahwa ada banyak model yang menangani sendiri tugas ekstraksi fitur. Beberapa contoh adalah: Growing Neural Gas Network (Fritzke, 1995) , LASSO (Tibshirani, 2011) , RFE SVM (Zeng, Chen, Tao, 2009) , Pohon Keputusan (Quinlan, 1986) .

Referensi:

BartoszKP
sumber
3

Saya belum pernah melakukan ini sebelumnya, dan jelas tidak memiliki akses ke data tersebut, tetapi cara yang berpotensi baik untuk melakukan ini adalah melalui pengelompokan . Untuk setiap karyawan, kami memiliki vektor n-dimensi, di mana masing-masing dimensi bekerja sama untuk tugas yang berbeda. Kemudian, kita dapat menggunakan pengelompokan untuk mengelompokkan karyawan "serupa" bersama-sama; namun, ini hanya akan tergantung pada data Anda, yaitu sangat mungkin bahwa hanya dengan memberi 1.000 karyawan pengelompokan akan menghasilkan kelompok-kelompok karyawan yang tidak benar-benar semua yang terkait, dan jadi sementara kami mungkin mendapatkan pengurangan populasi, itu mungkin dengan mengorbankan kehilangan informasi.

Steve P.
sumber