Normalization
Normalizasyonun model eğitimini ve doğruluğunu nasıl iyileştirdiğini keşfet. Min-Max ölçeklendirme, Z-skoru standardizasyonu ve bunların Ultralytics YOLO26 projelerindeki rolü hakkında bilgi edin.
Normalizasyon, sayısal öznitelikleri standart bir aralığa yeniden ölçeklendirmeyi içeren veri ön işleme sürecinde temel bir tekniktir. Makine öğrenimi (ML) bağlamında veri setleri, yaş aralıkları (0–100) ile gelir seviyeleri (0–100.000) gibi farklı ölçeklere sahip özellikler içerir. Bu farklılıklar işlenmezse, optimizasyon algoritmasının daha büyük değerlere meyilli olmasına neden olabilir ve bu da daha yavaş yakınsamaya ve düşük performansa yol açar. Mühendisler, verileri normalize ederek her bir özelliğin nihai sonuca orantılı bir şekilde katkıda bulunmasını sağlar ve böylece sinir ağlarının daha verimli öğrenmesine olanak tanır.
Link to this sectionYaygın Normalizasyon Teknikleri#
Verileri dönüştürmek için kullanılan, her biri farklı dağılımlara ve algoritma gereksinimlerine uygun birkaç standart yöntem mevcuttur.
- Min-Max Ölçeklendirme: Bu, en sezgisel normalizasyon biçimidir. Verileri genellikle [0, 1] olmak üzere sabit bir aralığa yeniden ölçeklendirir. Bu dönüştürme, minimum değerin çıkarılması ve aralığa (maksimumdan minimumun çıkarılması) bölünmesiyle gerçekleştirilir. Piksel yoğunluklarının 0 ile 255 arasında sınırlandırıldığının bilindiği görüntü işleme alanında yaygın olarak kullanılır.
- Z-Skoru Standardizasyonu: Normalizasyon ile sıklıkla birbirinin yerine kullanılsa da, standardizasyon özellikle verileri 0 ortalamaya ve 1 standart sapmaya sahip olacak şekilde dönüştürür. Bu, veriler Gauss dağılımını izlediğinde özellikle yararlıdır ve normal dağılımlı veri varsayan Destek Vektör Makineleri (SVM) gibi algoritmalar için esastır.
- Log Ölçeklendirme: Aşırı uç değerler içeren veya güç yasasını izleyen veriler için logaritmik dönüşüm uygulamak, değer aralığını sıkıştırabilir. Bu, çıkarım motorunun büyük değer sıçramalarından etkilenmeden veriyi daha etkili bir şekilde yorumlamasını sağlayarak dağılımı daha yönetilebilir hale getirir.
Link to this sectionGerçek Dünya Uygulamaları#
Normalizasyon, çeşitli endüstrilerdeki yüksek performanslı yapay zeka sistemlerinin işlem hatlarında standart bir adımdır.
-
Bilgisayarlı Görü (CV): Nesne algılama 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 beslemek gradyan inişini yavaşlatabilir. Standart bir ön işleme adımı, piksel değerlerini [0, 1] aralığına normalize etmek için 255.0'a bölmeyi içerir. Bu uygulama, YOLO26 gibi gelişmiş modeller için tutarlı girdiler sağlar ve Ultralytics Platform üzerinde eğitim kararlılığını artırır.
-
Tıbbi Görüntü Analizi: Sağlıkta yapay zeka uygulamalarında kullanılan tıbbi taramalar genellikle farklı yoğunluk ölçeklerine sahip cihazlardan gelir. Normalizasyon, 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, modelin parlaklık değişimleri yerine yapısal anomalilere odaklanmasına olanak tanıyan doğru tümör tespiti için kritik öneme sahiptir.
Link to this sectionİlgili Kavramları Ayırt Etme#
Normalizasyonu, derin öğrenmede bulunan benzer ön işleme ve mimari terimlerden ayırmak önemlidir.
- vs. Yığın Normalizasyonu (Batch Normalization): Veri normalizasyonu, ağa girmeden önce ham girdi veri setine uygulanan bir ön işleme adımıdır. Buna karşılık Yığın Normalizasyonu, model eğitimi sırasında ağ genelindeki katmanlar arasında dahili olarak çalışır. Öğrenme sürecini stabilize etmek için önceki aktivasyon katmanının çıktısını normalize eder.
- vs. Image Augmentation: While normalization changes the scale of the pixel values, augmentation changes the content or geometry of the image (e.g., flipping, rotating, or changing colors) to increase dataset diversity. Tools like Albumentations are used for augmentation, whereas normalization is a mathematical scaling operation.
Link to this sectionUygulama Örneği#
Bilgisayarlı görüde normalizasyon genellikle işlem hattındaki ilk adımdır. Aşağıdaki Python örneği, NumPy kitaplığını kullanarak görüntü verilerinin nasıl manuel olarak normalize edileceğini gösterir; bu işlem, eğitim sırasında Ultralytics YOLO26 veri yükleyicisinde otomatik olarak gerçekleşir.
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()}")





