Least Mean Square Nasıl Çalışır | Lineer Regresyon

Least Mean Square modeli en verimli hale getirebilmek için kullanılan cost function (hata fonksiyon) yöntemidir. Least Mean Square kullanılarak model için en uygun olan \( \theta \) 'lar bulunur ve model optimize hale gelmiş olur.

Lineer Regresyon Meme
Lineer Regression Gerçekliği

Daha fazla ilerlemeden önceki yazımız olan Lineer Regresyon Nedir Nasıl Çalışır' dan birkaç hatırlatma yapalım.
  1. \( x^i \)  = Model eğitimi için verilen input değişkenleri.
  2. \( y^i \) = Tahmin edilmek istenen hedef değişkenleri.
  3. \( m \)  = Veri kümemizin boyutu. 
  4. \( n \)  = Kaç tane input değişkenimizin olduğunu gösterir. 
  5. Eğitme Kümesi (Training Set) = Eğitmek için kullandığımız kümedir. \(  \big\{\left(  x^i , y^i \right)  ; i = 1, 2 ..... m. \big\}  \)
  6. Hipotez Fonksiyonumuz:  \(  h_{ \theta } \big(x\big)  =  \theta_{0} +  \theta_{1}  x_{1}   \)
  7. \( h \big(x\big)  = \sum_0^n  \theta_{i}  x_{i} = \theta^{T} x \)
  8. Cost Function = \(  J \big(\theta\big) =  \frac{1}{2}  \sum_1^m   \big(  h_{\theta} \big(x^{i}\big) - y^{i}   \big) ^{2}  \)
Biz bu hata fonksiyonumuzu en aza indirgeceyek \( \theta \)'ları seçmek istiyoruz. Bunu yapmak için de, başlangıçta \( \theta \) için bir değer tahmin eden ve daha sonra bu \( \theta \) değerini defalarca değiştirecek , hata fonksiyonunu azaltacak şekilde,  bir arama fonksiyonu yazalım. Bunu yapmak için de gradient descent algoritmasını kullanalım.  \[  \theta_{j} :=  \theta_{j}   - \alpha  \frac{\partial}{\partial \theta_{j}} J \big(\theta\big) \] 

Bu güncelleme \( j = 1, 2, ...., n\) için sürekli olarak gerçekleşir. 
Burada \( \alpha \) öğrenme hızıdır (ingilizcesi ile learning rate). 
Bu algoritmayı daha da devam ettirebilmek için, sağ tarafta bulunan kısmi türevi bulmamız gerekiyor. Öncelikle tek bir \( \big(x, y\big) \) değeri için bulup daha sonra tüm veri kümemize uygulayalım.

\[  \frac{\partial}{\partial \theta_{j}} J \big(\theta\big)  =   \frac{\partial}{\partial \theta_{j}}   \frac{1}{2}  \big( h_{\theta} \big(x\big) -   y\big)^{2} \]

\[    = 2  \frac{1}{2}  \big( h_{\theta} \big(x\big) -   y\big) \frac{\partial}{\partial \theta_{j}} \big( h_{\theta} \big(x\big) -   y\big)  \]

\[    =  \big( h_{\theta} \big(x\big) -   y\big) \frac{\partial}{\partial \theta_{j}} \big(   \sum_{i=0}^n   \theta_{i}x_{i}  - y \big)  \]

Bu toplama terimini  \( \sum_{i=0}^n    \big(\theta_{i}x_{i}  - y \big) \) açtığımız zaman  bunu elde ederiz.
\[ \theta_{0}x_{0} +  \theta_{1}x_{1} + \theta_{2}x_{2} + ..+ \theta_{j}x_{j} + .....  \theta_{n}x_{n}\]

\[  \frac{\partial}{\partial \theta_{j}} J \big(\theta\big)  =  \frac{\partial}{\partial \theta_{j}} \theta_{0}x_{0} +  \frac{\partial}{\partial \theta_{j}} \theta_{1}x_{1} + \frac{\partial}{\partial \theta_{j}} \theta_{2}x_{2} + ..+ \frac{\partial}{\partial \theta_{j}} \theta_{j}x_{j} + .....  \frac{\partial}{\partial \theta_{j}} \theta_{n}x_{n}\]

\[  \frac{\partial}{\partial \theta_{j}} J \big(\theta\big)  =  0 + 0 + 0 +  \frac{\partial}{\partial \theta_{j}} \theta_{j}x_{j} + .....  + 0 = \frac{\partial}{\partial \theta_{j}} \theta_{j}x_{j} =  x_{j} \]

Bundan dolayı bu terimin \( \theta_{j}\)'e göre kısmi türevi bu terim hariç \( \theta_{i} x_{i} \) 0 dır. Bu terimin \( \theta_{i} x_{i} \) kısmi türevi  ise \( x_{j}\) dır.

Bundan dolayı bizim ulaştığımız sonuç

\[  \frac{\partial}{\partial \theta_{j}} J \big(\theta\big)  =  ( h_{\theta} \big(x\big) -   y\big) x_{j} \]

Kısmi türevi bulduktan sonra bunu her  \( \theta_{j}\). için gerçekleştirmemiz lazım. Bu arada üstteki işlemleri tek bir tane veri için yaptığımızdan bundan dolayı bu güncelleme kuralını tüm dataset üzerinde uygulamamız lazım.

\[ \theta_{j} := \theta_{j} - \alpha \big(y^{i} - h_{\theta} \big(x^{i}\big)\big) x_{j}^{i}\]

Ve bu yaptığımız güncellemeleri bütün \( \theta \) lar üzerinde yapmamız lazım.

Böylece her \( \theta \) için en uygun değer bulunmuş olur ve modelimiz en verimli şekile geçmiş olur. Least Mean Square Nasıl Çalışır yazısı için diyeceklerim bu kadar. Lineer Regresyon hakkında daha fazla bilgi almak için Lineer Regresyon Nedir yazısını  okuyabilirsiniz. Makine Öğrenmesi terimlerine daha aşina olmak için de  Makine Öğrenmesi Terimleri yazısını okuyabilirsiniz. Lineer Regresyonun Python ile Sıfırdan nasıl implement edileceğini öğrenmek için Lineer Regresyon İmplementasyonu yazısını okuyabilirsiniz. Şimdilik hoşçakalın.

REFERANSLAR:
https://en.wikipedia.org/wiki/Least_mean_squares_filter
https://online.stanford.edu/courses/xcs229i-machine-learning
https://makeameme.org/meme/when-you-advertise-f81897f53a

Hasan Ocak




Yorumlar

Bu blogdaki popüler yayınlar

Decision Tree (Karar Ağacı) Nedir ve Nasıl Çalışır

Cross Validation Nedir, Nasıl Çalışır ve Mantığı Nedir

Lineer Regresyon Metodu (Linear Regression) Nedir, Nasıl Çalışır | Matematiksel Anlatımı