Model Representation

Model Representation

Makine öğrenimi algoritmasının çoğunun temel amacı bir model oluşturmaktır. Bu modelden hipotez olarak söz edebiliriz. Hipotez temel olarak girdiyi çıktıya eşler. Girdi değişkeni özelliği ve çıktı değişkeni hedefi belirtir. Öğrenmek için kullanacağımız veri kümesine eğitim seti(trainning set) denir. Amacımız, bir eğitim seti verildiğinde, h: X → Y fonksiyonunu öğrenmek, böylece h (x), y’nin karşılık gelen değeri için “iyi” bir tahmin edici model diyebiliriz.

Gelin bunu bir örnekle açıklayalım. Diyelim ki ev fiyatları tahmini yapmak istiyoruz. Elimizde evlerin m2 ölçüleri ve fiyatları var. Burada dikkat etmemiz gereken girdilerimiz yani “x” , fiyatını tahmin edeceğimiz çıktı “y” olacak.

  1. Eğer biz verilerimizden fiyat tahmini yapmak istiyorsak bunun için regresyon (regression) kullancağız.
  2. Eğer yaşam alanının ( villa, arsa , apartman vs.) ne olduğunu bulmak istiyorsak bunun için sınıflandırma (classification) kullanacağız.

Hedefimiz fiyat tahmini bu yüzden regresyon kullancağız.

Hipotez formülü :
hQ(x) =θ0+θ1X

Tetalar (θ) bizim parametrelerimizdir. Katsayılarımızı düzgün seçmeliyiz çünkü verilerimiz görselleştirdiğimizde eğimi 0 olduğunda tahminimiz yani y değeri hep 0 gelecektir.
NOT: Model oluşturmanın amacı parametreleri veya teta değerlerini doğru seçmektir, böylece h (x) training verilerimiz olan x’ler için ulaşmak istedğimiz y değerine yakın olur. Eğer θ1 değerimizi yani eğimi veren değer 0 olursa aşağıdaki gibi grafik elde ederiz ve istediğimiz y değerine ulaşamayız.

1
2
3
4
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], [1,1,1,1])
plt.ylabel('some numbers')
plt.show()

Şimdi örnek verimizi görselleştirerek anlatalım.Elimizde evlerin ölçüleri ve fiyatları olsun burada eğim 0 olmadığından girdiğimiz her x değerimize karşılık y değeri geliyor bu da bize regression kullanarak fiyat tahmini yapmamızı sağlıyor.
Aşağıdaki örnekteki gibi küçük bir verimiz olsun.

1
2
3
import pandas as pd
df = pd.DataFrame({'x': [0, 0.5, 1,1.5,2,2.5,3], 'hθ(x)': [1.0,1.5,2.0,2.5,3.0,3.5,4.0]})
df

x hθ(x)
0 0.0 1.0
1 0.5 1.5
2 1.0 2.0
3 1.5 2.5
4 2.0 3.0
5 2.5 3.5
6 3.0 4.0

1
2
3
4
plt.plot([852, 1416,1534,2104], [178,232,315,460], color='blue')
plt.ylabel('Price($) in 1000s')
plt.xlabel('Size in house feet^2 (x)')
plt.show()


Üstteki grafikte olduğu gibi kırmızı noktalarla işaretlediğimiz 1750 feet^2 olan evimizin tahmini değeri 375000 $ civarı oluyor.İşte modelimizin bize tahminde bulunmasını istediğimiz değerleri böyle örneklendirebiliriz.