Matematiği ve Python Uygulamasıyla Lineer Regresyon : Normal Denklem

Sefa İşci
KaVe
Published in
5 min readMar 17, 2020

--

Merhaba,
Bu yazımda sizlere Lineer Regresyondaki Normal Denklemin ispatından bahsedeceğim. Bu denklemin mantığını öğrenmenizin regresyon hakkında bilgi sahibi olmanıza yardım edeceğini umuyorum.

A. Lineer Cebirdeki Dört Temel Altuzay

(m x n) boyutunda herhangi bir X matrisi için dört tane temel altuzay bulunmaktadır. Bunlar ;
- Satır Uzayı(Row Space),
- Sıfır Uzayı(Null Space),
- Kolon Uzayı(Column Space) ve
- X’in transpozunun Sıfır Uzayı(Null Space of X transpose)’dır.

Bu altuzayların arasında Satır Uzayı ile Sıfır Uzayı, Kolon Uzayı ile Transpozun Sıfır Uzayı birbirine diktir.

  1. Kolon Uzayı: matristeki kolonların doğrusal kombinasyonlarıdır.
    Xw = y denklemini çözebilmem için y vektörü X’in kolon uzayında olmak zorundadır çünkü X’in kolonlarının kombinasyonları bize aradığımız y vektörünü verir.

2) Sıfır Uzayı: Bu altuzayda matrisimizin kolonlarının kombinasyonlarından ziyade, değişkenler ile ilgilenmekteyiz. Xw = 0 veren w vektörleri bizim için önemlidir.

Eğer sıfır uzayında sıfır vektöründen başka bir vektör var ise(matristeki kolon kombinasyonları sıfır vektörünü verir ise), bu bize o matrisin bağımlı olduğu, tersinin alınamadığı, determinantının sıfır olduğu, ve/veya özdeğerlerinden birinin sıfır olduğu anlamını verir.

3) Satır Uzayı: matristeki satırların doğrusal kombinasyonlarıdır. Kolon uzayı gibi düşünmek gerekirse, X matrisinin transpozununun kolonlarının kombinasyonları olarak da düşünülebilir.

4) X’in Transpozunun Sıfır Uzayı: matristeki satırların kombinasyonlarının sıfır vektörü(satır olarak) vermesi durumudur. Sıfır uzayı gibi düşünmek gerekirse, X matrisinin transpozudaki kolonların kombinasyonlarının sıfır vektörünü vermesidir.

B. Projeksiyon ve Projeksiyon Matrisi

Bir “y” vektörünün “x” vektöründeki vektör bileşeni yada izdüşümü olarak söylenebilir.

burada “e” vektörü(hata) “x” vektörüne dik olduğundan, iç çarpımları sıfır olur. Bunun sonucunda elimize figürde gördüğünüz denklemler açığa çıkar.
“p” vektörü “x” vektörünün bir katıdır, “w” ise burada skaler bir değerdir.
Fakat çok boyuta geçildiğinde vektör formu halinde de olabilir.

Önemli Özellikler:
1)
Projeksiyon matrisi simetriktir.

2) Eğer iki ve ikiden fazla kez projeksiyon yaparsam, aynı yerde kalmış olurum.

C. Neden Projeksiyon Yaparız ?

  1. Çünkü Xw = y denkleminin çözümü olmayabilir. Yani y vektörü, X matrisinin kolonlarının kombinasyonlarında yer almayabilir. Bunun sonucunda da uygun y değerlerini alamamış olurum.
  2. Kolon uzayında çalışmam gerekli. Fakat kolon uzayında değilim. Transpozun sıfır uzayı ile Kolon uzayı arasında ya da Sıfır uzayı ile satır uzayı arasında bir yerdeyim.
  3. Dolayısı ile kolon uzayında çalışmam gerektiğinden, kolon uzayına projeksiyon yapmalıyım.
  4. Sonuç olarak bizde, y vektörüne en yakın ve kolon uzayında bulunan vektörle çalışırız.

Çok boyuta geçildiğinde;

denklemleri açığa çıkmaktadır.

Projeksiyon matrisi P‘nin içerisinde bulunan X’in transpozuyla kendisinin çarpımının tersi alınan matris değerini dışarıya dağıtır isek;

birim matrisini elde ederiz. Bu işlem kabul edilemez, çünkü X matrisinin tersi alınamayacak bir durumda olması gereklidir. Eğer X matrisi kare ve terslenebilir bir matris olsaydı, o zaman Projeksiyon matrisi birim matris olurdu.

Çok boyutta projeksiyon matrisinin transpozu ve tekrar çarpımı yine kendisine eşittir.

D. Projeksiyon Formulleri

1) Çözebileceğimiz denklem

2) En iyi w

3) En iyi projeksiyon

4) En iyi projeksiyon matrisi

E. Pseudo Inverse

Projeksiyon denkleminde aşağıda gördüğünüz kısmın tersi bazen alınamamaktadır. Bunun için “pseudoinverse” kullanılır.

Bulmamız gereken değişkenleri ya da makine öğrenmesi dilinde “ağırlık vektörlerini” aşağıda gördüğünüz şekilde buluruz.

Bu yazımda sizlere pseudo inverse’in mantığını, nasıl oluştuğunu anlatmayacağım. Sadece kullanılan yeri göstermek istedim. Eğer pseudo inverse’i öğrenmek isterseniz aşağıda bulunan linki izliyebilirsiniz.

F. Örnek Kodlama

G. Kaynaklar

Ders ile ilgili slaytlara, ve örnek kodlara ulaşmak için;
https://github.com/kaveai/Regresyon-Normal-Denklem
sayfasına bakabilirsiniz.

--

--