Normalization
Normalleştirmenin model eğitimini ve doğruluğunu nasıl geliştirdiğini keşfet. Min-Maks ölçeklendirme, Z-skoru standardizasyonu ve bunların Ultralytics YOLO26 projelerindeki rolü hakkında bilgi edin.
Normalizasyon, sayısal özniteliklerin standart bir aralığa yeniden ölçeklendirilmesini içeren veri ön işleme süreçlerinde kullanılan temel bir tekniktir. Makine öğrenimi (ML) bağlamında veri kümeleri genellikle yaş aralıkları (0–100) ile gelir düzeyleri (0–100.000) gibi farklı ölçeklere sahip özellikler içerir. Bu farklılıklar giderilmezse optimizasyon algoritması daha büyük değerlere karşı yanlı hâle gelebilir; bu da daha yavaş yakınsamaya ve optimum olmayan performansa yol açar. Verileri normalize ederek mühendisler her özelliğin nihai sonuca orantılı katkıda bulunmasını sağlar ve sinir ağlarının daha verimli öğrenmesine olanak tanır.
Yaygın Normalizasyon Teknikleri#
Verileri dönüştürmek için, her biri farklı dağılımlara ve algoritma gereksinimlerine uygun çeşitli standart yöntemler vardır.
- Min-Max Ölçeklendirme: Bu, normalizasyonun en sezgisel biçimidir. Verileri genellikle [0, 1] olmak üzere sabit bir aralığa yeniden ölçeklendirir. Bu dönüşüm, minimum değerin çıkarılması ve aralığa (maksimum eksi minimum) bölme işlemleriyle gerçekleştirilir. Piksel yoğunluklarının 0 ile 255 arasında sınırlı olduğu bilinen görüntü işleme süreçlerinde yaygın olarak kullanılır.
- Z-Skoru Standardizasyonu: Genellikle normalizasyonla birbirinin yerine kullanılsa da standardizasyon, verileri özellikle ortalaması 0 ve standart sapması 1 olacak şekilde dönüştürür. Bu yöntem, veriler Gauss dağılımını izlediğinde özellikle yararlıdır ve normal dağılıma sahip verileri varsayan Destek Vektör Makineleri (SVM) gibi algoritmalar için gereklidir.
- Logaritmik Ölçeklendirme: Aşırı uç değerler içeren veya güç yasasını izleyen verilerde logaritmik dönüşüm uygulamak, değer aralığını sıkıştırabilir. Bu, dağılımın çıkarım motoru tarafından, büyük değer sıçramalarının neden olduğu çarpıklıktan etkilenmeden daha etkili biçimde yorumlanmasını sağlar.
Gerçek Dünya Uygulamaları#
Normalizasyon, çeşitli sektörlerdeki yüksek performanslı yapay zekâ sistemlerinin işlem hatlarında standart bir adımdır.
-
Bilgisayarlı Görü (CV): Nesne tespiti ve görüntü sınıflandırma gibi görevlerde dijital görüntüler, 0 ile 255 arasında değişen piksel değerlerinden oluşur. Bu büyük tam sayıları doğrudan bir ağa vermek gradyan inişini yavaşlatabilir. Standart bir ön işleme adımı, piksel değerlerini 255,0'a bölerek [0, 1] aralığına normalize etmektir. Bu uygulama, YOLO26 gibi gelişmiş modeller için tutarlı girdiler sağlayarak Ultralytics Platformu üzerinde eğitim kararlılığını artırır.
-
Tıbbi Görüntü Analizi: Sağlık hizmetlerinde yapay zekâ uygulamalarında kullanılanlar gibi tıbbi taramalar, genellikle yoğunluk ölçekleri farklı olan makinelerden elde edilir. Normalizasyon, bir MRI veya CT taramasındaki piksel yoğunluklarının farklı hastalar ve ekipmanlar arasında karşılaştırılabilir olmasını sağlar. Bu tutarlılık, doğru tümör tespiti için kritik öneme sahiptir; modelin parlaklık farklılıkları yerine yapısal anormalliklere odaklanmasına olanak tanır.
İlişkili Kavramları Ayırt Etme#
Normalizasyonu, derin öğrenmede bulunan benzer ön işleme ve mimari terimlerden ayırt etmek önemlidir.
- Batch Normalization ile karşılaştırma: Veri normalizasyonu, ham veri kümesine ağ içine girmeden önce uygulanan bir ön işleme adımıdır. Buna karşılık Batch Normalization, model eğitimi sırasında ağ boyunca katmanlar arasında dâhilî olarak çalışır. Öğrenme sürecini kararlı hâle getirmek için önceki aktivasyon katmanının çıktısını normalize eder.
- Görüntü Artırma ile karşılaştırma: Normalizasyon piksel değerlerinin ölçeğini değiştirirken artırma, veri kümesi çeşitliliğini artırmak için görüntünün içeriğini veya geometrisini (ör. çevirme, döndürme ya da renkleri değiştirme) değiştirir. Albumentations gibi araçlar artırma için kullanılırken normalizasyon matematiksel bir ölçeklendirme işlemidir.
Uygulama Örneği#
Bilgisayarlı görüde normalizasyon genellikle işlem hattındaki ilk adımdır. Aşağıdaki Python örneği, eğitim sırasında Ultralytics YOLO26 veri yükleyicisi içinde otomatik olarak gerçekleşen bir işlem olan görüntü verilerini NumPy kitaplığını kullanarak manuel olarak nasıl normalize edebileceğini gösterir.
import numpy as np
# Simulate a 2x2 pixel image with values ranging from 0 to 255
raw_image = np.array([[0, 255], [127, 64]], dtype=np.float32)
# Apply Min-Max normalization to scale values to [0, 1]
# This standardizes the input for the neural network
normalized_image = raw_image / 255.0
print(f"Original Range: {raw_image.min()} - {raw_image.max()}")
print(f"Normalized Range: {normalized_image.min()} - {normalized_image.max()}")








