Dr. Mehmet Solak Siirt Üniversitesi · Ziraat Fakültesi · Biyosistem Mühendisliği · Tarım ve Tarımsal Eğitim İçin Makine Öğrenmesi İçeriği

Ders 6: Destek Vektör Makineleri ve k-En Yakın Komşu

derssvmknnkernelsınıflandırmahastalık-tespitispektroskopi

6.1 Giriş: Sınır Çizme ve Komşuya Sorma

Bu derste, makine öğrenmesinin iki klasik algoritmasını inceleyeceğiz. Her ikisi de kavramsal olarak çok basittir ama doğru uygulandığında güçlü sonuçlar verir:

  • SVM (Destek Vektör Makinesi): İki grup arasına mümkün olan en geniş yolu çizer
  • kNN (k-En Yakın Komşu): "En yakın k komşuna bak, çoğunluk ne diyorsa o"

Bu algoritmalar, derin öğrenme öncesi dönemde tarımsal görüntü analizi ve spektroskopide baskın yöntemlerdi. Bugün her ne kadar CNN ve topluluk yöntemleri çoğu alanda önleri geçmiş olsa da, küçük veri setleri ve yüksek boyutlu spektral verilerde hala önemli yer tutmaktadırlar.

6.2 SVM: En Geniş Yolu Çiz

Temel Fikir

SVM'nin temel amacı, iki sınıf arasındaki karar sınırını, her iki sınıfın en yakın örneklerinden mümkün olduğunca uzakta çizmektir. Bu "en geniş yol" (maximum margin) ilkesidir.

Tarımsal benzetme: Bir tarlada sağlıklı ve hasta bitkileri ayırmak istiyorsunuz. İki grup arasına bir çizgi çekeceksiniz. Sonsuz sayıda çizgi çekebilirsiniz ama SVM, her iki gruba da en uzak mesafede kalan çizgiyi seçer. Bu geniş yol, yeni bir bitki geldiğinde (eğitim sırasında görülmemiş) doğru sınıflandırma şansını maksimize eder.

Matematiksel Açıklama -- Tarımsal Dille

Diyelim ki iki özelliğimiz var: yaprak rengi yeşilliği (x1) ve leke yüzde alanı (x2). Her yaprak bir (x1, x2) noktası olarak temsil edilir. Sağlıklı yapraklar yüksek yeşillik ve düşük leke alanına sahip; hasta yapraklar düşük yeşillik ve yüksek leke alanına sahiptir.

SVM, bu iki grubu ayıran bir doğru (2 boyutta) veya hiper düzlem (çok boyutta) arar. Ancak herhangi bir ayırıcı doğru değil -- sınıra en yakın noktalara (destek vektörleri) mesafeyi maksimize eden doğruyu bulur.

Marj (margin): Karar sınırından her iki taraftaki en yakın noktalara olan mesafenin toplamı. SVM bu marjı maksimize eder.

Destek vektörleri: Karar sınırına en yakın olan ve sınırı belirleyen örnekler. İlginç olan şu ki, SVM'nin kararı yalnızca bu birkaç örneğe bağlıdır -- geri kalan binlerce örnek "oylamaya" katılmaz. Bu özellik, SVM'yi bellekte verimli kılar.

C Parametresi: Tolerans Ayarı

Gerçek dünya verilerinde iki sınıf kusursuz bir çizgiyle ayrılamayabilir -- bazı hasta yapraklar sağlıklı bölgeye, bazı sağlıklılar hasta bölgeye düşer.

C parametresi, katılık ile esneklik arasındaki dengeyi kontrol eder: - Büyük C: Hatalara daha az tolerans gösterir, daha dar marj -- eğitim verisine daha sıkı uyum (aşırı öğrenme riski) - Küçük C: Daha fazla hataya izin verir, daha geniş marj -- daha iyi genelleşme

Tarımsal benzetme: Büyük C, "bir tek hasta yaprak bile sağlıklı diye sınıflandırılmasın" der -- katı ama belki aşırı hassas. Küçük C, "birkaç hata olabilir ama genel örüntü doğru olsun" der -- daha toleranslı ama genellikle daha güvenilir.

6.3 Kernel Hilesi: Düz Çizgiyle Ayrılamayanlar İçin

Problem: Doğrusal Olarak Ayrılamayan Veri

Bazı durumlarda iki sınıf bir doğru ile ayrılamaz. Örneğin, erken evre hastalık belirtileri sağlıklı yaprak özelliklerine çok benzer ve özellik uzayında iç içe geçmiş durumda olabilir.

Çözüm: Veriyi Daha Yüksek Boyuta Taşı

Kernel hilesi, veriyi açıkça dönüştürmeden, yüksek boyutlu uzayda doğrusal ayırım yapılmasına olanak tanır. Düşünce şu: 2 boyutta (yeşillik, leke alanı) ayrılamayan veriyi, 3. boyut olarak "yeşillik x leke alanı etkileşim terimi" ekleyerek 3 boyuta taşırsak, bir düz yüzey ile ayrılabilir hale gelebilir.

Yaygın Kernel Türleri

Kernel Formül/Açıklama Tarımsal Kullanım
Doğrusal K(x,y) = x . y Yüksek boyutlu spektral veri (200+ bant)
RBF (Radyal Tabanlı) K(x,y) = exp(-gamma x
Polinom K(x,y) = (x . y + c)^d Özellik etkileşimlerinin önemli olduğu durumlar

RBF kernel en yaygın seçimdir. Gamma parametresi, her destek vektörünün "etki yarıçapını" kontrol eder: - Büyük gamma: Her örnek yalnızca çok yakın komşularına etki eder -- karmaşık, kıvrımlı sınır (aşırı öğrenme riski) - Küçük gamma: Her örnek geniş bir alana etki eder -- düzgün, basit sınır (yetersiz öğrenme riski)

Neden Hiperspektral Veride SVM Güçlü?

Hiperspektral sensör 200+ dar spektral bant yakalar. Bu durumda özellik sayısı (200) örnek sayısından (belki 100-500 etiketli piksel) fazla olabilir. SVM, yüksek boyutlu uzaylarda bile iyi çalışır çünkü: 1. Karar yalnızca destek vektörlerine bağlıdır -- tüm veriyi ezberlemek gerekmez 2. Marj maksimizasyonu, yüksek boyutta aşırı öğrenmeye karşı doğal bir düzenlileştirme sağlar 3. Doğrusal kernel, zaten yüksek boyutlu olan spektral veriyle verimli çalışır

6.4 SVM'nin Pratik Gereksinimleri

Özellik Ölçekleme (Feature Scaling) -- Zorunlu!

SVM, mesafe tabanlı bir algoritmadır. Özellikler farklı ölçeklerde ise (örneğin sıcaklık: 0-40, NDVI: 0-1), büyük ölçekli özellik mesafe hesaplamasını domine eder.

Standardizasyon: Her özelliği ortalaması 0, standart sapması 1 olacak şekilde dönüştür. Min-maks normalizasyon: Her özelliği 0-1 aralığına ölçekle.

Tarımsal örnek: Toprak pH (4-9 arası), organik karbon (0.1-5 arası), kil içeriği (5-60 arası) -- ölçekleme yapılmazsa kil içeriği mesafe hesaplamasını domine eder.

Ağaç tabanlı yöntemler (RF, XGBoost) ölçekleme gerektirmez çünkü bölme kararları tek tek değişkenler üzerinde yapılır ve ölçek farkı bölme sırasını etkilemez. Bu, SVM ile ağaç yöntemleri arasındaki önemli bir pratik farktır.

Çok Sınıflı Sınıflandırma

SVM temelde ikili (2 sınıf) bir sınıflandırıcıdır. Çok sınıflı problemler (örneğin 10 farklı hastalık) için iki strateji vardır:

  • Bire-bir (One-vs-One): Her sınıf çifti için ayrı bir SVM eğitilir. 10 sınıf için 45 SVM gerekir. Oylama ile karar verilir.
  • Bire-karşı-hepsi (One-vs-All): Her sınıf için "bu sınıf vs geri kalan" SVM eğitilir. 10 sınıf için 10 SVM gerekir.

Tarımsal kıyaslamalarda bire-bir stratejisi genellikle daha iyi ampirik performans göstermiştir.

6.5 k-En Yakın Komşu (kNN)

Temel Fikir: Komşuya Sor

kNN, makine öğrenmesinin en basit algoritmalarından biridir: yeni bir örneği sınıflandırmak için, özellik uzayındaki en yakın k komşusuna bakar ve çoğunluk kararı verir.

Tarımsal benzetme: Bir tarladaki bilinmeyen bir toprak örneğinin sınıfını belirlemek için, en yakın 5 (k=5) toprak örneklerine bakarsınız. 3'ü "killi-tınlı", 1'i "kumlu", 1'i "siltli" ise, bilinmeyen örneği "killi-tınlı" olarak sınıflandırırsınız.

Mesafe Ölçüsü

kNN'in temel kararı, "yakınlık" nasıl ölçülecek sorusudur. En yaygın ölçü Öklid mesafesidir:

d(x, y) = sqrt( SUM(x_i - y_i)^2 )

Tarımsal örnek: İki toprak örneği arasındaki "mesafe" = sqrt((pH_farkı)^2 + (OC_farkı)^2 + (kil_farkı)^2)

Bu nedenle kNN de SVM gibi özellik ölçekleme gerektirir -- ölçekleme yapılmazsa büyük değerli özellikler mesafeyi domine eder.

k Değerinin Seçimi

k değeri Avantaj Dezavantaj
k=1 Eğitim verisine en yakın uyum Gürültüye çok hassas, aşırı öğrenme
k=3-7 Dengeli, çoğu durumda iyi -
k=15-25 Düzgün karar sınırı İnce ayrımları gözden kaçırır
k çok büyük Neredeyse tüm verinin ortalaması Her şey "çoğunluk sınıfına" atanır

Tarımsal veri setlerinde k=5-15 arası genellikle iyi sonuç verir. Çapraz doğrulama ile optimal k değeri belirlenmelidir.

kNN'in Avantaj ve Dezavantajları

Avantaj Dezavantaj
Çok kolay anlaşılır ve uygulanır Büyük veri setlerinde yavaş (tüm mesafeleri hesaplar)
Eğitim aşaması yoktur (lazy learning) Yüksek boyutlu veride performans düşer ("boyutluluğun laneti")
Doğrusal olmayan sınırlar çizer Eksik veriye hassas
Her sınıflandırma problemine uygulanabilir Ölçekleme zorunlu

Boyutluluğun Laneti (Curse of Dimensionality)

kNN için kritik bir sınırlılık: özellik sayısı arttıkça, "yakınlık" kavramı anlamsızlaşır. Çok yüksek boyutlu uzayda tüm noktalar birbirine eşit mesafede görünür. Bu nedenle 200 bantlı hiperspektral veride kNN kötü performans gösterir; PCA ile boyut indirgeme yapılması şart olabilir.

6.6 SVM vs kNN vs Ağaç Yöntemleri

Kriter SVM kNN RF/XGBoost
Küçük veri seti (< 200 örnek) Çok iyi İyi Orta-İyi
Büyük veri seti (> 10.000 örnek) Yavaş eğitim Çok yavaş tahmin Hızlı ve etkili
Yüksek boyutlu spektral veri Mükemmel Zayıf (boyut laneti) İyi
Kategorik özellikler Kodlama gerekir Mesafe tanımı sorunlu Doğal işleme
Eksik veri Tolere edemez Tolere edemez Tolere edebilir
Yorumlanabilirlik Orta (destek vektörleri) Yüksek (komşular gösterilebilir) Yüksek (özellik önemliliği)
Ölçekleme gereksinimi Zorunlu Zorunlu Gereksiz
Hiperparametre hassasiyeti Yüksek (C, gamma) Orta (k) RF: düşük, XGBoost: yüksek

6.7 Araştırma Örneği 1: Patates Hastalığı Tespitinde SVM

Islam et al. (2017) -- PlantVillage veri setinden 300 patates yaprağı görüntüsü (geç yanıklığı, erken yanıklığı ve sağlıklı) kullanılarak SVM tabanlı hastalık tespiti gerçekleştirilmiştir.

Yöntem

Bu çalışma, SVM'nin elle çıkarılmış özelliklerle nasıl kullanıldığının mükemmel bir örneğidir:

  1. Görüntü segmentasyonu: Lab* renk uzayında segmentasyon yapılarak arka plan ve yeşil bölgeler çıkarılmış, yalnızca hastalık belirtisi gösteren bölgeler izole edilmiştir.

  2. Özellik çıkarma: Her görüntüden 10 özellik çıkarılmıştır:

  3. GLCM doku özellikleri (4 adet): kontrast, korelasyon, enerji, homojenlik
  4. Renk istatistikleri (6 adet): ortalama, standart sapma, entropi, çarpıklık, basıklık, RMS (kök ortalama kare)

  5. SVM sınıflandırması: Doğrusal çekirdekli çok sınıflı SVM, %60-%40 eğitim-test bölünmesiyle eğitilmiştir.

Sonuçlar

Metrik Değer
Doğruluk (%60/%40 bölme) %95
Doğruluk (5-katlı CV) %93.7
ROC AUC %96

Tarımsal Önemi

Bu çalışmanın çarpıcı yönü, yalnızca 300 görüntü ve 10 elle çıkarılmış özellik ile %95 doğruluk elde edilmesidir. Karşılaştırma olarak, CNN tabanlı modeller binlerce görüntü ve milyonlarca parametre gerektirir. Küçük veri setlerinde SVM + iyi özellik mühendisliği, derin öğrenmeden daha pratik ve etkili olabilir.

Ayrıca çalışma, hiperspektral görüntüleme gerektiren yöntemlerle benzer doğruluk sağlandığını, ancak yalnızca RGB görüntülerle çok daha düşük maliyetle elde edildiğini göstermiştir. Bu, gelişmekte olan ülkelerdeki küçük ölçekli çiftçiler için erişilebilirlik açısından önemlidir.

Özellik Mühendisliğinin Önemi

Lab renk uzayına dönüşüm kritik bir adımdır. Bu renk uzayında aydınlanma bilgisi (L) renk bilgisinden (a, b) ayrılır -- böylece farklı ışık koşullarında çekilmiş görüntüler daha tutarlı hale gelir. Bu, SVM gibi mesafe tabanlı algoritmaların performansını önemli ölçüde iyileştirir.

6.8 Araştırma Örneği 2: PRF-SVM ile Mısır Hastalığı Tespiti

Bachhal et al. (2024) -- PSPNet, ResNet50 ve Bulanık SVM (Fuzzy SVM) bileşenlerini birleştiren otomatik bir hastalık tanıma sistemi (PRFSVM) geliştirilmiştir.

Problem ve Motivasyon

Gelişmekte olan ülkelerde küçük ölçekli çiftçiler tarımsal üretimin %80'inden fazlasını gerçekleştirir ve hastalık/zararlılardan dolayı %40'ın üzerinde ürün kaybı yaşanmaktadır. Otomatik hastalık teşhis sistemleri, bu kayıpları azaltma potansiyeline sahiptir.

Yöntem: Derin Öğrenme + SVM Hibriti

Bu çalışma, SVM'nin modern derin öğrenme mimarileriyle nasıl birleştirilebileceğini gösterir:

  1. PSPNet (Piramit Sahne Ayrıştırma Ağı): Görüntüyü farklı ölçeklerde analiz ederek hem yerel detayları hem de genel yapıyı yakalar
  2. ResNet50: Derin özellik çıkarımı -- 50 katmanlı ağ, transfer öğrenme ile ImageNet bilgisini kullanır
  3. Bulanık SVM (Fuzzy SVM): Son sınıflandırma katmanı olarak. "Bulanık" kelimesi, her örneğin bir sınıfa ait olma derecesini (0-1 arası) modellediğini belirtir

Neden Bulanık SVM? Gerçek dünya görüntülerinde doğal belirsizlik vardır: erken evre hastalık belirtileri sağlıklı görünüme çok benzer. Standart SVM kesin sınıflar atar; bulanık SVM ise "bu yaprak %75 olasılıkla erken yanıklık, %20 geç yanıklık, %5 sağlıklı" gibi olasılıksal çıktı verebilir. Bu, hastalık şiddeti değerlendirmesi için daha bilgilendiricidir.

Sonuçlar

Beş farklı mısır hastalığı (yaygın pas, güney pası, gri yaprak lekesi, maydis yaprak yanıklığı, turcicum yaprak yanıklığı) ve sağlıklı yapraklar PlantVillage veri setinden seçilmiştir:

Metrik Değer
Ortalama doğruluk %96.67
mAP (ortalama hassasiyet) 0.81

Derin Öğrenme + SVM Sinerjisi

Bu çalışma, SVM'nin tek başına kullanılmadığını, derin öğrenme özellik çıkarıcılarıyla birleştirildiğinde güçlü bir hibrit sistem oluşturabileceğini göstermektedir. ResNet50, ham görüntüden yüksek boyutlu bir özellik vektörü çıkarır (2048 boyutlu); SVM ise bu özellik uzayında optimal karar sınırını bulur. Bu yaklaşım, özellikle son sınıflandırma katmanında belirsizliğin yönetilmesi gereken durumlarda (bulanık SVM) CNN'in softmax katmanından daha avantajlı olabilir.

6.9 SVM ve kNN: Ne Zaman Kullanmalı?

SVM İçin İdeal Senaryolar

  1. Küçük etiketli veri seti (50-500 örnek): CNN aşırı öğrenir, SVM iyi genelleşir
  2. Hiperspektral/spektroskopik veri: 200+ bant, sınırlı sayıda örnekle -- SVM'nin doğal güç alanı
  3. Vis-NIR toprak analizi: Spektral yansımadan organik karbon, pH tahmini
  4. Gömülü sistemler: SVM çıkarımı (birkaç destek vektörü üzerinde çekirdek hesaplama) CNN'e göre çok daha düşük işlem gücü gerektirir -- traktöre monte sensörler için uygun

kNN İçin İdeal Senaryolar

  1. Hızlı prototipleme: "Bu veri seti ile ML işler mi?" sorusuna 5 dakikada cevap
  2. Anomali tespiti: Tarlada normal dışı toprak örneklerini belirleme
  3. Öneri sistemleri: "Bu tarlaya benzer özelliklere sahip en başarılı 5 tarlada hangi çeşit ekilmiş?" sorusu
  4. Açıklanabilirlik gereksinimi: "Model neden bu kararı verdi?" → "Şu 5 komşusuna bakın, 4'ü hasta"

Her İkisini de Kullanmayın

  1. Büyük görüntü veri setleri (10.000+ görüntü): CNN/ResNet çok daha etkili
  2. Büyük tablo verileri (10.000+ satır): RF/XGBoost daha hızlı ve daha doğru
  3. Çok sayıda kategorik değişken: Ağaç yöntemleri doğal işler, SVM/kNN kodlama gerektirir
  4. Eksik veri içeren setler: Ağaç yöntemleri tolere eder, SVM/kNN tolere edemez

6.10 Tarihsel Perspektif: SVM'den CNN'e Geçiş

2000-2015 arası dönemde SVM, tarımsal görüntü analizinde baskın algoritmadır. Tipik iş akışı:

Ham görüntü → Elle özellik çıkarma (renk, doku, şekil) → SVM sınıflandırma

2016'dan itibaren derin öğrenme (CNN) bu paradigmayı dönüştürmüştür:

Ham görüntü → CNN (otomatik özellik öğrenmesi + sınıflandırma)

Li et al. (2021) derlemesine göre CNN tabanlı yaklaşımlar, SVM'ye kıyasla %1-8, RF'ye kıyasla %3-8 daha yüksek sınıflandırma doğruluğu sağlamıştır. Ancak bu üstünlük yalnızca yeterli eğitim verisi (binlerce görüntü) mevcut olduğunda geçerlidir.

SVM'nin bugünkü rolü: nişsel ama önemli. Küçük veri, yüksek boyut, gömülü sistemler ve hibrit mimariler (PRFSVM gibi) SVM'nin gelecekte de tarımsal makine öğrenmesinde yer tutmaya devam edeceği alanlardır.

6.11 Özet Tablosu

Özellik SVM kNN
Temel fikir En geniş yolu çiz En yakın komşulara sor
Güç alanı Yüksek boyutlu, küçük veri Basitlik, açıklanabilirlik
Zayıf yönü Büyük veride yavaş, ölçekleme zorunlu Boyutluluk laneti, yavaş tahmin
Tarımsal niş Spektroskopi, hiperspektral Anomali tespiti, öneri
Hiperparametreler C, gamma (kernel) k (komşu sayısı), mesafe ölçüsü
Ölçekleme Zorunlu Zorunlu
Derin öğrenme ile yer değiştirmesi Çoğu görüntü görevinde evet Daha az etkilendi

Bu ders serisinde tarımsal makine öğrenmesinin temel kavramlarını, algoritmalarını ve gerçek araştırma bulgularını inceledik. Öğrenilenler: veriden özellik çıkarma, öğrenme paradigmaları, model değerlendirme, karar ağaçları ve topluluk yöntemleri, gradyan artırma ve klasik sınıflandırıcılar. Bir sonraki adım: bu bilgileri gerçek tarımsal veri setleri üzerinde uygulamalı olarak pratik etmek.