Bu makine öğrenmesi sistemleri bölümünde anlatılacak konuların amacı;
En düşük hata oranı ve en yüksek doğru tanıma oranını veren sistemler tasarlamayı öğretmektir.
Bu kapsamda en başta akla gelen yöntemler;
Eğitim verisini artırmak
Özellik adedini artırmak veya
İlave özellikler eklemek olabilir.
Bununla birlikte daha etkili yöntemler;
Makine öğrenmesi teşhisi ve
Parametre optimizasyonu olacaktır.
Ne yapmak gerektiğine karar ver
Biz birçok makine öğrenmesi tekniği biliyoruz;
Fakat onları hangi veriye ve nasıl uygulayacağımız hakkında da bilgi sahibi olmaya ihtiyacımız var ve ayrıca;
Aynı problemi çözebilecek seçenekler içerisinden en doğru olanın seçildiğinden emin olunması bir ihtiyaç.
Bu sunumun amacı yukarıdaki ihtiyaçlara cevap verebilmektir.
Bir öğrenme algoritmasının hatalarını ayıklama
Örneğin, konut fiyatlarını tahmin için düzeltilmiş doğrusal regresyon (regularized linear regression) kullandığımızı varsayalım.
Önce modelimizi eğitiriz,
Fakat yeni veriler üzerinde modelimizi test ettiğimizde kabul edilemez oranlarda sınıflandırma hatası bulduk diyelim.
Hata fonksiyonu da aşağıdaki gibi olsun.
Daha fazla eğitim verisi kullanabiliriz
Daha fazla eğitim verisi kimi zaman daha iyi sonuçlar verse dahi bazen daha fazla veri fayda sağlamayabilir.
Daha fazla verinin sonuçlarda belirgin bir fark oluşturup oluşturmadığını ölçmek için testler yaparız.
Eğitim verisinin artışı hata oranını düşürdüğü müddetçe veriyi artırır, veri arttığı halde hata azalmıyorsa o noktada eğitim verisini artırmayı sonlandırırız.
Daha küçük özellik seti için çalışırız
Dikkatli şekilde daha küçük özellik setleri seçeriz
Bu işlemi bazen manuel olarak bazen de adına özellik düşürme yöntemleri dediğimiz tekniklerle yaparız (Örneğin. PCA)
Özellik adedi düştüğü halde başarı artıyorsa iyi bir seçim yapılmıştır ve seçilen özelliklerle çalışılır, aksi takdirde özellik seçiminden vazgeçeriz.
İlave özellikler ekleriz
Kimi zaman fayda sağlasa da fayda sağalamadığı durumlar da olabilir
Veriyi kontrol ederiz, ilave özellikler hatayı düşürmüyorsa özellik eklemeden vazgeçeriz
Çok zaman alıcı olabilir
Öğrenme oranını artırabilir veya azaltabiliriz,
Tecrübelerimizden faydalanabiliriz
Bunlara rağmen çabalarımız zaman alıcı olacaktır ve başarılı sonuç vermeme ihtimali vardır.
Bu nedenle Makine Öğrenmesi Teşhisi (Machine Learning Diagnosis) adını vereceğiz yöntemleri kullanmaya ihtiyacımız vardır.
Makine öğrenmesi teşhisi
Bir algoritma için neyin çalışıp neyin çalışmadığı test edilir.
Algoritma performansını artırabilmek için neyin yapılması gerektiği üzerinde durulur.
Bu işleri geliştirmek ve anlamak zaman alıcı olabilir
Fakat diğer yöntemler gibi aylarca sürecek çabalar değildir
Hipotez değerlendirme
Bir hipotezin doğruluğunu test için yapılan çalışmaya hipotez değerlendirme denir.
Hipotez değerlendirme veriler üzerinde yapılır.
Eğer eğitim verisiyle test verisi aynı veri olursa Overfitting problemi oluşur.
Overfitting problemi aşırı öğrenme olarak da bilinir. Eğitim verisi üzerinde hata minimum iken ilk kez karşılaşılan veri üzerinde hata oranı çok yüksektir.
Klasik olarak veriler Eğitim (%70) ve Test (%30) şeklinde iki parçaya ayrılır.
Model eğitim verisiyle eğitilir,
Modelin başarısı test verisi üzerinde sınanır.
Model seçimi ve eğitim-doğrulama-test kümeleri
Model seçimi işlemi aslında parametrelerin ne olacağı ve modeli oluşturan polinom ifadesinin derecesi ile ilgilidir.
Örneğin, regresyon modelleri için aşağıdaki polinom ifadelerinin hepsi denenir ve en iyi sonucu veren model seçilir.
Geliştirilmiş model seçimi
Verilen bir eğitim seti üç parçaya ayrılır
1 – Training set(60%) – m kayıt ile
2 – Cross validation(CV) kümesi (20%) mcv
3 – Test set(20%) mtest
Daha sonra her biri için hata değeri hesap edilir.
Training error
Cross validation error
Test error
Bias ve Varyans
Eğer hata oranı yüksek sonuçlar alıyorsanız aşağıdakilerden biri sebebiyledir:
High bias– under fittingproblem
Az miktarda veriyle yapılan eksik eğitim problemi
High variance– over fitting problem
Aynı veri üzerinde eğitim ve test yapılması
Problemin ne olduğunu bilmek önemlidir
Onu bilerek algoritmayı geliştirebilirsiniz
Hata oranları
Çapraz doğrulama ve test hatası genellikle benzer davranır.
Eğitim hatası düşükken çapraz doğrulama ve test hatası yüksekse bu polinom derecesi olan d’nin hatalı ayarlanması nedeniyle olabilir.
Model düzeltme
Hata oranını düşürecek şekilde model parametrelerinin güncellenmesi amacıyla kullanılır.
Yapay sinir ağlarında olduğu gibi öğrenme katsayısı etkisiyle hatayı minimize edecek çalışmalara imkan sağlar.
Öğrenim eğrileri (Learning curves)
Eğitim verisi boyutu arttıkça bunun model hatasına etkisini bir eğri ile görürüz. Buna öğrenim eğrisi adı verilir.
Meme kanseri verisi için makine öğrenmesi teşhisi
Veri miktarının sınıflandırma başarısına etkisi
Özellik adedinin sınıflandırma başarısına etkisi
Eğitim verisi için sınıflandırma hatası
Çapraz doğrulama için sınıflandırma hatası
Eğitim verisi ve başarı ilişkisi
Eğitim verisi – başarı oranı ilişkisi
Tanagra yardımıyla yapılan deneyde;
Sampling nesnesi kullanılarak eğitim verisinin %20-%100 arasındaki bütün değerler test edilmiş ve
Sonuçlar hata oranı olarak verilmiştir.
Sonuçlardan da görüleceği üzere;
Eğitim verisi başarıyı zaman zaman artırmakla birlikte bu durum her zaman geçerli değildir.
Dolayısıyla tek başına eğitim verisinin miktarı yeterli bir başarı faktörü değildir.
Özellik seçimi – başarı oranı ilişkisi
Meme kanseri veri seti (Wisconsin) toplam 9 adet giriş değişkeninden meydana gelmektedir.
9 adet giriş değişkeni ile çalışırken bazı sınıflayıcılar için değerler aşağıdaki gibidir.
Özellik seçimi yöntemleri
İki farklı özellik seçimi yöntemi uygulanmış olup ana veri setinde toplam 9 özellik varken her bir yöntemle özellik seçimi sonrası özellik adedi ve sınıflandırma başarıları şöyle olmuştur.
Özellik seçimi – başarı oranı ilişkisi
Bir önceki değerlerden görüleceği üzere özellik seçimi kimi yerde daha iyi sonuçlara sebebiyet verse de her zaman tek başına yeterli değildir.
Örneğin, MLP için özellik seçimi sonrası başarı oranı artarken C4.5 için değerlerin düştüğü görülmüştür.
Bu deneylerden bazı çıkarımlar yapılabilir;
YSA daha az nitelikle daha yüksek sonuç vermektedir.
Karar ağacı için daha fazla nitelik daha iyi sonuç vermiştir.
Her zaman geçerli bir kural bulmaktan çok veriye duyarlı sonuçlar elde ederiz.
Eğitim verisinde ve çapraz doğruma verisinde sonuçlar
Hangi modelin daha iyi olduğunu görebilmek için deneyler yapar ve sonuçlarını hata oranıyla (minimum olan iyidir) veya doğru tanıma oranıyla (maksimum olanı iyidir) ifade ederiz.
Bununla birlikte;
Hem eğitim hem de test için aynı veri kullanıldığında overfitting problemi olacağından doğru bir yöntem değildir.
Fakat, bilimsel açıdan adına «göz boyama» diyebileceğimiz şekilde kimileri hatalı olmasına rağmen test için de eğitim verisi kullanmaktadır.
Daha doğru bir karşılaştırma için çapraz doğruma (cross validation) yapılmalıdır.
Bir sonraki sayfada her ikisi arasındaki farklar görülmektedir.
Eşit şartlarda kıyas
İki modeli karşılaştırırken mutlaka eşit şartlarda kıyas yapılmalıdır.
Eşit miktarda eğitim verisi adedi, eşit sayıda özellik adedi vs.
Ayrıca model değerlendirme için aşağıdaki yöntemlerden faydalanılmalıdır.
Precision ve recall metrikleri ile
ROC analizi
Yerel minimuma dikkat
Her modelin hata eğrisi zaman zaman minimuma düşer.
Hata eğrisinin minimum olduğu ilk durumu en iyi durum olarak görmek bizi yerel minimum hatasına düşürür.
Bu hataya düşmemek için daha uzun soluklu deneyler yapmak ve elde edilen yerel minimumların minimumunda global minimum değere gidilmelidir.
En yüksek doğruluk için
Bir modelin başarısı;
Eğitim verisi boyutu,
Özellik seti boyutu,
Kullanılacak algoritmanın ne olduğu, // veriye uygun olmalı. Linear – non linear gibi.
Algoritma parametreleri
Bunların hepsine birden model parametreleri adı verilir. Amaç en uygun kombinasyonu elde etmek ve en düşük hata oranına ulaşmaktır.
Bu işleme PARAMETRE OPTİMİZASYONU adı verilir.
Yüksek doğruluklar elde edebilmek için parametre optimizasyonu yapılmalıdır.
Bir modelin iyi olabilmesi için sadece en yüksek tanıma doğruluğu değil aynı zamanda;
En hızlı işlem yapan algoritma olması da önemlidir.
Adına performans dediğimiz şeyin parametreleri;
Modelin doğru tanıma oranı,
Modelin bellek açısından maliyeti ve // daha az bellek ihtiyacı
Modelin zaman açısından maliyeti // daha az zaman ihtiyacı