Veri artırma, makine öğrenmesi modellerinin performansını artırmak için mevcut verilerden yeni, çeşitli örnekler üretme yöntemidir. Özellikle sınırlı veri setlerinde ezberlemeyi (overfitting) önler ve modelin genelleme yeteneğini geliştirir. Bu yazıda görüntü, metin ve tablo verileri için yaygın veri artırma tekniklerini, pratik ipuçlarını ve uygulama kontrol listesini bulacaksınız.
Veri Artırma Neden Önemlidir?
Veri toplama maliyetli ve zaman alıcı olabilir. Veri artırma, mevcut verileri dönüştürerek veya sentetik örnekler oluşturarak veri setini genişletir. Bu sayede:
- Modelin farklı varyasyonlara karşı dayanıklılığı artar.
- Overfitting riski azalır.
- Sınıf dengesizliği gibi sorunlar hafifletilebilir.
- Daha az veriyle daha iyi sonuçlar elde edilebilir.
Görüntü Verileri için Veri Artırma Teknikleri
Geometrik Dönüşümler
En yaygın yöntemler arasında rastgele döndürme, yansıtma (flip), ölçekleme, kesme (crop) ve ötelemeyi sayabiliriz. Örneğin, bir el yazısı rakam tanıma modelinde görüntüleri 10° döndürmek farklı yazı stillerini temsil edebilir. Dikkat Edilmesi Gereken: Döndürme açısı çok büyük olursa sınıf anlamını kaybedebilir (örneğin 6 ve 9 rakamları).
Fotometrik Dönüşümler
Parlaklık, kontrast, doygunluk ve gürültü ekleme gibi işlemler görüntünün renk ve doku özelliklerini değiştirir. Bu, modelin aydınlatma koşullarına karşı daha sağlam olmasını sağlar.
İleri Düzey Teknikler: Mixup, CutMix, RandAugment
Daha karmaşık yöntemler birden fazla görüntüyü karıştırarak yeni örnekler oluşturur. Örneğin Mixup, iki görüntünün piksel değerlerini belirli bir oranda harmanlarken, CutMix bir görüntünün bir bölgesini diğerinden alır. RandAugment ise rastgele artırma politikaları seçerek işlemleri otomatikleştirir.
Metin Verileri için Veri Artırma Teknikleri
Doğal dil işleme (NLP) görevlerinde de veri artırma etkilidir. Yaygın yöntemler:
- Eş Anlamlı Değiştirme: Kelimeleri eş anlamlılarıyla değiştirerek metnin anlamını korur.
- Cümlelerde Yer Değiştirme (Back Translation): Metni başka bir dile çevirip geri çevirerek farklı ifadeler üretir.
- Rastgele Kelime Silme/Ekleme: Bazı kelimeleri çıkararak veya rastgele ekleyerek modelin gürbüzlüğünü test eder.
- Metin Sentetikleştirme (Text Generation): LLM'ler veya basit modeller kullanarak yeni örnekler oluşturulabilir. Ancak bu yöntemin kalitesi oluşturucu modelin performansına bağlıdır.
Tablo ve Sayısal Veriler için Veri Artırma
Sayısal ve kategorik verilerde veri artırma daha hassastır. Yaygın yaklaşımlar:
- Gürültü Ekleme: Sayısal özelliklere küçük Gaussian gürültüsü ekleyerek modelin gürbüzlüğü artırılır.
- SMOTE ve Varyantları: Sınıf dengesizliği durumunda, mevcut örneklerin ara değerlerini interpolasyon yoluyla sentetik örnekler oluşturur.
- Özellik Karıştırma: İki örneğin özelliklerini belirli bir oranda karıştırabilirsiniz (Mixup benzeri). Ancak bu, özellikler arası ilişkileri bozabileceği için dikkatli uygulanmalıdır.
Eksik verilerle çalışırken Eksik Veri ile Başa Çıkma Yöntemleri yazımız size yol gösterebilir.
Veri Artırma Uygularken Sık Yapılan 5 Hata
- Anlamsal Bozulma: Görüntüde sınıfı belirleyen bölgeleri bozmak (örneğin, kedi resminde kulağı kesmek).
- Test Setine Taşma: Veri artırmayı tüm veri setine uygulamak yerine sadece eğitim setine uygulayın; aksi halde test performansı yanıltıcı olur.
- Her Durumda Artırma Kullanmamak: Model doygunluğa ulaştığında artırma fayda sağlamayabilir. Performansı izleyin.
- Karmaşıklığı Abartmak: Basit yöntemler (yansıtma, döndürme) çoğu zaman yeterlidir. Gereksiz yere karmaşık artırma zaman kaybı olabilir.
- Hyperparametreleri İhmal Etmek: Veri artırma yöntemlerinin parametreleri (örn. döndürme açısı, gürültü yoğunluğu) birer hiperparametredir. Bunları da optimize edin. Bu konuda Hiperparametre Optimizasyonu yazımız rehber olabilir.
Kontrol Listesi: Veri Artırma Adımları
- [ ] Veri setinizi eğitim/doğrulama/test olarak ayırın. Artırmayı sadece eğitim setine uygulayın.
- [ ] Veri türüne uygun artırma tekniklerini seçin (görüntü, metin, tablo).
- [ ] Temel yöntemlerle başlayın (geometrik dönüşümler, gürültü). Performans artışını gözlemleyin.
- [ ] Artırma sonrası veri kalitesini kontrol edin. Görselleştirin veya örnekleri inceleyin.
- [ ] Modellerinizi artırmalı ve artırmasız olarak karşılaştırın. Overfitting belirtilerini izleyin.
- [ ] Hiperparametre optimizasyonu ile artırma parametrelerini ayarlayın (örn. döndürme açısı, gürültü miktarı).
- [ ] Sınıf dengesizliği varsa SMOTE gibi dengeleyici artırma yöntemlerini deneyin.
- [ ] Artırmayı pipeline'ınıza entegre edin (örneğin PyTorch DataLoader veya tf.data).
- [ ] Artırma miktarını (kaç kat artırılacağı) belirleyin. 2-4 kat genelde yeterlidir.
- [ ] Sonuçları dokümante edin: Hangi tekniklerin hangi görev için etkili olduğunu not edin.
Veri Artırma için Araç ve Kütüphaneler
- Görüntü: Albumentations, imgaug, torchvision.transforms, Keras ImageDataGenerator
- Metin: nlpaug, textattack, back translation (Hugging Face).
- Tablo: imbalanced-learn (SMOTE), custom gürültü fonksiyonları.
Model yönetimini kolaylaştırmak için MLflow ile Deney Takibi yazımızı inceleyebilirsiniz.
Unutmayın, veri artırma bir araçtır ve her projede etkili olmayabilir. Kontrol listenizi kullanarak sistematik bir şekilde deneyler yapın ve model performansınızı artırın.
Sık Sorulan Sorular
Veri artırma overfitting'i tamamen engeller mi?
Hayır, tamamen engellemez ancak overfitting riskini büyük ölçüde azaltır. Veri artırma, modelin eğitim verisindeki desenleri ezberlemek yerine daha genel özellikler öğrenmesine yardımcı olur.
Görüntü verilerinde en temel veri artırma yöntemi hangisidir?
Yatay yansıtma (horizontal flip) ve küçük açılarla döndürme en yaygın ve etkili temel yöntemlerdir. Özellikle simetrik olmayan sınıflar için dikkatli olunmalıdır.
Metin veri artırmada back translation güvenli midir?
Back translation çoğu zaman anlamı korur, ancak bazı durumlarda cümle anlamını değiştirebilir. Çeviri kalitesine bağlı olduğu için üretilen metinlerin kontrol edilmesi önerilir.
Veri artırma her zaman performansı artırır mı?
Hayır. Eğer veri seti zaten yeterince büyük ve çeşitliyse, fazla artırma modele zarar verebilir veya performansı artırmayabilir. Veri artırma miktarı ve yöntemi projeye göre dikkatlice seçilmelidir.






