Normalleştirmenin amacı, özellikleri benzer bir ölçekte olacak şekilde dönüştürmektir. Bu, modelin performansını ve eğitim kararlılığını iyileştirir.
Bir Bakışta Normalleştirme Teknikleri
Sık kullanılan dört normalleştirme tekniği yararlı olabilir:
- bir aralığa ölçeklendirme
- kırpma
- günlük ölçeklendirme
- z-puanı
Aşağıdaki grafiklerde her bir normalleştirme tekniğinin soldaki ham özelliğin (fiyat) dağılımı üzerindeki etkisi gösterilmektedir. Grafikler, Otomobil Veri Kümesi kapsamında UCI Makine Öğrenimi Deposu'nun bir parçası olan, 1985 Ward’s Automotive Yearbook'tan alınan veri kümesini temel almaktadır.
Şekil 1. Normalleştirme tekniklerinin özeti.
Bir aralığa ölçeklendirme
MLCC'ye göre geri çağırma, ölçeklendirmenin, kayan nokta özellik değerlerini doğal aralığından (örneğin, 100 ila 900) genellikle 0 ve 1 (veya bazen -1 ile +1 arası) standart bir aralığa dönüştürme anlamına gelir. Ölçeklendirmek için aşağıdaki basit formülü kullanın:
\[ x' = (x - x_{min}) / (x_{max} - x_{min}) \]
Bir aralığın ölçeklendirilmesi, aşağıdaki koşulların her ikisi de sağlandığında iyi bir seçimdir:
- Verilerinizde çok az veya hiç aykırı değer içeren yaklaşık üst ve alt sınırları biliyorsunuz.
- Verileriniz yaklaşık olarak bu aralık içinde eşit olarak dağıtılır.
Yaş, buna iyi bir örnek. Yaş değerlerinin çoğu 0 ile 90 arasındadır ve aralığın her bölümünde önemli sayıda kişi bulunur.
Bu durumun tersine, az sayıda insan çok yüksek gelirlere sahip olduğundan gelir ölçeklemeyi kullanmazsınız. Gelir için doğrusal ölçeğin üst sınırı çok yüksek olur ve çoğu kişi ölçeğin küçük bir parçasına sıkıştırılır.
Özellik Kırpma
Veri kümeniz aşırı aykırı değerler içeriyorsa belirli bir değerin üzerindeki (veya altındaki) tüm özellik değerlerini sabit değere çeviren özellik kırpma özelliğini deneyebilirsiniz. Örneğin, 40'ın üzerindeki tüm sıcaklık değerlerini tam olarak 40'a sabitleyebilirsiniz.
Özellik kırpma işlemini diğer normalleştirmelerden önce veya sonra uygulayabilirsiniz.
Formül: Aykırı değerleri önlemek için min./maks. değerleri ayarlayın.
Şekil 2. Ham dağıtımı ve kırpılmış sürümünü karşılaştırma.
Kırpmanın basit bir diğer stratejisi, z-çizgisi ile -+N{9/} işaretini (örneğin, +-3}{/ ile sınırlamak) eklemektir. TXT'nin standart sapma olduğunu unutmayın.
Ahşap Ölçeklendirme
Günlük ölçeklendirme, geniş bir aralığı dar bir aralıkla sıkıştırmak için değerlerinizin günlüğünü hesaplar.
\[ x' = log(x) \]
Günlük ölçeklendirme, değerlerinizden birkaçı çok sayıda nokta içerirken diğer değerlerin çoğu az nokta içerdiğinde yararlı olur. Bu veri dağıtımı, güç yasası dağıtımı olarak bilinir. Film derecelendirmeleri buna iyi bir örnektir. Aşağıdaki grafikte çoğu filmin derecelendirmeleri (kuyruktaki veriler), bazıları ise çok sayıda derecelendirmeye (başınızdaki veriler) sahiptir. Günlük ölçeklendirme, dağıtımı değiştirerek doğrusal model performansının iyileştirilmesine yardımcı olur.
3. Şekil. Bir ham dağıtımı günlüğüyle karşılaştırma.
Z Puanı
Z-puanı, ortalamadan ortalama standart sapmaların sayısını temsil eden bir ölçeklendirme varyasyonudur. Özellik dağılımlarınızın ortalama = 0 ve std = 1 olduğundan emin olmak için z puanını kullanırsınız. Bu değer, birkaç aykırı değer olsa da klip oluşturmaya ihtiyaç duymayacağınız kadar faydalıdır.
Bir noktanın (x) z puanını hesaplamak için formül şu şekildedir:
\[ x' = (x - μ) / σ \]
4. Şekil. Ham dağıtım, z-puanı dağılımıyla karşılaştırılıyor.
Z-puanı, ~40.000 aralığında olan ham değerleri yaklaşık -1 ile +4 aralığında olacak şekilde sıkıştırır.
Aykırı değerlerin gerçekten aşırı olduğundan emin olmadığınızı varsayalım. Bu durumda, modelin öğrenmesini istemediğiniz özellik değerleriniz yoksa z-puanı ile başlayın. Örneğin, değerler ölçüm hatası veya bir hatadan kaynaklanır.
Özet
Normalleştirme Tekniği | Formül | Kullanılabileceği Durum |
---|---|---|
Doğrusal Ölçekleme | $$ x' = (x - x_{min}) / (x_{max} - x_{min}) $$ | Özellik, sabit bir aralığa eşit veya eşit şekilde dağıtıldığında. |
Kırpma | if x > max, sonra x' = max. if x < min, ardından x' = min | Özellik aşırı aykırı değerler içerdiğinde. |
Ahşap Ölçeklendirme | x' = log(x) | Bu özellik güç kanunlarına uygun olduğunda. |
Z-puanı | x' = (x - μ) / FeedBurner | Özellik dağılımında aşırı aykırı değerler bulunmadığında. |