Tujuan normalisasi adalah mengubah fitur agar berada pada skala yang serupa. Hal ini meningkatkan performa dan stabilitas pelatihan model.
Sekilas Teknik Normalisasi
Empat teknik normalisasi umum mungkin berguna:
- menskalakan ke rentang
- pemotongan
- penskalaan log
- skor-z
Diagram berikut menunjukkan efek setiap teknik normalisasi pada distribusi fitur mentah (harga) di sebelah kiri. Diagram ini didasarkan pada set data dari Automotive Yearbook tahun 1985 di Ward yang merupakan bagian dari UCI Machine Learning Repository pada Automobile Data Set.
Gambar 1. Ringkasan teknik normalisasi.
Penskalaan ke rentang
Ingat dari MLCC bahwa penskalaan berarti mengonversi nilai fitur floating point dari rentang alaminya (misalnya, 100 hingga 900) ke rentang standar—biasanya 0 dan 1 (atau terkadang -1 ke +1). Gunakan formula sederhana berikut untuk menskalakan ke rentang:
\[ x' = (x - x_{min}) / (x_{max} - x_{min}) \]
Penskalaan ke rentang adalah pilihan yang baik jika kedua kondisi berikut terpenuhi:
- Anda mengetahui perkiraan batas atas dan bawah pada data dengan sedikit atau tanpa pencilan.
- Data Anda kira-kira tersebar secara merata di seluruh rentang tersebut.
Contoh yang bagus adalah usia. Sebagian besar nilai usia berada di antara 0 dan 90, dan setiap bagian dari rentang tersebut memiliki jumlah orang yang cukup besar.
Sebaliknya, Anda tidak akan menggunakan penskalaan pada pendapatan, karena hanya beberapa orang memiliki pendapatan yang sangat tinggi. Batas atas skala linear untuk pendapatan akan sangat tinggi, dan sebagian besar orang akan dimasukkan ke dalam bagian kecil skala tersebut.
Kliping Fitur
Jika set data Anda berisi pencilan yang ekstrem, Anda dapat mencoba memotong fitur, yang membatasi semua nilai fitur di atas (atau di bawah) nilai tertentu ke nilai tetap. Misalnya, Anda dapat memotong semua nilai suhu di atas 40 menjadi tepat 40.
Anda dapat menerapkan pemotongan fitur sebelum atau setelah normalisasi lainnya.
Formula: Tetapkan nilai min/maks untuk menghindari pencilan.
Gambar 2. Membandingkan distribusi mentah dan versi terpotongnya.
Strategi pemangkasan sederhana lainnya adalah memotong skor z menjadi +-NŌ (misalnya, batasi hingga +-3TRY). Perhatikan bahwa SSB adalah simpangan standar.
Penskalaan Log
Penskalaan log menghitung log nilai untuk mengompresi rentang yang luas ke rentang yang sempit.
\[ x' = log(x) \]
Penskalaan log berguna jika beberapa nilai memiliki banyak poin, sementara sebagian besar nilai lainnya memiliki sedikit poin. Distribusi data ini dikenal sebagai distribusi power law. Rating film adalah contoh yang baik. Dalam diagram di bawah ini, sebagian besar film memiliki sangat sedikit rating (data di belakang angka), sementara beberapa film memiliki banyak rating (data di awal). Penskalaan log mengubah distribusi, membantu meningkatkan performa model linear.
Gambar 3. Membandingkan distribusi mentah dengan lognya.
Skor Z
Z-score adalah variasi penskalaan yang merepresentasikan jumlah simpangan standar dari rerata. Anda akan menggunakan skor z untuk memastikan distribusi fitur Anda memiliki rata-rata = 0 dan std = 1. Hal ini berguna jika ada beberapa pencilan, tetapi tidak terlalu ekstrem sehingga Anda perlu klip.
Formula untuk menghitung skor-z suatu titik, x, adalah sebagai berikut:
\[ x' = (x - μ) / σ \]
Gambar 4. Membandingkan distribusi mentah dengan distribusi skor z.
Perhatikan bahwa skor z akan menekan nilai mentah yang memiliki rentang ~40.000 hingga rentang dari sekitar -1 hingga +4.
Misalkan Anda tidak yakin apakah pencilan benar-benar ekstrem. Dalam hal ini, mulailah dengan skor z kecuali Anda memiliki nilai fitur yang tidak ingin dipelajari oleh model; misalnya, nilainya adalah hasil dari error pengukuran atau quirk.
Ringkasan
Teknik Normalisasi | Formula | Kapan Digunakan |
---|---|---|
Penskalaan Linear | $$ x' = (x - x_{min}) / (x_{max} - x_{min}) $$ | Jika fitur didistribusikan kurang lebih secara seragam atau kurang di rentang tetap. |
Klip | jika x > maks, maka x' = maks. jika x < mnt, maka x' = mnt | Jika fitur memiliki beberapa pencilan yang ekstrem. |
Penskalaan Log | x' = log(x) | Saat fitur sesuai dengan hukum yang berlaku. |
Skor Z | x' = (x - μ) / SSB | Jika distribusi fitur tidak berisi pencilan yang ekstrem. |