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.

BAŞLAYALIM … 

Elimizde bir eğitim veri seti var. Yapmak istediğimiz şey x girdisinden y’yi tahmin etmek istiyoruz. Örnek olarak evin büyüklüğünü x olarak, tahmin etmeye çalıştığımız y’yi de evin fiyatı olarak düşünebiliriz.

  • x : Girdi
  • y : Çıktı 
    • x:  Evin Büyüklüğü
    • y:  Evin Fiyatı

Şimdi x değerinden y değerini bulmaya, tahmin etmeye çalışacağız. Eğer elimizdeki veriler şu şekilde olsaydı:

Evin Büyüklüğü (metrekare)

Evin Fiyatı (TL)

 100  100.000
 200  200.000
 300 300.000
 400  ???
 500  500.000
 600   600.000

400 metrekarelik evin fiyatını hiç tereddüt etmeden 400.000 TL derdik. Bunun nedenini anlayalım:

  • x : Evin Büyüklüğü (metrekare)
  • y : Evin Fiyatı (TL)

Bu iki bileşen arasında şöyle bir bağlantı kurduk.

y = 1000 * x

Bu bulduğumuz denkleme, makine öğrenmesinde hipotez denir. Daha resmi bir şekilde ifade edecek olursak:

  • Hipotez : x girdilerini y çıktılarına eşler.

Makine Öğrenmesi problemlerinin hepsinde hipoteze ihtiyaç duyarız. Neden mi? Elimizde var olan verilerden bir sonuca ulaşmak isteriz. Elimizdeki verilerden (x), sonuca (y) ulaşmak için de elimizdeki verilerden bizi sonuca götürecek bir fonksiyona/denkleme ihtiyaç duyarız, yani Hipotez’e.

Şimdi karşımıza zor bir problem daha çıktı. Problemlerimiz her seferinde ev fiyatı tahmin etmek kadar kolay olmayacak ve bunu böyle hemen zihnimizden yapamayacağız. Makine öğrenmesinde hipoteze ulaşmak için bir Öğrenme Algoritmasına ihtiyaç duyarız.

  • Öğrenme Algoritması : Hipotez’e ulaşmak için kullanılan algoritmalar

Ele aldığımız ev fiyatı tahmini makine öğrenmesinde tek değişkenli lineer regresyon problemidir. Bu konu ile ilgili örnekleri incelemek isterseniz:

Hipotez’i Nasıl Gösteririz?

Ele aldığımız problemde Hipotezi aşağıdaki gibi gösterebiliriz:

Image [7]

Burada gözüktüğü gibi, parametreler:

parametre.png

Evet, her şey en başından çok karmaşıklaştı gibi gözüküyor. Aslında karmaşıklaşan hiçbir şey yok. Bazı hatırlatmalar:

  1. Örneğin bir insan ya hastadır 1 değerini alabilir, ya da sağlıklıdır 0 değerini alabilir. Yani bir insanın hem hasta hem sağlıklı olma durumu yoktur, 0.5 değerini alamaz. Ev fiyatlarına bakacak olursak, evin fiyatları pozitif tüm değerleri alabileceği gibi evin büyüklüğünü de ifade ederken tüm pozitif değerleri kullanabiliriz. Yani bu duruma sürekli diyebiliriz. Oysa, bir kişinin sağlıklı veya hasta olma durumu ayrıktır.
  2. Yani, Regresyon sürekli verilerde değer tahmin etmeye çalıştığımız problemlere denir, yani ele aldığımız bu problem bir regresyon problemidir.

Hipotez’i tekrar hatırlayalım. x değerlerinden bizi y’ye götüren fonksiyondu. Peki neden iki tane parametre var?  Şimdi ev fiyatları ile ev büyüklüğüne ait verileri bir grafik üzerinde inceleyelim.

veri_ev.png

Yandaki grafikte x ekseninde girdilerimiz(x) yani ev büyüklükleri yer alırken, y ekseninde çıktılarımız(y) yani ev fiyatları yer almaktadır. Burada verilerimize en iyi uyan eğriyi bulmak isteseydik bu da aşağıdaki gibi olacaktı:

fit_ev.png

Yani aslında önceden de belirttiğimiz gibi, verilerimize en iyi uyan eğri bir doğru.

Hatırlarsanız y = 1000 * x olarak bulmuştuk. İşte bu nedenle hipotezimiz bir doğru denklemi şeklindedir ve iki tane parametresi vardır.

Karşımızda başka bir problem daha var. Parametreleri yani tetaları 1000 ve 0 olarak zihnimizden tahmin ettik ( y = 1000 * x + 0 ) ve yukarıdaki grafikteki gibi verilerimize mükemmel uydu. Peki parametreleri yani bu tetaları nasıl bulacağız. Hipotezde yer alan parametreleri bulma işlemine maliyet fonksiyonu denir. Daha güzel bir şekilde ifade edersek:

  • 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.

Maliyet fonksiyonu olarak bir çok fonksiyon kullanılabilir. Daha detaylı bilgi için:

Biz bu problemde maliyet fonksiyonu olarak kare hata fonksiyonunu (Squared Error Function) kullanacağız. Makine öğrenmesinde hipotezi h ile maliyet fonksiyonunu da J ile gösteririz. Kare hata fonksiyonu şu şekildedir:

cost.png

Makine öğrenmesi problemlerinin hepsinde asıl amaç bu maliyet fonksiyonunu minimize etmektir. Yani maliyetimiz ne kadar az olursa gerçeğe en yakın değerleri tahmin edebiliriz. Amacımız:

amac.png

İşin Matematiği Burada Başlıyor …

Bu maliyet fonksiyonunu nasıl minimize edeceğiz.

Öncelikle elimizde ne var bir bakalım.

sss.png

Şimdi bunu biraz basitleştirelim ve şu şekle dönüştürelim.

yeni.png

Yani ne yaptık, parametre sayısını 1’e düşürdük, ve fark ettiyseniz yeni hipotezimiz, bizim problememize tamamen uyuyor, yani şuna: 1000 * x.  Devam edelim ve maliyet fonksiyonunu kendi problemimiz için çözelim.

Hipotezi Maliyet fonksiyonunda yerine koyalım:

formul1.png

Buradaki m, örneklerimizin sayısı. Yani (x,y) çiftlerimizin. Bizim örneğimizde m = 5. Tahmin etmeye çalıştığımız örneği katmıyoruz. Onu tahmin edeceğiz.

Şimdi toplamı açalım:formul2.png

x ve y değerlerimizi yerine yazalım:

formul3.png

Evet, bu denklemi minimize etmek istiyoruz. Maliyet fonksiyonumuzu 0′ a eşitleyip devam edersek, aşağıdaki sonucu göreceğiz:teta1.png

Hipotez fonksiyonumuz şimdi:

hipotez.png

Buna göre tahmin etmek istediğimiz ev büyüklüğünü yani 400 metrekareyi x yerine koyarak fiyatına ulaşabiliriz.

sonuc.png

Sonuç olarak, verilerimize en uygun eğri olan doğruyu çizmemizi sağlayan hipotez fonksiyonumuzu yazdık ve tahminimizi gerçekleştirdik.

Şimdi biraz da maliyet fonksiyonu ile tetanın arasındaki ilişkiye bir göz atalım. Maliyeti en az olan hipotez bizim için en iyi modeli, eğriyi vermektedir. Bunun için maliyet fonksiyonunu 0’a eşitleyerek, maliyetimizi en aza indirgeyecek teta’yı bulmaya çalıştık.

Şimdi bilgilerimizi bir gözden geçirelim. Kare hata fonksiyonunu maliyet fonksiyonumuz olarak kullandık. Amacımız, maliyet fonksiyonundan tetayı çekmekti. Teta değeri bizim hipotezimizde yer alan bir parametreydi, ve biz öyle bir teta bulmak istedik ki elde ettiğimiz hipotez verilerimize tam uyum sağlasın. En iyi uyumu sağlayan teta için maliyet fonksiyonumuzu da en aza indirgemek istedik. Bu durumu biraz daha görsel olarak incelersek daha iyi anlayacağız.

Bunun için maliyet fonksiyonu olan J(θ) ile çeşitli hesaplamalar yapacağız.

  • θ’yı 0 seçseydik, maliyetimiz ne kadar olurdu?

iliski1.png

  • θ’yı 500 seçseydik, maliyetimiz ne kadar olurdu?

iliski2.png

  • θ’yı 1000 seçseydik, maliyetimiz ne kadar olurdu?

Bunu zaten hesaplamıştık, maliyet 0 olur.

iliski3.png

Daha fazla hesaplama yapmaya gerek yok aslında, şimdi maliyet fonksiyonu ve teta arasındaki ilişkiyi grafikte bakarsak tahminen şöyle gözükecek:

J(1500) ile J(2000)’ i ve diğerlerini isterseniz hesaplayabilirsiniz.

iliski_graf

Diğer J(θ) ‘ların hepsini hesaplarsanız, grafiğimiz şöyle gözükür:

iliski_grap2

Bu grafikten ne anlıyoruz peki?

  • Maliyet fonksiyonunu minimize eden tek bir θ değeri mevcuttur.
  • Örneğimizde bulduğumuz θ değerinin bize en iyi hipotezi vermiş olduğunu gördük.

Tek değişkenli bir lineer regresyon problemini ele aldık ve tahmin etmeye çalıştığımız değeri kare hata fonksiyonunu maliyet fonksiyonu olarak kullanarak, hipotezimizi hesapladık.

Hızlıca bir tekrar edelim:

  • 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.png

 

Devamı –> Makine Öğrenmesi Matematiği 2

Designed by Freepik