Normalization
Normalleştirme, tek bir değer aralığının baskın olmasını önlemek için özellikleri veya aktivasyonları ortak bir ölçeğe dönüştürür. Min-maks, z-skoru, L2 ve normalleştirme katmanlarını ele alır.
Normalizasyon, hiçbir özelliğin yalnızca birimlerinden dolayı modele baskın gelmemesi için sayısal değerleri ortak bir ölçeğe dönüştürmektir. Veri ön işlemede bu terim genellikle her girdi özelliğini, eğitimden önce [0, 1] gibi sabit bir aralığa ya da ortalaması sıfır ve varyansı bir olacak şekilde dönüştürmek anlamına gelir. Sinir ağının içinde yığın normalizasyonu gibi normalizasyon katmanları aynı fikri ara aktivasyonlara uygular. Normalizasyon olmazsa gelir gibi binlerle ölçülen bir özellik, hane büyüklüğü gibi tek hanelerle ölçülen bir özelliğe her mesafe hesabında ve gradyan adımında ağır basar.
Yaygın Normalizasyon Teknikleri#
- Min-maks ölçekleme: Her özelliği (x − min) / (max − min) formülüyle [0, 1] aralığına eşler. Tek bir uç değer, diğer tüm değerleri dar bir aralığa sıkıştırır; bu nedenle 255'e bölünen 8 bit piksel değerleri gibi bilinen ve sabit sınırları olan özellikler için uygundur.
- Z-puanı standardizasyonu: Özelliğin ortalamasını çıkarır ve standart sapmasına böler; böylece ortalama 0, standart sapma 1 olur. Sabit sınırları olmayan özellikler için genellikle varsayılan tercih budur.
- Sağlam ölçekleme: Medyanı çıkarır ve çeyrekler arası aralığa böler; böylece birkaç aykırı değer kalan değerlerin ölçeklenmesini neredeyse hiç değiştirmez.
- Logaritmik ölçekleme: Fiyat, nüfus veya görüntülenme sayısı gibi ağır kuyruklu özellikleri diğer ölçekleme işlemlerinden önce sıkıştırmak için genellikle log(1 + x) biçiminde logaritma uygular.
- Birim vektör (L2) normalizasyonu: Her örneğin vektörünü uzunluğuna bölerek her vektörün normunu 1 yapar. Gömülere uygulandığında kosinüs benzerliğini basit bir iç çarpıma dönüştürür. scikit-learn'ün Normalizer sınıfı bu işlemi örnek başına yapar;
MinMaxScalergibi her özelliği ölçeklemesini bekleyen kullanıcılar bu nedenle şaşırabilir.
Hangi tekniğin uygun olduğu, neyin ölçeklendiğine ve değerlerin nasıl dağıldığına bağlıdır:
Normalizasyon Neden Önemlidir?#
k-en yakın komşu (k-NN), k-ortalama kümeleme ve RBF çekirdekli destek vektör makineleri gibi mesafe tabanlı yöntemler ham Öklid mesafelerini karşılaştırır; bu yüzden aralığı en geniş olan özellik, hangi noktaların yakın sayılacağını belirler. Gradyan tabanlı modeller, normalleştirilmiş girdilerle daha hızlı eğitilir; çünkü çok farklı ölçeklerdeki özellikler kayıp yüzeyini dar vadilere dönüştürür ve gradyan inişinin küçük adımlar atmasını gerektirir. Rastgele ormanlar gibi ağaç toplulukları her seferinde tek bir özellik eşiğine göre dallanır ve her türlü monoton yeniden ölçeklemede aynı dallanmaları üretir. Şarap veri kümesini k-NN öncesinde ölçeklemek, etkinin boyutunu gösterir:
from sklearn.datasets import load_wine
from sklearn.model_selection import cross_val_score
from sklearn.neighbors import KNeighborsClassifier
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import MinMaxScaler, StandardScaler
# 13 chemical features on very different scales, from hue (about 0.5-1.7) to proline (about 280-1,680)
X, y = load_wine(return_X_y=True)
# k-NN compares raw distances, so unscaled proline dominates every distance
for name, scaler in [("none", "passthrough"), ("min-max", MinMaxScaler()), ("z-score", StandardScaler())]:
# The pipeline fits the scaler on each training fold only, so no test statistics leak in
model = make_pipeline(scaler, KNeighborsClassifier())
accuracy = cross_val_score(model, X, y, cv=5).mean()
print(f"scaling {name:8s} 5-fold accuracy: {accuracy:.3f}")Ölçekleme olmadan k-NN, %69,1 doğruluğa ulaşır; çünkü yaklaşık 1.400 birimlik aralığa sahip prolin, her mesafede diğer 12 özelliğe ağır basar. Min-maks ölçekleme doğruluğu %95,0'a, z-puanı standardizasyonu ise %94,9'a çıkarır. Ölçekleyiciyi işlem hattının içinde eğitmek önemlidir: Bölmeden önce tüm veri kümesinin minimum, maksimum, ortalama veya standart sapmasını hesaplamak, test kümesindeki bilgileri eğitime sızdırır; bu durum bir tür veri sızıntısıdır.
Bilgisayarlı Görüde Normalizasyon#
Görüntüler kanal başına normalize edilir. 8 bitlik piksel değerlerini 255'e bölmek bunları [0, 1] aralığına eşler; birçok sınıflandırma omurgası daha sonra kanal başına ortalamayı çıkarır ve standart sapmaya böler: ImageNet üzerinde önceden eğitilmiş torchvision ResNet-50, ortalama olarak (0.485, 0.456, 0.406), standart sapma olarak da (0.229, 0.224, 0.225) bekler. Bir önceden eğitilmiş modele, eğitim verisinden farklı biçimde normalize edilmiş girdiler vermek her etkinliği kaydırır ve doğruluğu düşürür. Ultralytics YOLO ön işleme, hem eğitimde hem de tahminde piksel değerlerini 255'e böler ve ortalama ya da standart sapma kaydırması uygulamaz; böylece YOLO26 her zaman [0, 1] aralığında girdiler alır.
Tıbbi görüntüler, modaliteye özgü kurallar gerektirir. BT taramaları, havanın −1000 ve suyun 0 olduğu fiziksel bir ölçek olan Hounsfield birimlerindeki yoğunlukları saklar; bu nedenle taramalar arasında aynı istatistikler kullanılabilir: yaygın olarak kullanılan nnU-Net segmentasyon çerçevesi, BT yoğunluklarını tüm eğitim vakalarındaki ön plan değerlerinin 0,5. ve 99,5. yüzdeliklerine göre kırpar, ardından veri kümesi genelindeki ortalama ve standart sapmayla z-puanına dönüştürür. MRI yoğunluklarının sabit bir fiziksel ölçeği yoktur ve tarayıcılar arasında değişir; bu nedenle nnU-Net her MRI taramasını kendi içinde z-puanına dönüştürür.
Normalizasyon ve İlgili Terimler#
- Standardizasyon: Z-puanı ölçeklemesinin yaygın adıdır. Pek çok kaynak hem min-maks hem de z-puanı ölçeklemesine "normalizasyon" derken bazıları "normalizasyon" terimini min-maks ölçeklemeye ayırır.
- Veri artırma: Normalizasyon yalnızca değerlerin ölçeğini değiştirirken çevirme, kırpma ve renk kaydırma gibi işlemlerle görüntünün içeriğini veya geometrisini değiştirerek çeşitlilik ekler.
- Normalizasyon katmanları: Yığın normalizasyonu, her kanalı mevcut mini yığının istatistikleriyle standardize eder. Katman normalizasyonu her örneği, yığın boyutundan bağımsız olarak özellikleri boyunca standardize eder ve transformer'larda yaygın olarak kullanılır. Bu katmanlar normalizasyonun ardından öğrenilmiş bir ölçek ve kaydırma uygular.
- RMSNorm: Ortalama çıkarmayı atlayan ve yalnızca karekök ortalamaya bölen basitleştirilmiş bir katman normalizasyonu. Meta'nın Llama modelinde ve diğer birçok büyük dil modelinde normalizasyon katmanı olarak kullanılır.










