Tinjauan Umum Metode Pemilihan Fitur



Pilihan fitur yang tepat untuk analisis data memungkinkan Anda untuk:

  • meningkatkan kualitas model pembelajaran mesin dengan dan tanpa guru,
  • mengurangi waktu pelatihan dan mengurangi daya komputasi yang dibutuhkan,
  • dan dalam hal input data dimensi tinggi memungkinkan untuk melemahkan "kutukan dimensi".

Penilaian akan pentingnya atribut diperlukan untuk menginterpretasikan hasil model.

Kami akan mempertimbangkan metode yang ada untuk memilih sifat untuk tugas mengajar dengan dan tanpa guru. Setiap metode diilustrasikan dengan implementasi sumber terbuka di Python sehingga Anda dapat dengan cepat menguji algoritma yang diusulkan. Namun, ini bukan pilihan lengkap: selama 20 tahun terakhir, banyak algoritma telah dibuat, dan di sini Anda akan menemukan yang paling mendasar. Untuk studi yang lebih mendalam, lihat ulasan ini.

Model dengan dan tanpa guru


Ada algoritma pemilihan dengan seorang guru yang memungkinkan Anda untuk menentukan karakteristik yang sesuai untuk kualitas terbaik pekerjaan tugas mengajar dengan guru (misalnya, dalam masalah klasifikasi dan regresi). Algoritma ini membutuhkan akses ke data yang ditandai. Untuk data yang tidak berlabel, ada juga sejumlah metode pemilihan fitur yang mengevaluasi semua fitur berdasarkan berbagai kriteria: varians, entropi, kemampuan untuk mempertahankan kesamaan lokal, dll. Fitur yang relevan terdeteksi menggunakan metode heuristik tanpa guru juga dapat digunakan dalam model dengan guru, karena mereka dapat mendeteksi pola selain korelasi fitur dengan variabel target.

Metode pemilihan karakteristik biasanya dibagi menjadi 4 kategori: filter, pembungkus, tertanam dan hibrida.

Pembungkus


Dengan pendekatan ini, kami mengevaluasi efektivitas subset atribut, dengan mempertimbangkan hasil akhir dari algoritma pembelajaran yang diterapkan (misalnya, apa peningkatan akurasi dalam memecahkan masalah klasifikasi). Dalam kombinasi strategi pencarian dan pemodelan ini, algoritma pembelajaran apa pun dapat digunakan.



Strategi pemilihan yang ada:

  • Pilihan langsung (Pilihan maju) : kami mulai dengan serangkaian fitur yang kosong, dan kemudian secara iteratif menambahkan fitur yang memberikan peningkatan terbaik dalam kualitas model.
  • Seleksi mundur : kita mulai dengan satu set semua atribut, lalu pada setiap iterasi kita menghapus atribut "terburuk".

Implementasi: algoritma ini diimplementasikan dalam paket mlxtend , berikut adalah contoh penggunaannya.

  • RFE (Penghapusan fitur Rekursif): Algoritma pencarian "serakah" yang memilih fitur dengan secara rekursif mendefinisikan set fitur yang lebih kecil. Itu peringkat tanda-tanda sesuai dengan urutan di mana mereka dihilangkan.

    Implementasi: scikit-belajar

Metode sebaris


Grup ini mencakup algoritma yang secara bersamaan melatih model dan memilih fitur. Ini biasanya diimplementasikan dengan menggunakan l1- regularizer (sparsity regularizer) atau suatu kondisi yang membatasi beberapa tanda.

  • SMLR (Sparse Multinomial Logistic Regression): Algoritma ini mengimplementasikan regularisasi l1 menggunakan ARD (Penentuan relevansi otomatis) sebagai bagian dari regresi logistik multinomial klasik. Regularisasi menentukan pentingnya setiap sifat dan membatalkan sifat-sifat yang tidak berguna untuk prediksi.

    Implementasi: SMLR
  • ARD (Automatic Relevance Determination Regression): Model ini menggunakan Bayesian Ridge Regression. Ini menggeser bobot koefisien ke nol lebih kuat, dibandingkan, misalnya, dengan metode kuadrat terkecil.



    ARD memberikan bobot pada beberapa fitur, sehingga membantu mengidentifikasi dimensi yang relevan.

    Implementasi: scikit-belajar

Contoh lain dari algoritma regularisasi: Lasso (mengimplementasikan l1- regularisasi), regresi ridge (mengimplementasikan l2- regularisasi), Elastic Net (mengimplementasikan l1 -dan l2- regularisasi). Jika Anda menggambarkan metode ini secara grafis, Anda dapat melihat bahwa regresi Lasso membatasi koefisien ke kuadrat, regresi ridge menggambarkan lingkaran, dan Net Elastis menempati posisi perantara.


https://scikit-learn.org/stable/auto_examples/linear_model/plot_sgd_penalties.html

Deskripsi lengkap dari algoritma ini disediakan di sini .

Filter


Dengan pendekatan ini, kami mengevaluasi pentingnya atribut hanya berdasarkan karakteristik bawaannya, tanpa melibatkan algoritma pembelajaran. Metode ini lebih cepat dan membutuhkan sumber daya komputasi lebih sedikit dibandingkan dengan metode pembungkus. Jika tidak ada cukup data untuk memodelkan korelasi statistik antara fitur, maka filter dapat menghasilkan hasil yang lebih buruk daripada pembungkus. Tidak seperti pembungkus, metode seperti itu kurang rentan terhadap pelatihan ulang. Mereka banyak digunakan untuk bekerja dengan data dimensi tinggi, ketika metode pembungkus membutuhkan daya komputasi terlalu banyak.

Metode Guru


  • Relief : Metode ini secara acak memilih sampel dari dataset dan memperbarui signifikansi setiap atribut berdasarkan perbedaan antara instance yang dipilih dan dua objek yang paling dekat dengannya dari kelas yang sama dan berlawanan. Jika ada perbedaan dalam nilai-nilai karakteristik untuk dua tetangga terdekat dari kelas yang sama, kepentingannya menurun, dan jika, sebaliknya, ada perbedaan antara nilai-nilai karakteristik untuk objek dari kelas yang berbeda, maka kepentingannya juga akan meningkat.

    Wi=Wi(xinearHiti)2+(xinearMissi)2



    Bobot atribut berkurang jika nilainya berbeda untuk objek terdekat dari kelas yang sama lebih dari untuk objek terdekat dari kelas yang berbeda; kalau tidak, beratnya bertambah.
    Algoritma ReliefF yang canggih menggunakan pembobotan fitur dan mencari tetangga terdekat lainnya.

    Implementasi: scikit-rebate , ReliefF
  • Skor Fisher : Biasa digunakan dalam masalah klasifikasi biner. Rasio Fisher (FiR) didefinisikan sebagai jarak antara nilai rata-rata atribut untuk setiap kelas dibagi dengan varians mereka:

    FiRi= frac left| barXi(0) barXi(1) kanan| sqrtvar(Xi)(0)+var(Xi)(1)



    Implementasi: fitur scikit , contoh penggunaan.
  • Skor Chi-squared : Memeriksa apakah ada perbedaan yang signifikan antara frekuensi yang diamati dan frekuensi yang diharapkan dari dua variabel kategori. Dengan demikian, hipotesis nol tentang tidak adanya hubungan antara dua variabel diuji.

    X2= frac( textrmFrekuensiyangdiamati textrmFrekuensiyangdiharapkan)2 textrmFrekuensiyangdiharapkan


    Kriteria independensi chi-square .

    Untuk menerapkan kriteria chi-square dengan benar untuk memeriksa hubungan antara tanda-tanda yang berbeda dari dataset dan variabel target, perlu untuk mengamati kondisi: variabel harus kategoris , independen dan harus memiliki frekuensi yang diharapkan lebih dari 5 . Kondisi terakhir menjamin bahwa CDF (fungsi kepadatan kumulatif) dari kriteria statistik (statistik uji) dapat diperkirakan dengan menggunakan distribusi chi-square. Pelajari lebih lanjut di sini .

    Implementasi: sklearn , scipy
  • CFS (Pemilihan fitur berbasis korelasi): Dasar pemikiran untuk metode ini dapat dirumuskan sebagai berikut:

    Tanda relevan jika nilainya berubah secara sistematis tergantung pada miliknya pada salah satu atau kategori lainnya.

    Dengan demikian, subset fitur yang baik berisi fitur-fitur yang sangat berkorelasi dengan variabel target, sementara tidak saling berkorelasi. Skor subset fitur k dihitung sebagai berikut :

    MeritSk= frackrcf sqrtk+k(k1) barrff



    Di sini rcfApakah rata-rata semua korelasi antara sifat dan kelas, dan  barrff- nilai rata-rata semua korelasi antara fitur. Kriteria CFS didefinisikan sebagai berikut:

    CFS = \ underset {S_ {k}} {max} \ kiri [\ frac {r_ {cf_ {1}} + r_ {cf_ {2}} + \ cdots + r_ {cf_ {k}}} {\ sqrt {k + 2 (r_ {f_ {1} f_ {2}} + \ cdots + r_ {f_ {i} f_ {j}} + \ cdots + r_ {f_ {k} f_ {1}})}}} benar]



    Implementasi: fitur scikit , contoh penggunaan.
  • FCBF (Filter berbasis korelasi cepat): Metode ini bekerja lebih cepat dan lebih efisien daripada ReliefF dan CFS, dan karenanya lebih umum digunakan untuk input dimensi tinggi. Bahkan, ini adalah pendekatan khas yang memperhitungkan relevansi dan redundansi akun, di mana Ketidakpastian Simetris pertama dihitung untuk semua atribut (informasi timbal balik antara X dan YI (X, Y) dibagi dengan jumlah entropi mereka), kemudian atribut diurutkan berdasarkan kriteria ini, dan maka kelebihannya dihapus.

    Implementasi: skfeature , https://github.com/shiralkarprashant/FCBF

Metode tanpa guru


  • Varians : Telah ditunjukkan bahwa estimasi varians karakter dapat menjadi cara yang efektif untuk memilih sifat. Sebagai aturan, tanda dengan dispersi hampir nol tidak signifikan dan dapat dihilangkan.

    Implementasi: Variance Threshold
  • Perbedaan absolut rata-rata : Hitung perbedaan absolut rata-rata antara nilai-nilai atribut dan nilai rata-rata ( implementasi ).

    MADi= frac1n sumj=1n kiri|Xij barXi right|



    Nilai yang lebih tinggi cenderung memiliki daya prediksi yang lebih tinggi.
  • Rasio dispersi : Rata-rata aritmatika dibagi dengan rata-rata geometrik. Varians yang lebih tinggi sesuai dengan fitur yang lebih relevan ( implementasi ).

    AMi= barXi= frac1n sumj=1nXij


    GMi=( prodj=1nXij)



    Sejak AMi geqslantGMijika dan hanya jika kesetaraan dihormati Xi1=Xi2= cdots=Xinlalu:

    Ri= fracAMiGMi di kiri[1,+ infty right)
  • Skor Laplacian : Berdasarkan pengamatan bahwa data dari satu kelas sering terletak lebih dekat satu sama lain, sehingga Anda dapat mengevaluasi pentingnya fitur dengan kemampuannya untuk mencerminkan kedekatan ini. Metode ini terdiri dari menanamkan data dalam grafik tetangga terdekat dengan mengukur jarak sewenang-wenang, diikuti dengan menghitung matriks bobot. Kemudian, untuk setiap fitur, kami menghitung kriteria Laplace dan mendapatkan properti sedemikian sehingga nilai terkecil sesuai dengan dimensi paling penting. Namun, dalam praktiknya, ketika memilih subset fitur, algoritma pengelompokan yang berbeda (metode k-means) biasanya digunakan, dengan mana kelompok yang paling efektif dipilih.

    Implementasi: fitur scikit
  • Kriteria Laplace dikombinasikan dengan entropi berbasis jarak : algoritma didasarkan pada kriteria Laplace, di mana pengelompokan k-means digantikan oleh entropi. Algoritma menunjukkan stabilitas yang lebih tinggi pada dataset dimensi tinggi ( implementasi ).
  • MCFS (Pemilihan Fitur Multi-Cluster): Analisis spektral dilakukan untuk mengukur korelasi antara karakteristik yang berbeda. Untuk pengelompokan data dan evaluasi fitur, vektor eigen dari operator Laplacian digunakan. Perhitungan mereka dijelaskan dalam makalah ini.

    Implementasi: https://github.com/danilkolikov/fsfc
  • Algoritma LFSBSS (pemilihan fitur yang dilokalkan), k-means tertimbang (k-means tertimbang), SPEC dan Apriori dipertimbangkan di sini dan diimplementasikan dalam paket ini.

Metode hibrid


Cara lain untuk mengimplementasikan pemilihan fitur adalah gabungan antara filter dan pembungkus yang digabungkan dalam proses dua fase: pertama, fitur disaring oleh properti statistik, dan kemudian metode pembungkus diterapkan.

Sumber lainnya


Banyak literatur telah ditulis di mana masalah memilih fitur dipertimbangkan, dan di sini kita hanya sedikit menyentuh seluruh susunan karya penelitian ilmiah.

Daftar lengkap algoritma pemilihan sifat lainnya yang tidak saya sebutkan diimplementasikan dalam paket fitur scikit .

Fitur yang relevan juga dapat ditentukan dengan menggunakan PLS (Kuadrat terkecil parsial, seperti yang dijelaskan dalam artikel ini, atau menggunakan metode pengurangan dimensi linier, seperti yang ditunjukkan di sini .

Inflasi Jet yang Diterjemahkan

Source: https://habr.com/ru/post/id470622/


All Articles