Pemilihan ciri dalam pembelajaran mesin

Hai Habr!

Kami di Reksoft menterjemah artikel itu ke dalam bahasa Rusia Pemilihan Ciri dalam Pembelajaran Mesin. Kami berharap ia akan berguna kepada semua orang yang berminat dengan topik ini.

Dalam dunia nyata, data tidak selalu bersih seperti yang kadangkala difikirkan oleh pelanggan perniagaan. Inilah sebabnya mengapa perlombongan data dan perbalahan data sangat diperlukan. Ia membantu mengenal pasti nilai dan corak yang hilang dalam data berstruktur pertanyaan yang tidak dapat dikenal pasti oleh manusia. Untuk mencari dan menggunakan corak ini untuk meramalkan hasil menggunakan perhubungan yang ditemui dalam data, pembelajaran mesin amat berguna.

Untuk memahami sebarang algoritma, anda perlu melihat semua pembolehubah dalam data dan memikirkan perkara yang diwakili oleh pembolehubah tersebut. Ini penting kerana rasional di sebalik keputusan adalah berdasarkan pemahaman data. Jika data mengandungi 5 atau 50 pembolehubah, anda boleh memeriksa semuanya. Bagaimana jika terdapat 200 daripadanya? Maka tidak akan ada masa yang cukup untuk mengkaji setiap pembolehubah tunggal. Selain itu, sesetengah algoritma tidak berfungsi untuk data kategori, dan kemudian anda perlu menukar semua lajur kategori kepada pembolehubah kuantitatif (ia mungkin kelihatan kuantitatif, tetapi metrik akan menunjukkan bahawa ia adalah kategori) untuk menambahkannya pada model. Oleh itu, bilangan pembolehubah meningkat, dan terdapat kira-kira 500 daripadanya. Apa yang perlu dilakukan sekarang? Seseorang mungkin berfikir bahawa jawapannya adalah untuk mengurangkan dimensi. Algoritma pengurangan dimensi mengurangkan bilangan parameter tetapi mempunyai kesan negatif terhadap kebolehtafsiran. Bagaimana jika terdapat teknik lain yang menghapuskan ciri sambil menjadikan yang selebihnya mudah difahami dan ditafsirkan?

Bergantung pada sama ada analisis berdasarkan regresi atau klasifikasi, algoritma pemilihan ciri mungkin berbeza, tetapi idea utama pelaksanaannya tetap sama.

Pembolehubah Berkorelasi Tinggi

Pembolehubah yang sangat berkorelasi antara satu sama lain memberikan maklumat yang sama kepada model, jadi tidak perlu menggunakan kesemuanya untuk analisis. Contohnya, jika set data mengandungi ciri "Masa Dalam Talian" dan "Trafik Digunakan", kita boleh mengandaikan bahawa ia akan agak berkorelasi dan kita akan melihat korelasi yang kukuh walaupun kita memilih sampel data yang tidak berat sebelah. Dalam kes ini, hanya satu daripada pembolehubah ini diperlukan dalam model. Jika anda menggunakan kedua-duanya, model itu akan dipasang terlalu banyak dan berat sebelah terhadap satu ciri tertentu.

P-nilai

Dalam algoritma seperti regresi linear, model statistik awal sentiasa merupakan idea yang baik. Ia membantu untuk menunjukkan kepentingan ciri melalui nilai-p mereka yang diperolehi oleh model ini. Setelah menetapkan tahap keertian, kami menyemak nilai-p yang terhasil, dan jika mana-mana nilai berada di bawah tahap keertian yang ditentukan, maka ciri ini diisytiharkan signifikan, iaitu perubahan dalam nilainya berkemungkinan membawa kepada perubahan dalam nilai sasaran.

Pemilihan langsung

Pemilihan ke hadapan ialah teknik yang melibatkan penggunaan regresi berperingkat. Pembinaan model bermula dengan sifar lengkap, iaitu model kosong, dan kemudian setiap lelaran menambah pembolehubah yang membuat penambahbaikan kepada model yang sedang dibina. Pembolehubah mana yang ditambah kepada model ditentukan oleh kepentingannya. Ini boleh dikira menggunakan pelbagai metrik. Cara yang paling biasa ialah menggunakan nilai-p yang diperoleh dalam model statistik asal menggunakan semua pembolehubah. Kadangkala pemilihan ke hadapan boleh menyebabkan model terlalu sesuai kerana mungkin terdapat pembolehubah yang sangat berkorelasi dalam model, walaupun ia memberikan maklumat yang sama kepada model (tetapi model masih menunjukkan peningkatan).

Pemilihan terbalik

Pemilihan songsang juga melibatkan penghapusan ciri-ciri langkah demi langkah, tetapi dalam arah yang bertentangan berbanding dengan pemilihan hadapan. Dalam kes ini, model awal merangkumi semua pembolehubah bebas. Pembolehubah kemudiannya dihapuskan (satu setiap lelaran) jika ia tidak menyumbang nilai kepada model regresi baharu dalam setiap lelaran. Pengecualian ciri adalah berdasarkan nilai-p model awal. Kaedah ini juga mempunyai ketidakpastian apabila mengalih keluar pembolehubah yang sangat berkorelasi.

Penghapusan Ciri Rekursif

RFE ialah teknik/algoritma yang digunakan secara meluas untuk memilih bilangan tepat ciri penting. Kadangkala kaedah digunakan untuk menerangkan beberapa ciri "paling penting" yang mempengaruhi keputusan; dan kadangkala untuk mengurangkan bilangan pembolehubah yang sangat besar (kira-kira 200-400), dan hanya yang membuat sekurang-kurangnya beberapa sumbangan kepada model dikekalkan, dan semua yang lain dikecualikan. RFE menggunakan sistem ranking. Ciri-ciri dalam set data diberi pangkat. Kedudukan ini kemudiannya digunakan untuk menghapuskan ciri secara rekursif berdasarkan kolineariti antara mereka dan kepentingan ciri tersebut dalam model. Selain ciri kedudukan, RFE boleh menunjukkan sama ada ciri ini penting atau tidak walaupun untuk bilangan ciri tertentu (kerana kemungkinan besar bilangan ciri yang dipilih mungkin tidak optimum dan bilangan ciri optimum mungkin lebih banyak. atau kurang daripada nombor yang dipilih).

Rajah Kepentingan Ciri

Apabila bercakap tentang kebolehtafsiran algoritma pembelajaran mesin, kami biasanya membincangkan regresi linear (yang membolehkan anda menganalisis kepentingan ciri menggunakan nilai-p) dan pepohon keputusan (menunjukkan secara literal kepentingan ciri dalam bentuk pokok, dan pada masa yang sama hierarki mereka). Sebaliknya, algoritma seperti Random Forest, LightGBM dan XG Boost sering menggunakan rajah kepentingan ciri, iaitu rajah pembolehubah dan "nombor kepentingannya" diplotkan. Ini amat berguna apabila anda perlu menyediakan rasional berstruktur untuk kepentingan atribut dari segi kesannya terhadap perniagaan.

Regularisasi

Regularisasi dilakukan untuk mengawal keseimbangan antara bias dan varians. Bias menunjukkan berapa banyak model telah terlampau pada set data latihan. Sisihan menunjukkan betapa berbezanya ramalan antara set data latihan dan ujian. Sebaik-baiknya, kedua-dua bias dan varians hendaklah kecil. Di sinilah regularisasi datang untuk menyelamatkan! Terdapat dua teknik utama:

L1 Regularization - Lasso: Lasso menghukum berat model untuk menukar kepentingannya kepada model dan malah boleh membatalkannya (iaitu mengalih keluar pembolehubah tersebut daripada model akhir). Biasanya, Lasso digunakan apabila set data mengandungi sejumlah besar pembolehubah dan anda ingin mengecualikan sebahagian daripadanya untuk lebih memahami cara ciri penting mempengaruhi model (iaitu ciri yang telah dipilih oleh Lasso dan telah diberi kepentingan).

L2 Regularization - Kaedah Ridge: Tugas Ridge adalah untuk menyimpan semua pembolehubah dan pada masa yang sama memberikan kepentingan kepada mereka berdasarkan sumbangannya kepada prestasi model. Ridge akan menjadi pilihan yang baik jika set data mengandungi sejumlah kecil pembolehubah dan kesemuanya perlu untuk mentafsir penemuan dan keputusan yang diperolehi.

Memandangkan Ridge menyimpan semua pembolehubah dan Lasso melakukan tugas yang lebih baik untuk menentukan kepentingannya, algoritma telah dibangunkan yang menggabungkan ciri terbaik kedua-dua regularisasi, yang dikenali sebagai Elastic-Net.

Terdapat banyak lagi cara untuk memilih ciri untuk pembelajaran mesin, tetapi idea utama sentiasa sama: menunjukkan kepentingan pembolehubah dan kemudian menghapuskan sebahagian daripadanya berdasarkan kepentingan yang terhasil. Kepentingan ialah istilah yang sangat subjektif, kerana ia bukan hanya satu, tetapi keseluruhan set metrik dan carta yang boleh digunakan untuk mencari atribut utama.

Terima kasih kerana membaca! Selamat belajar!

Sumber: www.habr.com

Tambah komen