Traffine I/O

Bahasa Indonesia

2022-07-03

Normalisasi dan Standarisasi

Apa itu Normalisasi dan Standarisasi

Normalisasi dan standarisasi adalah dua teknik penskalaan fitur yang populer digunakan untuk menangani tantangan bekerja dengan data yang memiliki skala yang berbeda. Kedua teknik bertujuan untuk mengubah fitur input menjadi skala yang sama, tetapi berbeda dalam pendekatan dan asumsi yang digunakan.

Teknik normalisasi biasanya mengubah skala fitur input menjadi rentang tertentu, seperti [0, 1] atau [-1, 1]. Hal ini dicapai dengan penskalaan data berdasarkan nilai minimum dan maksimumnya, menggunakan normalisasi L1 atau L2, atau menerapkan berbagai transformasi seperti log, Box-Cox, atau transformasi Yeo-Johnson. Teknik ini cocok untuk data dengan rentang nilai yang diketahui atau diinginkan dan sangat berguna saat bekerja dengan distribusi yang tidak berdistribusi normal.

Teknik standarisasi, di sisi lain, mengubah fitur input sehingga memiliki rata-rata nol dan varians unit. Hal ini dilakukan dengan mengurangi rata-rata dan membaginya dengan simpangan baku, efektif membuat distribusi terpusat pada nilai nol. Teknik standarisasi seperti standarisasi Z-score, median dan median absolute deviation (MAD) standarisasi, dan skalabilitas kuat, cocok untuk data dengan distribusi yang tidak diketahui atau saat asumsi distribusi Gaussian layak digunakan.

Teknik Normalisasi

Normalisasi Min-Max

Normalisasi Min-Max adalah teknik yang sederhana dan banyak digunakan yang mengubah skala fitur dari sebuah dataset menjadi rentang tertentu, biasanya [0, 1]. Formula untuk Normalisasi Min-Max adalah:

x_{normalized} = \frac{x - \min(x)}{\max(x) - \min(x)}

di mana x adalah nilai asli dari sebuah fitur, dan \min(x) dan \max(x) adalah nilai minimum dan maksimum dari fitur tersebut, masing-masing. Teknik ini mudah diimplementasikan dalam kebanyakan bahasa pemrograman dan perpustakaan pembelajaran mesin.

Keuntungan

  • Mudah dipahami dan diimplementasikan
  • Cocok untuk data dengan rentang nilai yang diketahui atau diinginkan
  • Mempertahankan distribusi data asli

Kerugian

  • Sensitif terhadap nilai outlier, yang dapat menyebabkan data mayoritas terkompresi dalam rentang yang kecil
  • Tidak cocok untuk data dengan rentang yang tidak diketahui atau tak terbatas

Normalisasi L1 dan L2

Normalisasi L1 dan L2 adalah teknik yang mengubah skala data berdasarkan norma L1 atau L2 masing-masing. Norma L1 adalah jumlah nilai absolut dari vektor fitur, sedangkan norma L2 adalah akar kuadrat dari jumlah nilai kuadrat dari vektor fitur. Formula untuk Normalisasi L1 dan L2 adalah:

  • Normalisasi L1: x_{normalized} = \frac{x}{||x||_1}
  • Normalisasi L2: x_{normalized} = \frac{x}{||x||_2}

di mana x adalah vektor fitur asli dan ||x||_1 dan ||x||_2 adalah norma L1 dan L2 dari vektor fitur, masing-masing. Teknik ini dapat diimplementasikan dengan mudah menggunakan perpustakaan pembelajaran mesin populer.

Keuntungan

  • Kurang sensitif terhadap nilai outlier dibandingkan Normalisasi Min-Max
  • Normalisasi L1 menciptakan vektor fitur yang jarang, yang dapat berguna untuk seleksi fitur dan reduksi dimensi
  • Normalisasi L2 invarian terhadap skala dan rotasi data input

Kerugian

  • Normalisasi L1 mungkin tidak cocok untuk data dengan banyak nilai nol
  • Normalisasi L2 sensitif terhadap adanya nilai yang sangat besar dalam data

Transformasi Log

Transformasi log adalah jenis teknik normalisasi yang menerapkan fungsi logaritmik pada data input. Teknik ini berguna untuk mengurangi dampak outlier dan mengubah data dengan distribusi yang condong (skewed). Formula untuk transformasi log adalah:

x_{normalized} = \log(x + k)

di mana x adalah nilai asli dari fitur, dan k adalah konstanta kecil yang ditambahkan untuk menghindari mengambil logaritma dari nol. Pilihan umum untuk fungsi logaritmik meliputi logaritma alami (basis e), logaritma umum (basis 10), dan logaritma biner (basis 2).

Transformasi log dapat diimplementasikan dengan mudah menggunakan perpustakaan pembelajaran mesin populer atau perpustakaan pemrograman standar yang biasanya menyediakan fungsi logaritmik bawaan.

Keuntungan

  • Mengurangi dampak outlier
  • Mengubah distribusi yang condong (skewed) menjadi lebih simetris
  • Stabilisasi varian data
  • Dapat diterapkan pada data dengan skala yang berbeda

Kerugian

  • Membutuhkan input data yang ketat positif (memerlukan penambahan konstanta jika tidak)
  • Sensitif terhadap pilihan basis logaritma yang digunakan
  • Mungkin tidak cocok untuk data dengan banyak nilai nol

Transformasi Box-Cox

Transformasi Box-Cox adalah keluarga teknik normalisasi yang dapat digunakan untuk menstabilkan varian dan membuat data lebih menyerupai distribusi Gaussian. Formula untuk transformasi Box-Cox adalah:

x_{normalized} = \frac{x^\lambda - 1}{\lambda} if \lambda \neq 0

x_{normalized} = \log(x) if \lambda = 0

di mana x adalah nilai asli dari fitur, dan \lambda adalah parameter yang menentukan kekuatan transformasi. Nilai optimal \lambda dapat ditemukan menggunakan estimasi likelihood maksimum atau teknik optimasi lainnya. Transformasi Box-Cox memerlukan input data yang ketat positif, sehingga konstanta mungkin perlu ditambahkan pada data sebelum menerapkan transformasi.

Keuntungan

  • Dapat menstabilkan varian dan membuat data lebih menyerupai distribusi Gaussian
  • Cocok untuk data dengan distribusi yang condong (skewed)
  • Nilai optimal \lambda dapat ditemukan menggunakan teknik optimasi yang telah mapan

Kerugian

  • Memerlukan input data yang ketat positif
  • Transformasi dapat sensitif terhadap pilihan nilai \lambda

Transformasi Yeo-Johnson

Transformasi Yeo-Johnson adalah ekstensi dari transformasi Box-Cox yang dapat diterapkan pada data positif dan negatif. Formula untuk transformasi Yeo-Johnson adalah:

x_{normalized} = \begin{cases} \frac{(x + 1)^\lambda - 1}{\lambda} & \text{if}\quad \lambda \neq 0 \quad\text{and}\quad x \geq 0 \\ \frac{-((-x + 1)^{2-\lambda} - 1)}{2 - \lambda} & \text{if}\quad \lambda \neq 2 \quad\text{and}\quad x < 0 \\ \log(x + 1) & \text{if}\quad \lambda = 0 \quad\text{and}\quad x \geq 0 \\ -\log(-x + 1) & \text{if}\quad \lambda = 2 \quad\text{and}\quad x < 0 \end{cases}

di mana x adalah nilai asli dari fitur, dan \lambda adalah parameter yang menentukan kekuatan transformasi. Serupa dengan transformasi Box-Cox, nilai optimal \lambda dapat ditemukan menggunakan estimasi likelihood maksimum atau teknik optimasi lainnya.

Keuntungan

  • Dapat diterapkan pada data positif dan negatif
  • Dapat menstabilkan varian dan membuat data lebih menyerupai distribusi Gaussian
  • Nilai optimal \lambda dapat ditemukan menggunakan teknik optimasi yang telah mapan

Kerugian

  • Lebih kompleks dibandingkan transformasi Box-Cox
  • Transformasi dapat sensitif terhadap pilihan nilai \lambda

Teknik Standarisasi

Standarisasi Z-Skor

Standarisasi Z-skor, juga dikenal sebagai normalisasi skor standar, adalah teknik yang mentransformasikan fitur input untuk memiliki rata-rata nol dan variansi satuan. Hal ini dilakukan dengan mengurangi rata-rata dan membagi dengan simpangan baku. Rumus untuk standarisasi Z-skor adalah:

x_{normalized} = \frac{x - \mu}{\sigma}

di mana x adalah nilai asli dari fitur, \mu adalah rata-rata dari fitur, dan \sigma adalah simpangan baku dari fitur. Standarisasi Z-skor dapat dengan mudah diimplementasikan menggunakan pustaka pembelajaran mesin populer.

Keuntungan

  • Membuat distribusi menjadi terpusat pada nol dan di-skala agar memiliki variansi satuan
  • Cocok untuk data dengan distribusi yang tidak diketahui atau ketika asumsi distribusi Gaussian masuk akal
  • Meningkatkan kinerja dan konvergensi dari algoritma optimasi berbasis gradien

Kerugian

  • Sensitif terhadap nilai-nilai ekstrim, yang dapat mempengaruhi rata-rata dan simpangan baku
  • Mengasumsikan bahwa data mengikuti distribusi Gaussian

Standarisasi Median dan Median Deviasi Mutlak (MAD)

Standarisasi median dan median deviasi mutlak (MAD) adalah alternatif untuk standarisasi Z-skor yang lebih kuat terhadap nilai-nilai ekstrim. Alih-alih menggunakan rata-rata dan simpangan baku, teknik ini menggunakan median dan median deviasi mutlak. Rumus untuk standarisasi MAD adalah:

x_{normalized} = \frac{x - \text{median}(x)}{\text{MAD}(x)}

di mana x adalah nilai asli dari fitur, \text{median}(x) adalah median dari fitur, dan \text{MAD}(x) adalah median deviasi mutlak dari fitur. Standarisasi MAD dapat diimplementasikan menggunakan pustaka pembelajaran mesin populer.

Keuntungan

  • Lebih kuat terhadap nilai-nilai ekstrim dibandingkan standarisasi Z-skor
  • Cocok untuk data dengan distribusi non-Gaussian atau distribusi berat-ekor

Kerugian

  • Mengasumsikan bahwa data simetris di sekitar median
  • Mungkin kurang efisien dibandingkan standarisasi Z-skor untuk dataset besar

Skala Kuat

Skala kuat adalah teknik standarisasi yang menggunakan rentang interkuartil (IQR) untuk menskalakan data, membuatnya lebih kuat terhadap nilai-nilai ekstrim. Rumus untuk skala kuat adalah:

x_{normalized} = \frac{x - Q_1(x)}{Q_3(x) - Q_1(x)}

di mana x adalah nilai asli dari fitur, Q_1(x) adalah kuartil pertama (persentil ke-25) dari fitur, dan Q_3(x) adalah kuartil ketiga (persentil ke-75) dari fitur. Skala kuat dapat diimplementkan menggunakan pustaka pembelajaran mesin populer.

Keuntungan

  • Lebih kuat terhadap nilai-nilai ekstrim dibandingkan standarisasi Z-skor
  • Cocok untuk data dengan distribusi non-Gaussian atau distribusi berat-ekor
  • Menggunakan rentang interkuartil, yang kurang sensitif terhadap nilai-nilai ekstrim

Kerugian

  • Mungkin tidak cocok untuk data dengan skew yang kuat
  • Mengasumsikan bahwa data simetris di sekitar median

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!