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 barındırır. Müdahale edilmezse bu farklılıklar, optimizasyon algoritmasının daha büyük değerlere doğru yanlı hale gelmesine yol açarak daha yavaş yakınsamaya ve suboptimal performansa neden olabilir. Mühendisler verileri normalleştirerek her bir özelliğin nihai sonuca orantılı bir şekilde 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 kullanılan, her biri farklı dağılımlara ve algoritma gereksinimlerine uygun birkaç standart yöntem mevcuttur.
- Min-Max Ölçekleme: Bu, normalizasyonun en sezgisel biçimidir. Verileri genellikle [0, 1] gibi sabit bir aralığa yeniden ölçeklendirir. Bu dönüşüm, minimum değerin çıkarılması ve aralığa (maksimum eksi minimum) bölünmesiyle gerçekleştirilir. Piksel yoğunluklarının 0 ile 255 arasında sınırlı olduğu bilinen görüntü işleme alanında yaygın olarak kullanılır.
- Z-Puanı Standardizasyonu: Genellikle normalizasyonla birbirinin yerine kullanılsa da standardizasyon, verileri özellikle 0 ortalamaya ve 1 standart sapmaya sahip olacak şekilde dönüştürür. Bu, veriler Gağıl dağılımını izlediğinde özellikle faydalıdır ve normal dağılım gösteren verileri varsayan Destek Vektör Makineleri (SVM) gibi algoritmalar için esastır.
- Logaritmik Ölçekleme: Aşırı aykırı değerler içeren veya güç yasasını izleyen veriler için logaritmik bir dönüşüm uygulamak, değer aralığını sıkıştırabilir. Bu, çıkarım motorunun devasa değer sıçramalarından etkilenmeden dağılımı etkili bir şekilde yorumlamasını daha yönetilebilir hale getirir.
Gerç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 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 tamsayı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, Ultralytics Platformu üzerindeki eğitim kararlılığını artırarak YOLO26 gibi gelişmiş modeller için tutarlı girdiler sağlar.
-
Tıbbi Görüntü Analizi: Sağlık sektöründe yapay zeka alanında kullanılanlar gibi tıbbi taramalar genellikle farklı yoğunluk ölçeklerine sahip farklı makinelerden kaynaklanır. Normalizasyon, bir MR veya BT 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 varyasyonlarından ziyade yapısal anomalilere odaklanmasını sağlayarak doğru tümör tespiti için kritik önem taşır.
İlgili Kavramları Ayırt Etme#
Normalizasyonu, derin öğrenmede bulunan benzer ön işleme ve mimari terimlerden ayırmak önemlidir.
- Toplu Normalizasyon ile Karşılaştırma: Veri normalizasyonu, ağa girmeden önce ham girdi veri setine uygulanan bir ön işleme adımıdır. Buna karşılık, Toplu Normalizasyon model eğitimi sırasında ağ boyunca katmanlar arasında dahili olarak çalışır. Öğrenme sürecini istikrarlı hale getirmek için önceki bir 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 seti çeşitliliğini artırmak için görüntünün içeriğini veya geometrisini (ör. ters çevirme, döndürme veya renkleri değiştirme) değiştirir. Artırma için Albumentations gibi araçlar 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 süreç olan NumPy kütüphanesini kullanarak görüntü verilerini manuel olarak nasıl normalize edeceğinizi göstermektedir.
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()}")





