Öğrenme ve Sınıflama
Sınıflandırma Sınıflandırma kavramı, basitçe bir veri kümesi (data set) üzerinde tanımlı olan çeşitli sınıflar arasında veriyi dağıtmaktır. Sınıflandırma algoritmaları, verilen eğitim kümesinden bu dağılım şeklini öğrenirler ve daha sonra sınıfının belirli olmadığı test verileri geldiğinde doğru şekilde sınıflandırmaya çalışırlar.
Öğrenme süreci Karar modellerinin öğrenilmesi için iki en önemli öğrenme yöntemi, Eğiticili-denetimli öğrenme (supervised learning) Eğiticisiz-denetimsiz öğrenme (unsupervised learning)
Eğiticili ve Eğiticisiz Öğrenme Eğiticili-denetimli öğrenme (supervised learning) : Sınıflandırma Sınıf sayısı ve bir grup örneğin hangi sınıfa ait olduğunu bilinir Eğiticisiz-denetimsiz öğrenme (unsupervised learning) : Kümeleme (Demetleme, öbekleme,…) Hangi nesnenin hangi sınıfa ait olduğu ve grup sayısı belirsizdir.
Eğiticili-denetimli öğrenme (supervised learning) Kırmızı hangi sınıftan?
Eğiticili-denetimli öğrenme (supervised learning)
Eğiticili-denetimli öğrenme (supervised learning)
Eğiticili-denetimli öğrenme (supervised learning)
Eğiticili-denetimli öğrenme (supervised learning)
Eğiticili-denetimli öğrenme (supervised learning) Denetimli öğrenme en çok yaygın öğrenme durumudur Olayların verileri ve bu verilere karşılık gelen çıktılar, sonuçlar, yada kararlar örnekleri bulunmaktadır Var olan olayların örnekleri kullanarak makine öğrenme sistemi genellemeye çalışmaktadır Önceden görülen olayın örnekleri kullanarak gelecek durumlar için sonuçlarını tahmin etmeye çalışmaktadır
Eğiticisiz-denetimsiz öğrenme (unsupervised learning) Eğiticili-Denetimli öğrenme Eğiticisiz-Denetimsiz öğrenme Sınıflar bilinir Sınıflar bilinmez
Eğiticisiz-denetimsiz öğrenme (unsupervised learning) Olayların örnekleri bilinir, ama onlara karşı gelen sonuçları bilinmez
Eğiticisiz-denetimsiz öğrenme (unsupervised learning) Kurulan Model kendi kendine çalışarak verilerin var olan yapısını bulması gerekiyor
Eğiticisiz-denetimsiz öğrenme (unsupervised learning) Bu sorunlara bazen “kümeleme” yada “clustering” denir, yani var olan olayların birkaç uygun küme/sınıfa konulması gerekiyor 1. sınıf 2. sınıf
Eğiticisiz-denetimsiz öğrenme (unsupervised learning) Kümeleme-Clustering
Eğiticisiz-denetimsiz öğrenme (unsupervised learning) Var olan verilere karşılık gelen çıktılar yok Algoritmanın kendi kendine verilerde var olan yapısını bulmasını gerekiyor “Verilerde yapı bulma” == “Kümeleme sorunu” (“clustering problemi”) Örnekler ne gibi uygun kümelere bölünebilir, veriler bu kümelere nasıl konulabilir, vb
Eğiticisiz-denetimsiz öğrenme (unsupervised learning) Uygulamalar, otomatik olarak haber sınıflandırma (örneğin news.google.com) benzer haberleri aynı kümelere koyup aynı başlangıçtan kullanıcılara sunmak Sosyal ağlar analizi; facebookta ilişki grafikler vb Pazar analizi; müşterilerin tercihleri açıklama Doğal verileri anlama; ekonomi, bioloji, vb
Öğrenmenin geleceği Öğrenme modülleri birçok uygulamaya girmiş durumda. Ticari olarak satılan (gerçek dünya için tasarlanmış) birçok ürün var. Bu tür ürün ve modüllerin sayısı giderek artmakta. Çözüm bekleyen ve büyük potansiyelleri olan birçok problem var.
Verilerin öğrenmede kullanımı Farklı türdeki pek çok veri işlemek gerek Sayısal Sayısal olmayan (kategorik, sözel, vb.) Veriyi sayısallaştırmak gerek
Verilerin sayısallaştırılması Resim: Resmin her bir pikselinin değeri 0–255 arası sayılara çevrilir. Renkli resimler 3 adet, siyah beyazlar 1 adet en*boy büyüklüğünde matrisle ifade edilir. Metin: Metindeki harfler, heceler ve kelimeler genelde frekanslarına göre kodlanarak sayılara çevrilir. Ses: Genlik ve frekansın zaman içindeki değişimiyle kodlanır.
Sınıflandırma Sınıflandırmanın temel kuralları: Sınıflandırma için öğrenme eğiticilidir Veri setinde bulunan her örneğin bir dizi özniteliği vardır ve bu niteliklerden biri de sınıf bilgisidir. Hangi sınıfa ait olduğu bilinen nesneler (öğrenme kümesi: training set) ile bir model oluşturulur Oluşturulan model öğrenme kümesinde yer almayan nesneler (deneme kümesi: test set) ile denenerek başarısı ölçülür.
Sınıflandırma Sınıflandırma, en basit anlamıyla, 2 aşamadan oluşur. Eğitim verisi üzerinden öğrenme Öğrenilen değerlerle test verisi üzerinde sınıflandırma
Eğiticili Sınıflandırma
Sınıflandırma Sınıflandırma (classification) problemi: nesnelerden oluşan veri kümesi (öğrenme kümesi): D={t1,t2,…,tn} her nesne niteliklerden oluşur, niteliklerden biri sınıf bilgisi Sınıf niteliğini belirlemek için diğer nitelikleri kullanarak bir model bulma Öğrenme kümesinde yer almayan nesneleri (test kümesi) mümkün olan en iyi şekilde doğru sınıflara atamak
Veri Kümesi (Öznitelikler-features) (Sınıf-Class) Yaş Boy Kilo Cinsiyet → 20 175 70 Erkek → 21 179 80 Erkek → 19 162 50 Kız → 22 169 55 Kız → 20 183 90 Erkek → 19 181 75 Erkek → 21 171 57 Kız →(Örnekler-samples)
Sınıflandırma Amaç: Bir niteliğin değerini diğer nitelikleri kullanarak belirlemek Verinin dağılımına göre bir model bulunur Bulunan model, başarımı belirlendikten sonra niteliğin gelecekteki ya da bilinmeyen değerini tahmin etmek için kullanılır Model başarımı: doğru sınıflandırılmış sınama kümesi örneklerinin oranı
Sınıflandırma Uygulamaları Kredi başvurusu değerlendirme Kredi kartı harcamasının sahtekarlık olup olmadığına karar verme Hastalık teşhisi Ses tanıma Karakter tanıma Gazete haberlerini konularına göre ayırma Kullanıcı davranışları belirleme …………….
Sınıflandırma için Veri Hazırlama Veri dönüşümü-Ayrıklaştırma(Discretisation) : Sürekli nitelik değeri ayrık hale getirilir Sayısal yaş {çocuk, genç, orta-yaş, yaşlı} Derece olarak sıcaklık {soğuk,serin,ılık,sıcak} Normalizasyon : ([-1,...,1], [0,...,1]) Veri temizleme: gürültüyü azaltma (Noise reduction) gereksiz nitelikleri silme
Sınıflandırma İşlemi Sınıflandırma işlemi üç aşamadan oluşur: Model oluşturma Model değerlendirme 3. Modeli kullanma
Sınıflandırma İşlemi: Model Oluşturma Her nesnenin sınıf etiketi olarak tanımlanan niteliğinin belirlediği bir sınıfta olduğu varsayılır Model oluşturmak için kullanılan nesnelerin oluşturduğu veri kümesi öğrenme kümesi (training set) olarak tanımlanır Model farklı biçimlerde ifade edilebilir IF – THEN – ELSE kuralları ile Karar ağaçları ile Matematiksel formüller ile
Sınıflandırma İşlemi: Model Değerlendirme Model Değerlendirme: Modelin başarımı (doğruluğu) test kümesi örnekleri kullanılarak belirlenir Sınıf etiketi bilinen bir test kümesi örneği model kullanılarak belirlenen sınıf etiketiyle karşılaştırılır Modelin doğruluğu, doğru sınıflandırılmış test kümesi örneklerinin toplam sınama kümesi örneklerine oranı olarak belirlenir Test kümesi model öğrenirken kullanılmaz. Test kümesi ile öğrenme kümesi bağımsız olmalı.
Sınıflandırma İşlemi: Modeli Kullanma Model daha önce görülmemiş örnekleri sınıflandırmak için kullanılır Örneklerin sınıf etiketlerini tahmin etme Bir niteliğin değerini tahmin etme
Sınıflandırma Metodunu Değerlendirme Doğruluk Sınıflandırıcı doğruluğu:sınıf etiketlerinin doğruluğu Tahmin doğruluğu: verinin değerinin tahmin doğruluğu Hız Modeli oluşturma süresi Sınıflandırma yapma süresi Kararlılık: verinin gürültülü yada eksik olması durumunda iyi sonuç vermesi Ölçeklenebilirlik: büyük boyutlu verilerle çalışabilmesi Anlaşılabilir olması: Kullanıcı tarafından yorumlanabilir olması
1. Adım: Model Oluşturma Sınıflandırma Algoritmaları Öğrenme Kümesi Sınıflandırıcı (Model) IF rank = ‘professor’ OR years > 6 THEN tenured = ‘yes’
2. Adım: Doğruluk değerlendirme Sınıflandırıcı IF rank = ‘professor’ OR years > 6 THEN tenured = ‘yes’ Sınama Kümesi 75% doğruluk
3. Adım : Modeli Kullanma Tenured? Sınıflandırıcı Yeni Veri (Jeff, Professor, 4) Tenured?
Sınıflandırma Yöntemleri: Yapay Sinir Ağları (Artificial Neural Networks) Karar Ağaçları (Decision Trees) Örnek Tabanlı Yöntemler (Instance Based Methods): k en yakın komşu (k nearest neighbor) Bayes Sınıflandırıcı (Bayes Classifier) Genetik Algoritmalar (Genetic Algorithms) …