Apakah penting untuk melakukan normalisasi untuk SVM dan Random Forest?

Jawaban:

29

Jawaban untuk pertanyaan Anda tergantung pada kesamaan / fungsi jarak yang Anda rencanakan untuk digunakan (dalam SVM). Jika jarak Euclidean sederhana (tidak berbobot), maka jika Anda tidak menormalkan data, tanpa disadari Anda memberi beberapa fitur lebih penting daripada yang lain.

Misalnya, jika dimensi pertama Anda berkisar 0-10, dan dimensi kedua dari 0-1, selisih 1 pada dimensi pertama (hanya sepersepuluh dari rentang) berkontribusi banyak dalam perhitungan jarak seperti dua nilai yang sangat berbeda dalam dimensi kedua (0 dan 1). Jadi dengan melakukan ini, Anda melebih-lebihkan perbedaan kecil di dimensi pertama. Anda tentu saja dapat memunculkan fungsi jarak kustom atau menimbang dimensi Anda dengan perkiraan ahli, tetapi ini akan menghasilkan banyak parameter yang dapat disesuaikan tergantung pada dimensi data Anda. Dalam hal ini, normalisasi adalah jalan yang lebih mudah (walaupun belum tentu ideal) karena Anda setidaknya bisa memulai.

Akhirnya, masih untuk SVM, hal lain yang dapat Anda lakukan adalah datang dengan fungsi kesamaan daripada fungsi jarak dan pasang sebagai kernel (secara teknis fungsi ini harus menghasilkan matriks positif-pasti). Fungsi ini dapat dibangun dengan cara apa pun yang Anda suka dan dapat memperhitungkan perbedaan dalam rentang fitur.

Untuk hutan acak di sisi lain, karena satu fitur tidak pernah dibandingkan besarnya dengan fitur lainnya, rentang tidak menjadi masalah. Hanya rentang satu fitur yang dipisah pada setiap tahap.

Ansari
sumber
12

Acak Hutan tidak berubah pada transformasi monoton fitur individu. Terjemahan atau per penskalaan fitur tidak akan mengubah apa pun untuk Hutan Acak. SVM mungkin akan melakukan yang lebih baik jika fitur Anda memiliki besaran yang kira-kira sama, kecuali jika Anda tahu apriori bahwa beberapa fitur jauh lebih penting daripada yang lain, dalam hal ini tidak masalah untuk memiliki besaran yang lebih besar.

Radenud
sumber