Bu yazı Makine Öğrenmesi Matematiği yazı dizisinin 5. bölümüdür. Hatırlamak isterseniz:

Eğer buraya kadar tüm bölümleri anlayarak geldiyseniz, makine öğrenmesi hakkında çok büyük bir yol katettiğinizi söyleyebilirim.

Şimdi hızlıca bir özet geçelim.

  •  Denetimli Öğrenme: Veri setindeki her örnek için doğru sonucu tahmin eder.
    • Regresyon: Sürekli veri setinde verinin gerçek değerini tahmin etmeye çalışır.
    • Sınıflandırma: Ayrık verilerde değer tahmini gerçekleştirir.
  • x : Girdi
  • y : Çıktı
  • Hipotez : x girdilerini y çıktılarına eşler.
  • Öğrenme Algoritması : Hipotez’e ulaşmak için kullanılan algoritmalar
  • Maliyet Fonksiyonu : Basitçe diyebiliriz ki bulduğumuz hipotez ile var olan gerçek değerler arasındaki fark bizim maliyet fonksiyonumuzdur. Yani hipotezimizin bize olan maliyetini ölçmemizi sağlar.ogrenme_algoritmasi_semasi.png

sss

  • Dereceli Azalma Algoritması : Bir fonksiyonun minimumunu bulmamızı sağlar. Fonksiyonun minimumunu bulmak için birinci dereceden yinelemeli bir optimizasyon algoritmasıdır.
  • Öğrenme oranı,alfa.png, zamanın azalan bir fonksiyonudur. Bu parametre, optimum ağırlığa doğru ne kadar hızlı veya yavaş hareket edeceğimizi belirler.
  • alfa.png çok büyükse optimal çözümü atlayacağız. Çok küçükse, en iyi değerleri birleştirmek için çok fazla yinelemeye ihtiyacımız olacaktır. Bu yüzden iyi biralfa.png kullanmak çok önemlidir.
  • Eğeralfa.png değerini çok küçük seçerseniz, dereceli azalma algoritması çok yavaş hareket edecektir.
  • Eğeralfa.png değerini çok büyük seçerseniz dereceli azalma minimum’u geçip gidebilir. Yakınsama da başarız olur hatta aradığımız minimum değerinden sapabilir.
  • Dereceli azalma, öğrenme oranıalfa.png sabit olsa bile, yerel bir minimuma yaklaşabilir. Yerel bir minimuma yaklaştığımızda dereceli azalma otomatik olarak daha küçük adımlar atacaktır. Yani, zamanla alfa.png’nın azaltılmasına gerek yoktur.
  • Lineer Regresyonda, kesme değeri yani önyargı terimi olmadan çözümümüz origin noktasından geçmek zorundadır. Yani, tüm özellikler sıfır olduğunda tahmin edilen değerimizin de sıfır olması gerekir. Bununla birlikte, eğitim verilerimizin öne sürdüğü cevap bu olmayabilir. Herhangi bir özellikten bağımsız olarak bir önyargı ağırlığı eklenmesi, öğrendiğimiz ağırlıklarla açıklanan aşırı düzlemin (hiper düzlemin), başlangıç ​​noktasından geçmeyen verilere daha kolay uymasını sağlar.
  • Maliyet fonksiyonu her adımda azalıyorsa, Dereceli Azalma doğru çalışıyor demektir.
  • Toplu Dereceli Azalma, dereceli azalma algoritmasının her bir adımında (devirinde) bütün eğitim örneklerini kullanır.
  • Olasılıksak Dereceli Azalma, bütün örneklerin maliyet eğrisinin toplamını kullanmak yerine, her yinelemede bir örnekteki maliyet eğimini kullanır.
  • Mini Toplu Dereceli Azalma, her yinelemede toplam m örnek içerisinden n örnek seçerek kullanır. (n<m)

Eğer buraya kadar anlamadığınız kısım varsa geri dönüp eksiklerinizi tamamlamalısınız.

Şimdi yeni bir örnekle devam edeceğiz. Burada AndrewNG’nin hazırladığı Coursera’daki Machine Learning dersinden yararlanacağız. Kullanacağımız veri seti, ex1data2.txt:

2104,3,399900
1600,3,329900
2400,3,369000
1416,2,232000
3000,4,539900
1985,4,299900
1534,3,314900
1427,3,198999
1380,3,212000
1494,3,242500
1940,4,239999
2000,3,347000
1890,3,329999
4478,5,699900
1268,3,259900
2300,4,449900
1320,2,299900
1236,3,199900
2609,4,499998
3031,4,599000
1767,3,252900
1888,2,255000
1604,3,242900
1962,4,259900
3890,3,573900
1100,3,249900
1458,3,464500
2526,3,469000
2200,3,475000
2637,3,299900
1839,2,349900
1000,1,169900
2040,4,314900
3137,3,579900
1811,4,285900
1437,3,249900
1239,3,229900
2132,4,345000
4215,4,549000
2162,4,287000
1664,2,368500
2238,3,329900
2567,4,314000
1200,3,299000
852,2,179900
1852,4,299900
1203,3,239500

Önce veri setini anlayalım, sonra problemimizin tanımını yapacağız. Yine ev fiyatları tahmini gerçekleştireceğiz. Aslında veri setini eğitim ve test verileri olarak ayırıp, modeli eğitip sonra test etmiyoruz. Ancak yaptığımız şey aslında aynı. Elimizdeki verilere en uygun modeli oluşturmaya çalışıyoruz. Öyleyse başlayalım. İlk kolon evin büyüklüğünü, ikinci kolon evdeki yatak odası sayısını ve son kolon ise evin fiyatını göstermektedir. Bir önceki örnekte evin fiyatını tahmin etmek için sadece bir değişkeni, özelliği kulanmıştık. Şimdi elimizde iki tane öngörücü değişken var; evin büyüklüğü ve yatak odası sayısı. Bir önceki örneğimiz tek değişkenli lineer regresyon problemiydi, şimdi de karşımızda çok değişkenli lineer regresyon problemi var.

Daha önce, tek değişkenli bir regresyon probleminde dereceli azalmayı uyguladık. Şimdi tek fark, X matrisinde yani girdimizde bir başka özellik daha olmasıdır. Hipotez fonksiyonu ve toplu dereceli azalmada güncelleme kuralları değişmeden kalır. Bir önceki örnekte fark ettiyseniz özelliklerin sayı değerleri çok büyüktü. Bunların kontur grafiklerini çizmeye çalıştıysanız eğer görmek istediğiniz grafiklere ulaşamamışsınızdır. Bunun sebebi özelliklerin normalize edilmeyişidir. Özellikleri ölçeklediğimiz zaman dereceli azalmanın çok daha hızlı bir şekilde yakınsamaya neden olduğunu görürsünüz ve böyle maliyet fonksiyonu – parametrelerin ilişkisini gösteren grafikler istediğiniz gibi olur. Neden özellikleri ölçeklendirmeliyiz, bunun sebebi çok açık, dereceli azalma çalıştığında bazı ağırlıkları diğerlerinden daha hızlı güncelleyecektir. Giriş değerlerinin her birini kabaca aynı aralıkta tutarak eğim açılımı hızlandırabilir. Bunu yapmanın iki yolu vardır.

  • Özellik ölçeklendirme, giriş değerlerini giriş değişkeninin aralık (maksimum değer eksi en düşük değerinden) aralığına bölerek yeni bir bir aralığına neden olur.
  • Ortalama normalleştirme, bir girdi değişkeni için ortalama değerin bu değerlerden çıkarılmasıdır.  Girdi değişkeni sıfırdan yeni bir ortalama değer ile sonuçlanan değişkendir.

Çok değişkenli durumda, maliyet fonksiyonu aşağıdaki vektörize edilmiş biçimde yazılabilir:

vektorize.png

X ve y vektörleri şöyle:

vektorize2.png

Aslında iki formun da eşdeğer olduğunu fark etmişsinizdir.

Yeni örneğimize geri dönelim. Çok değişkenli demek, çıktımızı tahmin etmek için kullandığımız girdi özelliklerimizin birden fazla olması anlamına gelir.  Problemin ilk versiyonunda X = ev büyüklüğü ve y = ev fiyatını göstermekteydi. Şimdi yeni örneğimizde çıktıyı tahmin etmeye çalıştığımız X değişkenini şu hale geliyor, x1 = ev büyüklüğü, x2 = yatak odası sayısı.

Yeni Hipotezimiz de:yeni_hipo1

X değişkenleri arttırdıkça hipotez şöyle değişebilir:

yeni_hipo

Bu problemde de Dereceli Azalmayı Kullanacağız.

Maliyet Fonksiyonumuz:

yeni_maliyet.png

Dereceli Azalma Algoritmamız:

formul1.png

Maliyet fonksiyonunun kısmi türevini açarsak:

formul2.png

Her bir j için açarsak:

formul3.png

Şimdi size her yer formul olmuş ve her şey çok karışık, hiçbir şey anlamıyormuşsunuz gibi geliyorsa, dikkatinizi toplayın ve tekrar bakın.

Daha rahat görebilmeniz için bir önceki örneğimizdeki formuller ile karşılaştıralım.

Hipotez:

hipotezler.png

Maliyet Fonksiyonu:

maliyetler.png

Dereceli Azalma:

dereceli_azalmalar.png

Bir de böyle bakın:

hepsi.png

Değişen tek şey θ sayıları !

Devamı -> Makine Öğrenmesi Matematiği 6

 

Designed by Freepik