Saya membaca di suatu tempat bahwa jika kita memiliki fitur yang terlalu berkorelasi, kita harus menghapus satu, karena ini dapat memperburuk model. Jelas bahwa fitur yang berkorelasi berarti mereka membawa informasi yang sama, jadi masuk akal untuk menghapus salah satunya. Tapi saya tidak bisa mengerti mengapa ini bisa memperburuk model.
machine-learning
correlation
Laba-laba
sumber
sumber
Jawaban:
Fitur yang berhubungan secara umum tidak meningkatkan model (meskipun tergantung pada spesifikasi masalah seperti jumlah variabel dan tingkat korelasi), tetapi mereka mempengaruhi model tertentu dengan cara yang berbeda dan untuk berbagai tingkat:
Untuk model linier (misalnya, regresi linier atau regresi logistik), multikolinearitas dapat menghasilkan solusi yang sangat bervariasi dan mungkin tidak stabil secara numerik .
Hutan acak bisa bagus dalam mendeteksi interaksi antara fitur yang berbeda, tetapi fitur yang sangat berkorelasi dapat menutupi interaksi ini.
Secara lebih umum, ini dapat dipandang sebagai kasus khusus dari pisau Occam . Model yang lebih sederhana lebih disukai, dan, dalam beberapa hal, model dengan fitur yang lebih sedikit lebih sederhana. Konsep panjang deskripsi minimum membuatnya lebih tepat.
sumber
(Dengan asumsi Anda berbicara tentang pembelajaran yang diawasi)
Fitur terkait tidak akan selalu memperburuk model Anda, tetapi mereka tidak akan selalu memperbaikinya juga.
Ada tiga alasan utama mengapa Anda akan menghapus fitur berkorelasi:
Karena kutukan dimensi, fitur yang kurang biasanya berarti peningkatan tinggi dalam hal kecepatan.
Jika kecepatan bukan masalah, mungkin jangan langsung menghapus fitur-fitur ini (lihat poin berikutnya)
Kata kunci berbahaya. Jika Anda memiliki fitur yang berkorelasi tetapi mereka juga berkorelasi dengan target, Anda ingin tetap menggunakannya. Anda dapat melihat fitur sebagai petunjuk untuk membuat tebakan yang baik, jika Anda memiliki dua petunjuk yang pada dasarnya sama, tetapi itu adalah petunjuk yang baik, mungkin bijaksana untuk menyimpannya.
Beberapa algoritma seperti Naive Bayes sebenarnya secara langsung mendapat manfaat dari fitur yang berkorelasi "positif". Dan yang lain seperti hutan acak mungkin secara tidak langsung mendapat manfaat darinya.
Bayangkan memiliki 3 fitur A, B, dan C. A dan B sangat berkorelasi dengan target dan satu sama lain, dan C tidak sama sekali. Jika Anda mencicipi dari 3 fitur, Anda memiliki 2/3 peluang untuk mendapatkan fitur "baik", sedangkan jika Anda menghapus B misalnya, peluang ini turun menjadi 1/2
Tentu saja, jika fitur yang dikorelasikan tidak super informatif di tempat pertama, algoritma mungkin tidak terlalu menderita.
Begitu bermoral dari cerita ini, menghapus fitur-fitur ini mungkin diperlukan karena kecepatan, tetapi ingat bahwa Anda mungkin membuat algoritma Anda lebih buruk dalam prosesnya. Juga, beberapa algoritma seperti pohon keputusan memiliki pemilihan fitur yang tertanam di dalamnya.
Cara yang baik untuk mengatasinya adalah dengan menggunakan metode pembungkus untuk pemilihan fitur. Ini akan menghapus fitur yang berlebihan hanya jika mereka tidak berkontribusi langsung ke kinerja. Jika mereka berguna seperti di bayes naif, mereka akan disimpan. (Meskipun ingat bahwa metode pembungkus mahal dan dapat menyebabkan overfitting)
Jika model Anda perlu ditafsirkan, Anda mungkin terpaksa membuatnya lebih sederhana. Pastikan juga mengingat pisau cukur Occam. Jika model Anda tidak "jauh" lebih buruk dengan lebih sedikit fitur, maka Anda mungkin harus menggunakan lebih sedikit fitur.
sumber
Terkadang fitur yang berkorelasi - dan duplikasi informasi yang menyediakan - tidak merusak sistem prediksi. Pertimbangkan ansambel pohon keputusan, yang masing-masing mempertimbangkan sampel baris dan sampel kolom. Jika dua kolom sangat berkorelasi, ada kemungkinan salah satu dari mereka tidak akan dipilih dalam sampel kolom pohon tertentu, dan pohon itu akan tergantung pada kolom yang tersisa. Fitur yang terkait artinya Anda dapat mengurangi overfitting (melalui pengambilan sampel kolom) tanpa memberikan terlalu banyak kualitas prediktif.
sumber
Membuat keputusan harus dilakukan pada variabel minimum yang diperlukan untuk melakukannya. Ini, seperti yang disebutkan di atas, formalisasi silet Occam dengan panjang deskripsi minimum di atas. Aku menyukai yang itu.
Saya cenderung mencirikan fenomena ini dalam sesuatu seperti HDDT yang berarti pohon paling efisien yang tidak membuat keputusan palsu berdasarkan data yang tersedia, dan menghindari semua contoh keputusan yang mungkin dibuat pada beberapa titik data tanpa memahami bahwa mereka berkorelasi .
sumber
Dalam perspektif menyimpan data dalam basis data, menyimpan fitur yang berkorelasi sama dengan menyimpan informasi yang berlebihan yang dapat menyebabkan pemborosan penyimpanan dan juga dapat menyebabkan data yang tidak konsisten setelah memperbarui atau mengedit tupel.
Jika kita menambahkan begitu banyak fitur yang berkorelasi pada model kita dapat menyebabkan model mempertimbangkan fitur yang tidak perlu dan kita mungkin memiliki kutukan masalah dimensi tinggi , saya kira ini adalah alasan untuk memperburuk model yang dibangun.
Dalam konteks pembelajaran mesin biasanya kita gunakan
PCA
untuk mengurangi dimensi pola input. Pendekatan ini mempertimbangkan untuk menghapus fitur yang berkorelasi dengan cara tertentu (menggunakanSVD
) dan merupakan pendekatan tanpa pengawasan. Ini dilakukan untuk mencapai tujuan berikut:Meskipun ini mungkin tidak tampak baik-baik saja tetapi saya telah melihat orang-orang yang menggunakan fitur yang dihapus berkorelasi untuk menghindari overfitting tetapi saya tidak berpikir itu adalah praktik yang baik. Untuk informasi lebih lanjut, saya sangat menyarankan Anda untuk melihat di sini .
Alasan lain adalah bahwa dalam model pembelajaran yang mendalam, seperti
MLPs
jika Anda menambahkan fitur yang berkorelasi, Anda hanya menambahkan informasi yang tidak perlu yang menambahkan lebih banyak perhitungan dan parameter ke model.sumber
Jawaban atas pertanyaan ini sangat tergantung pada tujuan model. Dalam kesimpulan, fitur yang sangat berkorelasi adalah masalah yang terkenal. Sebagai contoh, dua fitur yang sangat berkorelasi satu sama lain dan dengan y, mungkin keduanya keluar sebagai tidak signifikan dalam model inferensi, berpotensi kehilangan sinyal penjelasan yang penting. Oleh karena itu, dalam kesimpulan biasanya dianjurkan untuk mengencerkannya.
Jika pembelajaran Anda yang diawasi adalah untuk prediksi, jawabannya - berlawanan dengan kebijaksanaan konvensional - biasanya sebaliknya. Satu-satunya alasan untuk menghapus fitur yang sangat berkorelasi adalah masalah penyimpanan dan kecepatan. Selain itu, yang penting tentang fitur adalah apakah mereka berkontribusi pada prediksi, dan apakah kualitas datanya memadai.
Fitur yang didominasi kebisingan akan cenderung kurang berkorelasi dengan fitur lain, dibandingkan fitur yang berkorelasi dengan y. Oleh karena itu, seperti yang disebutkan di atas dalam contoh oleh Valentin, penipisan yang terakhir akan meningkatkan proporsi yang sebelumnya.
Secara khusus, metode seperti hutan acak dan KNN memperlakukan semua fitur secara merata, sehingga menipiskan fitur yang berkorelasi secara langsung mengurangi rasio signal-to-noise mereka.
Metode yang memilih fitur otomatis seperti pohon tunggal, laso "murni", atau jaringan saraf, mungkin kurang terpengaruh. Tetapi bahkan kemudian, selain waktu komputasi yang lebih lama, jarang ada yang hilang dari prediksi untuk menjaga fitur yang berkorelasi dalam campuran.
sumber