Kovaryans - Ümit ATİLA Kişisel Web Sayfası

advertisement
BSM-767 MAKİNE ÖĞRENMESİ
Makine Öğrenmesine Giriş ve Temel
Kavramlar
Yrd. Doç. Dr. Ümit ATİLA
umitatila@karabuk.edu.tr
http://web.karabuk.edu.tr/umitatilla/
Makine Öğrenmesi Nedir?
• Veri boyutunun büyüklüğü
insanların ondan faydalı bilgi
çıkarmasını zorlaştırır.
• Verinin sunuluş biçimi bile
bize anlamakta zor gelebilir.
• Sayılarla dolu bir dosya
içinde kaybolup gidebiliriz.
Ancak veriyi bir grafik
üzerinde görselleştirsek
daha anlaşılır olabilir.
2
Makine Öğrenmesi Nedir?
• İnsan 3 boyutlu hayatında 3
boyuttan yüksek boyuta
sahip verileri yorumlamakta
zorlanır.
• Bilgisayarlar için yüksek
boyutlu veri problem
oluşturmaz.
• Ya problemin boyutunu
azaltıp kendiniz çözersiniz
veya bilgisayara makine
öğrenmesi ile
çözdürürsünüz.
3
Makine Öğrenmesi Nedir?
• Örnek verileri ve geçmiş deneyimleri kullanarak
performans kriterini optimize etmektir.
• Makine öğrenmesinde verinin rolü
kaçınılmazdır.
• Öğrenme algoritması, veriden bilgi veya özellik
ortaya çıkarmak ve öğrenme için kullanılır.
• Veri setinin kalitesi ve büyüklüğü öğrenme ve
tahmin performansını etkileyecektir.
4
Genelleme (Generalization)
• Makine öğrenmesinde amaç genelleme
kapasitesine ulaşmaktır.
• Bir bilgisayarın bir problemin çözümü hakkında
yorum yapabilme kapasitesine ulaşmasıdır.
• Bilgisayar örnekler üzerinden öğrenir ve
görmediği örnekler hakkında doğru tahminlerde
bulunmaya çalışır (genelleme)
5
Makine Öğrenmesi Türleri
• Öğrenme, "pratik yaptıkça bir iş daha iyi
yapabilir hale gelmek" olarak ta
tanımlayabiliriz.
• Peki bilgisayar daha iyi bir konuma geldiğini
nasıl bilir ve kendisini daha iyi bir konuma nasıl
getirir?
• Bu sorunun cevabı bize farklı öğrenme türleri
ile verilir.
6
Makine Öğrenmesi Türleri
• Danışmanlı (Supervised) Öğrenme:
• Danışmansız (Unsupervised) Öğrenme:
• Reinforcement Öğrenme:
• Evrimsel Öğrenme:
7
Danışmanlı Öğrenme
• Sınıflandırma ve tahmin yöntemlerine
danışmanlı öğrenme yöntemleri de denilebilir.
8
Danışmanlı Öğrenme
Regresyon
• Bu değerlerin bir fonksiyondan
geldiğini kabul ederek bu fonksiyonun
ne olduğunu ortaya çıkarmak
istiyorsunuz.
• Böylece verilecek her hangi bir x
girişi için y çıkışının ne olduğunu
söyleyebileceksiniz.
• Genellikle fonksiyon yaklaşma veya
interpolasyon problemi olarak ta
tanımlanır.
9
Danışmanlı Öğrenme
Regresyon
• Bu tablodaki veriler için
kullanılabilecek birkaç
fonksiyon şekilde
verilmiştir.
• Sol üst: Noktaların
gösterimi,
• Sol alt: İki olası çözüm.
Noktaları doğrular ile
birleştirme (istenen şeyi
tam sağlamıyor) veya
(ax3+bx2+cx+d) şeklinde
kübik fonksiyon kullanma
(Birçok nokta için hata
yüksek).
10
Danışmanlı Öğrenme
Sınıflandırma
• N adet sınıftan birine ait olan örneklerle eğitim
yaparak giriş vektörlerinin N adet sınıftan
hangisine ait olacağını belirleme problemidir.
• Her örnek bir sınıfa aittir ve sınıflar kümesi
problem uzayında olası tüm girişler için
kullanılır.
• Bazı örnekler her hangi bir sınıfa dahil
edilemeyebilir.
11
Danışmanlı Öğrenme
Sınıflandırma
• Bozuk para tanıyan makine
• Özellik vektöründe yer
alabilecek parametreler
• Çap, ağırlık, şekil
(çoğaltılabilir)
• Hangi parametreleri
kullanmalıyız?
12
Danışmanlı Öğrenme
Sınıflandırma
• Farklı sınıflandırma algoritmalarının hepsinin amacı
karar sınırları (decision boundaries) belirlemektir.
• Şekilde soldaki doğrulardan oluşan karar sınırı,
sağdaki eğrilerden oluşan karar sınırına sahip
sınıflandırıcıya nazaran performansı kötüdür.
13
Makine Öğrenmesi Süreci
• 1-Veri Toplama ve Hazırlama
• 2-Özellik Seçimi
• 3-Algoritma Seçimi
• 4-Parametre ve Model Seçimi
• 5- Eğitim
• 6-Test
14
Terminoloji
• Öğrenme algoritmalarında giriş ve buna karşılık
çıkış vardır.
• Girişler: x = (x1,x2,…,xm)  m boyutlu giriş vektörü
• Ağırlıklar: wij, i düğümünü j düğümüne bağlayan
ağırlıklandırılmış bağlantı. W ağırlık matrisinde
topluca belirtilirler.
• Çıkışlar: y = (y1,y2,…,yn)  n boyutlu çıkış vektörü
• Hedef: t = (t1,t2,….,tn)  n boyutlu hedef vektörü.
Danışmanlı öğrenmede kullanılan beklenen çıkış
değerlerinden oluşan vektördür.
15
Ağırlık Uzayı
• Elimizdeki veriler 2 ve 3 boyutlu
ise görselleştirme kolaydır.
• 3 boyuttan sonrası için sadece 3
tane özelliğin 3 boyutlu ortama
yansıması gözlenebilir.
• Veriler gibi başka büyüklüklerde
grafikte izlenebilir. Örneğin
makine öğrenmesi
algoritmalarında kullanılan
parametreler.
• Parametreler koordinat
düzleminde (Ağırlık Uzayı) temsil
edilebilir.
16
Boyut Sorunu
• Boyut arttıkça uzayda temsil edilen birim
hiperdüzlemin boyutu artmaz.
• Birim hiperdüzlem orijinden 1 birim uzaklıkta yer alan
noktaların birleştirilmesi ile elde edilen alandır.
• 2 boyutta (0,0) koordinatı etrafında çemberdir, 3
boyutta (0,0,0) etrafında küre.
• 3 boyuttan sonra hiperdüzlem elde edilir.
17
Boyut Sorunu
• 100 boyuta çıkıldığında elde
edilen hiper düzlemin
sınırının orijine uzaklığı 0.1'e
düşer.
• Böylece hiperdüzlemin
hacminin küçüldüğü anlaşılır.
• Hiperdüzlemin hacmi
formülü Vn = (2π / n) Vn-2
18
Boyut Sorunu
• Makine öğrenmesi algoritmaları için bunun
yorumu
• Giriş parametrelerinin boyutu arttıkça
algoritmanın iyi genelleme yapabilmesi için daha
fazla örneğe ihtiyaç duyulur.
• Sınıflandırmada parametre sayısı arttıkça başarılı
sınıflandırma için göstermemiz gereken örnek
sayısı da artar.
19
Makine Öğrenme Algoritmalarını
Test Etme
• Algoritmamızın ne kadar başarılı olduğunu
bilmek isteriz.
• Öğrenmenin performansını öngörebilmek için
Test Veri Seti kullanılır. Eğitim Veri seti ile
aynı dağılıma sahip olmalıdır.
20
Makine Öğrenme Algoritmalarını
Test Etme
• a, elimizdeki eğitim kümesi ve b ile c ise test kümeleri
• c kümesi, a ve b'den farklı dağılıma sahip. Bu durumda
a'dan öğrenilen özelliklerin c'de kullanılabilir olmasını
bekleyemeyiz.
21
Makine Öğrenme Algoritmalarını
Test Etme
• Bu 2 karar sınırı
eğitim kümesinde
%100 başarı
gösterirken, test
kümesinde daha
farklı bir davranış
sergilemekte.
22
Overfitting (Aşırı Uyum)
• Ne az eğitim ne de çok aşırısı işimize yaramaz.
• Eğer çok fazla eğitim gerçekleştirirseniz
veriye aşırı uyum gerçekleşir (ezberleme) yani
algoritma verideki gürültü ve yanlışlıklar da
öğrenilir ve genelleme yeteneğine zarar verilir.
23
Overfitting (Aşırı Uyum)
• Aşırı uyum gerçekleşmeden önce eğitimi
durdurmalıyız.
• Eğitimde her adımda ne kadar iyi genelleme
yapıldığına bakmalıyız.
• Bunun için eğitim veya test seti kullanılamaz.
• Validation set (değerlendirme verisi) gerekir.
24
Çapraz Geçerlik (Cross-validation)
• Genel olarak 3 veri setimiz vardır. Eğitim,
Değerlendirme ve Test.
• Elimizdeki verinin bu üç veri setine dağıtılması da
başarının tarafsızlığı için önemlidir.
• Bunun için cross-validation (çapraz geçerlik)
kuralları uygulanır.
• Üç tip çapraz geçerlik yöntemi önerilmiştir:
• Rasgele örnekleme
• K parçalı
• Birini hariç tut
25
Çapraz Geçerlik (Cross-validation)
Rasgele Örnekleme
• Rasgele örneklemede eğitim test ve değerlendirme
kümelerine rasgele örnekler seçilerek aktarılır.
• Çapraz geçerlik içerisinde en yüksek başarıyı
sağlayan yöntemdir.
26
Çapraz Geçerlik (Cross-validation)
K-Parçalı
• K parçalıda veri K adet kümeye ayrılır.
• Birisi test kümesi için ve biriside değerlendirme kümesi için
ayrılır diğer K-2 küme birleştirilip eğitim kümesi için seçilir.
• Bu işlem kümeler değiştirilerek K kez tekrarlanır.
• Genel başarı için K adet başarı değerinin ortalaması alınır.
27
Çapraz Geçerlik (Cross-validation)
Birini Hariç Tut
• K parçalının bir türüdür. Burada algoritma N
adet verinin bir tanesinde değerlendirilir N-1
tanesinde eğitilir.
• Her eğitimde bir tane örnek dışarıda bırakılır
ve diğerleri eğitimde kullanılır.
• K parçalı ve Birini Hariç tut yöntemlerinin
hesaplama maliyeti rasgele örneklemeden çok
yüksektir.
28
Karışıklık Matrisi
• Sınıflandırma algoritmalarının başarısını tayin etmek
için kullanılan bir yöntemdir.
• Karışıklık Matrisinde, satırları beklenen sınıfları ve
sütunları da tahmin edilen sınıfları temsil eden bir kare
matris oluşturulur.
• Matristeki diagonal veriler doğru olarak tahmin edilen
örnek sayılarıdır.
• Diagonalda yer alan sayıların matristeki toplam örnek
sayısına bölümü doğru sınıflandırma başarısını yüzde
olarak verir.
• Buna doğruluk (Accuracy) denir.
29
Doğruluk Ölçütleri
• Binary sınıflandırma problemlerinde olası sınıflar basit bir
tablo ile ifade edilebilir.
• Bu tabloda TrueProzitif Sınıf1'e dahil edilen ve gerçekte de
Sınıf1'e ait olan örnek sayısı, FalsePozitif ise yanlışlıkla
Sınıf1'e dahil edilen örnek sayısıdır.
• Benzer şekilde TrueNegatif Sınıf2'ye dahil edilen ve
gerçekte de Sınıf2'e ait olan örnek sayısı, FalseNegatif ise
yanlışlıkla Sınıf2'e dahil edilen örnek sayısıdır.
• Bu tabloda diagonal'de yer alanlar doğru sınıflandırmalar
diğerleri ise yanlış sınıflandırmalardır.
30
Doğruluk Ölçütleri
• Doğruluk (accuracy) ise şu
şekilde tanımlanır.
• Ancak sınıflandırıcı
performansını ifade etmek için
doğruluk tek başına
yetersizdir.
• Bir birine zıt iki çift ölçüt
sensivity ile specifity ve
Precision ile Recall
sınıflandırıcı performansını
ifade etmek için kullanılır.
31
Doğruluk Ölçütleri
• ROC (Receiver Operator Characteristic)
eğrisi, sınıflandırma başarısını yorumlamak ve
sınıflandırıcıları karşılaştırmak için kullanılır.
• TruePozitif örneklerin oranının, FalsePozitif
örneklerin oranına göre nasıl değiştiğini
gösterir.
• Sınıflandırıcının bir kez çalıştırılması ROC
grafiğinde bir nokta bırakır. Bu nokta (0,1) ise
%100 TP ve %0 FP olduğu anlamına gelir.
• Her şeyi yanlış sınıflandıran bir sınıflandırıcı
ise (1,0) noktasındadır.
• Böylece ne kadar sol üst tarafta isek o kadar
başarılıyız demektir.
32
Doğruluk Ölçütleri
• ROC grafiğinde bir nokta yerine eğri elde
etmenin yolu çapraz geçerlilik uygulamaktır.
• Eğer veri seti 10'a bölünürse 10 farklı test
setinde 10 farklı sınıflandırma sonucu elde
edersiniz ve bir eğri oluşturabilirsiniz.
• Her sınıflandırıcı için bu şekilde ROC eğrileri
elde edilerek sınıflandırıcılar karşılaştırılabilir.
33
Dengeli Olmayan Veri Setileri için
Doğruluk Ölçütü
• Genelde veri setleri dengeli değildir.
• Dengeli olmayan veri setlerinde dengeli doğruluğu
hesaplamak için Sensivity ve Specifity toplanıp 2'ye
bölünebilir.
• Ancak daha doğru bir ölçü kullanmak isterseniz bu
durumda kullanılabilecek uygun doğruluk ölçüsü
Matthew Benzerlik Katsayısıdır (MCC).
34
Temel İstatistik Kavramları
Ortalamalar
• Mean (μ): Örneklerin ortalamasıdır. Örnek
toplamının örnek adedine bölümüdür.
• Medyan: Bir örnek setindeki ortanca değerdir.
Çift sayıda örnek varsa ortaya en yakın iki
örneğin ortalamasıdır. Önce kümedeki örnekler
büyüklüğe göre sıralanır.
• Mod: Bir örnek setindeki örneklerden frekansı
en fazla olanın frekans (küme için kaç adet
bulunuyor) değeridir.
35
Temel İstatistik Kavramları
Varyans-Kovaryans
• Beklenen değer (Expected Value-E): Bir grup
sayının beklenen değeri onların ortalamasıdır.
• Varyans (σ2): Bir örnek kümesindeki değerlerin
dağılımını gösterir. Örnek değerleri ile örnek
kümesinin beklenen değeri (mean) arasındaki
farkların kareleri toplamıdır.
• Standart Sapma (σ): Varyansın kareköküdür.
36
Temel İstatistik Kavramları
Varyans-Kovaryans
• Kovaryans: Varyans bir örneğin ortalamaya göre değişimine
bakar. Kovaryans ise iki örneğin birbirine göre değişimine
bakar.
• Kovaryans hesaplanırken iki ayrı örnek kümesindeki
örneklerin kendi kümelerinin ortalama değerlerinden
farklarının beklenen değeri çarpılır.
• Eğer iki örnek bağımsız ise kovaryans sıfırdır yani örneklerin
korelasyonsuzdur.
• Yani örneklerin ikisi de aynı anda artıyor ve azalıyorsa
kovaryans pozitiftir. Biri artıyorken diğeri azalıyorsa
negatiftir.
37
Temel İstatistik Kavramları
Varyans-Kovaryans
• Kovaryans, bir veri setindeki tüm veri çiftleri arasındaki korelasyona bakmak için
kullanılabilir.
• Bunun için tüm örnek çiftlerinin kovaryansı hesaplanır ve bunlar kovaryans matrisi
denilen matrise yerleştirilir.
• Burada xi, i. örneğin elemanlarını tanımlayan sütun vektörü, μi ise bu sütun vektördeki
elemanların mean değeri.
• Matris kare matristir. Diagonal elemanlar varyansları verir ve matris simetriktir yani
cov(xi,xj) = cov(xj,xi)
• X'in mean değeri E(X) olarak düşünüldüğünde bu matris aşağıdaki şekilde ifade
edilebilir.
38
Temel İstatistik Kavramları
Varyans-Kovaryans
• Kovaryans bize veri hakkında ne söyler?
• Esas olarak verinin her boyuta göre nasıl değiştiği bilgisini verir.
• Şekilde görülen veri setleri ve bir X test noktası görülüyor. Burada
X verinin bir parçası mıdır diye sorulsa. Muhtemelen soldaki için
evet, sağdaki için hayır dersiniz.
• Bu cevabı verirken verinin ortalamasına baktığınız gibi test
noktasının gerçek veri dağılımının neresinde olduğuna da bakarsınız.
39
Temel İstatistik Kavramları
Varyans-Kovaryans
• Eğer veri belli bir nokta etrafında sıkı bir şekilde toplanmış
olsaydı, test noktasının bu merkeze ne kadar mesafede
olduğuna bakardınız.
• Eğer veri merkez etrafında toplanmak yerine yayılmış
olsaydı. Test noktasının merkeze olan mesafesi çok önemli
olmayacaktı.
• Bu fikri hesaba alan bir mesafe ölçüsü vardır. Mahalanobis.
• Burada x, sütun vektörü olarak
alınan
veri
noktası,
μ
mean'i
veren sütun vektörü ve 𝛴 −1 ise kovaryans matrisinin tersidir.
• Eğer kovaryans matrisi, birim matris olarak ayarlanırsa bu
durumda Mahalanobis mesafesi Öklit mesafesine dönüşür.
40
Temel İstatistik Kavramları
Gauss Dağılımı
• En iyi bilinen olasılık dağılımıdır.
• Bir boyutta şekilde verildiği gibi
bir eğridir.
• Formülü ise
• Burada σ, standart sapma, μ ise
mean değeridir.
41
Temel İstatistik Kavramları
Gauss Dağılımı
• Gauss dağılımı, Merkezi Limit Teoreminden dolayı
bir çok problemde karşımıza çıkar.
• Bu teorem, bir çok rasgele küçük değerin Gauss
dağılımına sahip olacağını söyler. Yüksek boyutta şu
şekilde hesaplanır.
• Burada 𝛴, kovaryans matrisi, 𝛴 −1 kovaryans
matrisin tersi, 𝛴 ise bu matrisin determinantıdır.
42
Temel İstatistik Kavramları
Gauss Dağılımı
• Şekilde iki boyutta üç farklı durum görülmekte.
• Birincisi, kovaryans matrisin birim matrisi olduğu
durumda. Küresel kovaryans matrisi olarak bilinir.
• İkinci durum, sadece kovaryans matrisin
diagonalinde sayıların olduğu durum
• Üçüncüsü ise genel durum.
43
Bias-Varyans Çekişmesi
• Makine öğrenmesinde karmaşık modeller
öğrenmede daha fazla veriye ihtiyaç duyarlar
ve overfitting riski yüksektir.
• Overfitting engellemek için validation setler
kullanılır.
• Daha karmaşık bir modelin her zaman daha iyi
sonuçlar vermeyeceğini göstermek için basit
bir fikir ortaya atılmıştır. Bias-varyans
çekişmesi.
44
Bias-Varyans Çekişmesi
• Makine öğrenmesi gerçekleştiren bir model iki
sebeple kötü olabilir.
• Veriye uyum sağlayamamıştır (bias)
• Hassas değildir. Sonuçlarda çok fazla varyasyon
vardır (varyans)
• Model karmaşıklaştıkça bias artar, varyans düşer.
Modeli spesifik hale getireyim deseniz ve varyansı
artırsanız bu sefer de bias düşer.
• Bir modelde hatayı hesaplamanın en genel yöntemi
hedef ve gerçek çıkış arasındaki farkları karelerini
toplamaktır.
45
Bias-Varyans Çekişmesi
• Bu hata formülüne baktığımızda bu formülü
parçalamak suretiyle buradan varyans ve bias
büyüklüklerini elde edebiliriz.
• Diyelim ki yaklaşmaya çalıştığımız fonksiyon 𝑦 =
𝑓 𝑥 + 𝜀 olsun. Burada 𝜀 gürültüdür ve 0 varyans ve
mean değerine sahip olduğu varsayılır.
• Biz makine öğrenmesi algoritmasını ℎ 𝑥 = 𝑤 𝑇 𝑥 + 𝑏
2
hipotezini hata kareleri toplamını෍ 𝑦𝑖 − ℎ 𝑥𝑖
𝑖
minimize etmek için veriye uydurmaya çalışırız.
46
Bias-Varyans Çekişmesi
• Modelimizin başarılı olup olmadığını görmek için
bağımsız bir veri olarak x* girişi kullanılır ve rasgele
bir değer olduğunu varsaydımız hata kareleri
toplamının beklenen değeri hesaplanır.
• Hatırlayacağımız gibi 𝐸 𝑥 = 𝑥ҧ mean değeridir.
• Eğer Z rasgele bir değer ise bu durumda şu eşitlik
yazılabilir.
𝐸 = (𝑍 − 𝑍)ҧ 2 = 𝐸 𝑍 2 − 2𝑍 𝑍ҧ + 𝑍ҧ 2
ഥ + 𝑍ҧ 2
= 𝐸[𝑍 2 ] − 2𝐸[𝑍]𝑍
= 𝐸[𝑍 2 ] − 2𝑍ҧ 𝑍ҧ + 𝑍ҧ 2
= 𝐸[𝑍 2 ] − 𝑍ҧ 2
47
Bias-Varyans Çekişmesi
• Bu eşitlikten hareketle yeni bir giriş için hata
kareleri toplamının beklenen değerini
hesaplayabiliriz.
48
Bias-Varyans Çekişmesi
• Eşitliğin sağ tarafındaki 3 büyüklükten en soldaki test
verisinin varyansıdır ve indirgenemez hatadır ve bizim
kontrolümüzün dışındadır.
• İkinci terim varyans ve üçüncüsü ise bias karesidir.
• Burada bias büyüklüğü yaklaşma hatasıdır… Bias terimi
bize neyi veriyor? Gerçek fonksiyon ile ortalama
gerçeklenen fonksiyon arasındaki farktır.
• Varyans büyüklüğü ise tahmin hatasıdır… Yani öğrenen
model tarafından eğitim seti için gerçeklenen
fonksiyonun ortalamasından bir örneğin gerçeklemesi
çıkartılıyor ve karesi alınıyor.
49
Bias-Varyans Çekişmesi
50
Bias-Varyans Çekişmesi
51
Download