MIT563 Yapay Zeka ve Makine Öğrenmesi Yrd. Doç. Yuriy Mishchenko
Ders planı Pratik soruları Önyargı ve varyans durumları Öğrenme eğrileri Model seçme soruları “Büyük Veri” kavramı
Pratik uygulama soruları Makine öğrenmesi pratik bilim alanı olduğu nedeniyle, onun için pratik sorular çok önemlidir Makine öğrenmesinin pratik uygulamalarında çok fazla özel yaklaşımların geliştirilmesi gerekiyor Bu özel yaklaşımları bilmeden pratik uygulamalarda başarılı olması çok zordur
Pratik uygulama soruları Tipik makine öğrenme problemi senaryosu: Bir pratik sorun için model ve ona bağlı karar verme yöntemi geliştirmek lazım Makine öğrenme bir yaklaşımı kullanılır (lineer regresyon, lojistik regresyon, destek vektör makinesi, yapay sınır ağı, vb) Verileri aldıktan sonra ilişkili modeli öğrenir, hala yeni durumlarda model kötü performans gösterir–sonuçta sorun çözülmedi
Pratik uygulama soruları Buna göre, makine öğrenme modelini bir şekilde iyileştirmek gerekiyor; bunun için birkaç yön seçilebilir ... Daha çok verileri almak (bazen ne kadar yeni veriler alınırsa iyileşme sağlanamaz) Gürültülü özellikleri bulup silip daha az gürültülü özellikleri kullanarak yeni model geliştirmek Yeni özellikleri bulup ekleyip yeni model geliştirmek Bileşik özellikleri kullanıp yeni model geliştirmek Düzenlileştirmeyi kullanıp arttmak Düzenlileştirmeyi kullanıp azaltmak
Pratik uygulama soruları Bunlardan doğru yaklaşımı seçmek, pratik uygulamalar için çok önemlidir
Önyargı, varyans ve onaylama Bazen, çok karmaşık ve birçok özellik içeren model kullanarak kendimizi aşırı uyum durumunda buluyoruz Aşırı uyum demek ki, bizim modelimiz öğretim kümesindeki örnekleri öğrenince o örneklerde harika perfomans gösteriyor, ama yeni durumlarda hiç iyi tahmin vermiyor
Önyargı, varyans ve onaylama Önce bahsettiğimiz gibi, makine öğrenme modeli üç durumda bulunabilir: önyargı durumu, normal durum, ve varyans durumu Önyargı durumu Normal durumu Varyans durumu
Önyargı, varyans ve onaylama Önyargı durumu demek ki, kullanıldığı model çok fazla basit ve eğilmez (yani modelde çok fazla önbilgi konulmuştu), ve bu nedenle model gerçek verileri iyi şekilde temsil etmez Önyargı durumu Normal durumu Varyans durumu
Önyargı, varyans ve onaylama Varyans durumu demek ki, kullanıldığı model çok fazla karmaşık ve esnek, ve bu yüzden bütün gürültüleri temsil ederek doğru ilişki bulamıyor Önyargı durumu Normal durumu Varyans durumu
Önyargı, varyans ve onaylama Normalde, ikisini de istemiyoruz, ve modelimizin ortadaki bir noktada bulunmasını istiyoruz Önyargı durumu Normal durumu Varyans durumu
Önyargı, varyans ve onaylama Makine öğrenme modeli iyileştirme adımlarının sonucu var olan böyle duruma bağlı olacak, ve bu adımları böyle var olan duruma göre yapmak gerekiyor Önyargı durumu Normal durumu Varyans durumu
Önyargı, varyans ve onaylama Bu demek ki, önce var olan modelin durumunu belirlemek gerekiyor Makine öğrenme modelinin durumunu belirlemek için, öğretim kümesi yanında iki daha test ve onaylama kümesi kullanılır Öğretim, test ve onaylama kümeleri, ilişki/modelin ayrı ayrı örnekleri içermektedir
Önyargı, varyans ve onaylama Öğretim, test ve onaylama kümeleri, var olan verilerden genellikle %60, %20 ve %20 orantılarda oluşturulmuştur Yanı, bütün örneklerin %60ı öğretim kümesine atanır, %20si onaylama kümesine atanır, ve %20si test kümesine atanır 3000 örnek Öğretme: 2400 örnek Onayama: 600 örnek Test: 600 örnek
Önyargı, varyans ve onaylama Öğretim kümesi, modelin maliyetini hesaplamak için, ve bu maliyeti azaltarak modelin parametrelerinin hesaplanması için kullanılır 3000 örnek Öğretme: 2400 örnek Onayama: 600 örnek Test: 600 örnek
Önyargı, varyans ve onaylama Onaylama kümesi, sağlanan modelin yeni (önce görülmediği) örneklerde performansı kontrol etmek için kullanılır Yeni örneklerde modelin maliyetini yeniden hesaplamak için kullanılır, modelin performansı “onaylamak” için kullanılır 3000 örnek Öğretme: 2400 örnek Onayama: 600 örnek Test: 600 örnek
Önyargı, varyans ve onaylama NOT: öğretim ve onaylama örneklerdeki model performansını değerlendirmek için, aynı maliyet fonksiyonu kullanılır; ama, maliyet fonksiyonunda düzenlileştirme yapılmışsaydı, onaylama için bu düzenlileştirme terimleri kullanılmaz 3000 örnek Öğretme: 2400 örnek Onayama: 600 örnek Test: 600 örnek
Önyargı, varyans ve onaylama Aşırı uyum durumunda: öğretme için kullanıldığı örneklerde çok iyi performans var, ama model, gürültüyü temsil edince yeni örneklerde iyi performans göstermez Bu durumda, öğretme örneklerinde maliyet düşük ve onaylama örneklerinde maliyet yüksek çıkması lazım
Önyargı, varyans ve onaylama Önyargı durumunda: öğretme için kullanıldığı örnekler için iyi performans zaten sağlanmaz Bu durumda, hem öğretme örneklerinde hem de onaylama örneklerinde maliyet yüksek değerinde olması gerekiyor
Önyargı, varyans ve onaylama Önyargı-varyansı diye parametresine göre, model maliyeti bu şekilde değişmeli: Önyargı (çok fazla eğilmez) onaylama hatası varyans (çok fazla esnek) öğretme hatası
Önyargı, varyans ve onaylama Bu parametreye göre hem “yüksek öğretme- yüksek onaylama” hem de “düşük öğretme-yüksek onaylama” durumunu istemiyoruz Önyargı (çok fazla eğilmez) onaylama hatası varyans (çok fazla esnek) öğretme hatası
Önyargı, varyans ve onaylama Düşük ve yakın öğretme ve onaylama maliyeti sağlayan model seçilmesi gerekiyor Önyargı (çok fazla eğilmez) onaylama hatası varyans (çok fazla esnek) öğretme hatası
Önyargı, varyans ve onaylama Maliyet fonksiyonunda düzenlileştirme kullanılmışsaydı, düzenlileştirmedeki -parametresi önyargı-varyansı ayarlamak için kullanılabilir; Bu durumda, düşük genellikle varians ve yüksek genellikle önyargı durumunu demekte olacak onaylama hatası öğretme hatası -1
Önyargı, varyans ve onaylama İyi -değerini seçmek için bu mantığı kullanılabilir Diğer her hangi parametreler (örneğin, kullanıldığı özellik sayısı) aynı şekilde çalışabilir onaylama hatası öğretme hatası -1
Öğrenme eğrileri Öğrenme makine yönteminin önyargı/varyans durumunu belirlemek için, eğitim eğrileri kullanılır Eğitim eğrisini oluşturmak için, kullanıldığı örneklerin sayısına göre modelin öğretme ve onaylama performansı çizilir Bu durumda, önyargı-varyans ayarlayan parametre - örnek sayısıdır; az örnek genellikle varyans ve fazla örnek genellikle önyargı yada normal durum anlamında olacaktır
Öğrenme eğrileri Eğitim eğrileri, her zaman varyans durumuyla başlar (verilerde az örnek varsa, herhangi model onları iyi temsil edebilir, mesela 1-2 örnek düşün) Bu durumda öğretme hatası düşük ve onaylama hatası yüksektir Daha çok örnek varsa, yada varyans durumu devam edecek yada model normal veya önyargı durumuna geçecek
Öğrenme eğrileri Eğitim eğrilerine göre model durumları; Eğer en sonunda hem öğretme hem de onaylama hataları yüksek ise, modelde önyargı durumu var, daha büyük/esnek model gerekiyor onaylama hatası öğretme hatası
Öğrenme eğrileri Eğitim eğrilerine göre model durumları; En sonunda öğretme hatası düşük ama onaylama hatası yüksek, modelde hala varyans durumu var, ondan çıkmak için daha çok veriler gerekiyor onaylama hatası öğretme hatası
Öğrenme eğrileri Eğitim eğrilerine göre model durumları; En sonunda hem öğretme hem de onaylama hataları düşük ve yakın, normal durum var onaylama hatası öğretme hatası
Yapay sınır ağı mımarısı Bazen durumda makine öğrenme modelinin önyargı-varyans faklı şekilde ayarlanabilir Yapay sınır ağları için, mesela, bu durum ağın mimarısıyla ayarlanabilir–küçük ve az nöronlu ağ genellikle eğilmez ve önyargı durumunda dır; büyük ve çok nöronlu ağ genellikle fazla eskek ve varyans durumunda dır İstenen ağın mimarısı aynı mantıkla seçilebilir
Yapay sınır ağı mımarısı Eğer eğitim eğrileri yüksek öğretim-onaylama hatalarına gelirse, ağına daha çok nöron eklemek gerekiyor Eğer eğitim eğrileri düşük öğretim ve yüksek onaylama hatalarına gelirse, daha çok veriler almak gerekiyor Sonunda, eğitim eğrilerine bakarak düşük ve aynı zamanda yakın öğretme ve onaylama hatalarını sağlayan modeli bulmaya çalışıyoruz
Mümkün iyileştirme adımları Buna göre, pratik iyileştirme önerileri bu şekilde verilebilir; Daha çok veriler kullanmak deneyin–“modelde varyans durumu varsa” Daha az özellikler kullanmak deneyin–“modelde varyans durumu varsa” Yeni özellikler kullanmak deneyin–“modelde önyargı durumu varsa” Bileşik özellikler kullanmak deneyin–“modelde önyargı durumu varsa” Düzenlileştirme parametresini azaltmak deneyin–“modelde önyargı durumu varsa” Düzenlileştirme parametresini yükseltmek deneyin–“modelde varyans durumu varsa”
Mümkün iyileştirme adımları Bu şekilde, makine öğrenmesi pratik soruna uygularken genellikle bu yaklaşımı takip ederler; Muhtemelen önemli özellikleri belirlenir Biraz veri toplanır Basit makine öğrenme yöntemi (lineer yaklaşımı yanı) uygulanır Eğitim eğrileri çizilir ve modelin durumu bu şekilde belirlenir Daha çok veri almak lazım Daha iyi özellikler bulmak lazım Düzenlileştirme yapmak (yanı özellikler çıkartmak) lazım Baze hatalara kendi kendinize bakmak lazım, hata desenleri aranmalı–ne gibi durumda model yanlışlık yapar, ne gibi özellikler şunun için yardımcı olabilir–daha sık karşılaşılan hatalar ilk önce odaklanmalı ! Deneyecek şeylerin planını yapılır; bütün olasılıklar için iyileştirme değerlendirilmesi sayısal performans ölçümler kullanarak yapılır Bu şekilde modelini gereken dereceye kadar iyileştirmeye çalışırlar
Büyük veri kavramı “Büyük Veri” kavramı Büyük veri ne demek Büyük veri önkoşulları ne idi Büyük veri pratik soruları
Büyük veri kavramı “Büyük Veri” ne demek Zamanımızda bilgi çoğunlukla internette bulunduğu nedeniyle, insanların faaliyet bilgileri hazır ve kolayca ulaşılabilir şekilde depolanmış oldu Bu veriler nedeniyle farklı insan faaliyetlerinin incelenip modellenmesine yol açıldı İlişkiler, tercihler, davranış, bunların hepsi incelenebilir oldu
Büyük veri kavramı “Büyük Veri” ne demek Migros, Koçtaş gibi büyük ticaret şirketleri, ticaret ve müşterileri hakkında çok büyük hacimda verilere sahip oldu Modern İnternet ve bilgisayarlar kullanarak bu verilerin analizi yapılabilir Bu veriler kullanarak ürün-müşteri ilişkilerini modelleyerek ürünler daha verimli şekilde bu şirketler tarafından satılabilir
Büyük veri kavramı “Büyük Veri” ne demek Facebook, Google+, Twitter gibi sosial ağları bütün kullanıcılarının ilişkilerini kayıt edip kullanıcıları hakkında birçok veriye sahip oldu Bu veriler kullanarak onların üyelerinin davranış ve tercihleri modellenebilir, reklam daha verimli şekilde yapılabilir
Büyük veri kavramı “Büyük Veri” ne demek İnternet arama motorları, Google özellikle, bütün insan faaliyetleri ile ilgili İnternet’ten bilgileri sürekli çekip bütün konularında birçok veriye sahiptir Bu veriler farklı amaçla kullanılabilir – bir örnek, piyasa yada siyaset tahminleri etmek için kullanılabilir
Büyük veri kavramı “Büyük Veri” ne demek Bu bütün durumların ortak özellikleri: Çok büyük miktarda olan verilerin olması Hem de çok fazla örnek hem de her hangi konuda birçok kayıt edildiği özelliklerin olması Bunlar demek ki, genellikle bu veriler insan tarafından hiç incelenmez Bu amaçlarla genel makine öğrenme yöntemleri kullanılmakta, ve bu nedenle birçok büyük şirket tarafından makine öğrenme becerileri son derece istenmektedir
Büyük veri kavramı Büyük veri önkoşulları Önceki makine öğrenme deneyleri şunu gösterdi; Genel makine öğrenme algoritmaları (lineer model, lojistik regresyon, yapay sınır ağları, vb) yeterli verilere sahip olması durumunda benzer performans gösterir Daha az veriyle, daha iyi yada daha kötü algoritma olabilir, ama bir noktayı geçince bütün algoritmalar aynı performans gösterir–yanı yeterli veriler varsa, bütün algoritmalar aynı bir “azami performansı” sağlar
Büyük veri kavramı Bu durum için birkaç önemli önkoşul olmalı; Özellikler, doğru şekilde karar vermeye olanağı vermeli; yanı bir insan uzmanı aynı özellikleri kullanarak doğru kararlar verebilmeli == kullanıldığı özelliklerin kümesi yeterli olmalıdır Güçlü ve esnek makine öğrenme algoritması kullanılmalı, mesela - büyük yapay sınır ağı Çok büyük öğretim kümesi kullanılmalı–yeterli veriler varsa, güçlü ve esnek bile bir genel makine öğrenme algoritmalarında varyans sorunu artık yoktur
Büyük veri kavramı Büyük veri önkoşulları Yeterli veriler varsa, varyans sorunu artık yok onaylama hatası öğretme hatası
Büyük veri kavramı Büyük veri yaklaşımı; Eksiksiz özellik kümesi Zengin modelleme yaklaşımı Büyük öğretim kümesi Bu yaklaşım bizim zamanımızda bahsedilmiş sorunları çözmek için kullanılır
Büyük veri öğretme “Büyük veri” durumunda üz binlerce ve miliyonlarca öğretim örnekleri tipik olarak olabilir (mesela, bütün Facebook taki mesajlar yada like’ler) Bu durumda, dereceli azaltma kullanmak çok zor ve pahalı oluyor Bu durumda azaltma başarılı şekilde yapmak için özel metotlar kullanılır
Büyük veri öğretme Stokastik dereceli azaltma, bu metotların biridir Stokastik dereceli azaltma algoritması, normal dereceli azaltma algoritması gibi çalışıyor, ama bütün adımda bütün örnekler için model maliyetini hesaplamıyor
Büyük veri öğretme Örneğin, normal dereceli azaltmada bütün adımlar için bu toplamı hesaplamak gerekiyor; Örnek çok varsa (m yüzbinler yada miliyonlara yakınsa), bu toplama çok uzun zamandır gerekir; bu yöntem aslında kullanılamaz
Büyük veri öğretme Stokastik dereceli azaltmada, güncelleştirme bu şekilde yapılır; Burada bütün örneklerin yerine i. adımda sadece bir tane i. örnek konulmuş oldu Bu güncelleştirme çok hızlı yapılabilir, aynı zamanda benzer şekilde maliyetin minimumuna gelir.
Büyük veri öğretme Önemli not: Stokastik dereceli azaltma başarılı olması için örnekler rasgele sırada kullanılmalı
Büyük veri öğretme Stokastik dereceli azaltma bütün örnekler bilinmez ve onlar zamanla birer birer şekilde geldiği durumunda da kullanılabilir Bu durumlara “online öğretme” diyoruz “Online öğretme” birçok pratik durumda çok faydalı yaklaşımdır; aynı şekilde parametreler, örnekleri birer birer kullanarak güncelleştirilir
Büyük veri öğretme Stokastik dereceli azaltma yerine “batch” dereceli azaltma da kullanılabilir Bu yöntemde, model parametreleri güncelleştirmek için bir örnek yerine birkaç (b=10-100) örnek grup olarak kullanılabilir
Büyük veri öğretme Biriysel örneklerde çok fazla gürültü varsa, stokastik dereceli azaltma minimum noktası arasında ileri geri hareket edebilir (gürültü nedeniyle) Bu durumda batch dereceli azaltma gürültünün etkisi azaltmak için kullanılabilir
Come again !