lsHatanın Gauss dağıldığını varsaymak ile en küçük kareler yöntemini kullanmanın aslında aynı kapıya vardığını hep duyarız. Deniz konuyu çok güzel özetlemiş. Ben de burada yeniden ele alıyorum.

Gauss hatalı gözlem modeli

$A$ bir matris, $y$ ve $x$ de uygun boyutlarda birer vektör olsun. $y$'yi ekteki gibi saklı $x$ bileşenlerinin doğrusal dönüşümüne Gauss hata eklenmiş şekilde gözlemlediğimizi varsayalım:
\begin{align}
y = Ax + \eta
\end{align}

$\eta$ için Gauss dağılsın demiştik. Hatanın neden genellikle Gauss dağıldığını varsaydığımızı merak ediyorsanız merkezi limit teoremi yazısının sondan üçüncü paragrafını okuyabilirsiniz. $I$ birim matrisi göstermek üzere $\eta \sim \mathcal{N}(0,I)$ olsun. Yani hata ortalaması $0$, kovaryansı birim matris olan bir Gauss dağılımından geliyor. $A$ ve $x$'i bildiğimiz taktirde $y$'nin olabilirliği nedir?

\begin{align*}
p(y|x) = \mathcal{N}(y;Ax,I)
\end{align*}

Fakat biz $x$'i bilmiyoruz, bulmak istediğimiz zaten o. O halde $y$'nin, yani gözlemlenen verinin olabilirliği en yüksek yapan $x$'i arıyoruz. Aradığımız $x$ yıldızlı $x$ olsun, $x^*$ ile gösterelim:
\begin{align*}
x^* = \argmax_x p(y|x)
\end{align*}

Bir değeri en büyüklerken kendisi yerine logunu kullanabiliriz:
\begin{align}
x^* &= \argmax_x p(y|x) \nonumber \\
&= \argmax_x \log p(y|x) \nonumber \\
&= \argmax_x \log \mathcal{N}(y;Ax,I) \label{loglik}
\end{align}

Biliyoruz ki,
\begin{align*}
\mathcal{N}(y;Ax,I) = \frac{1}{\sqrt{(2\pi)^d}} \exp\left(-\frac{1}{2} (y-Ax)^T (y-Ax) \right)
\end{align*}
$\log \mathcal{N}(y;Ax,I)$ değerini en büyükleyen $x$'i aradığımızı hatırlayalım. Denklem \eqref{loglik}'yi yeniden yazalım:
\begin{align*}
x^* &= \argmin_x \frac{1}{2} \|y - Ax\|_2^2
\end{align*}

Bu sonuca nasıl vardık? Tanım gereği, $\|y - Ax\|_2 = \sqrt{(y-Ax)^T (y-Ax)}$. Öyleyse, $(y-Ax)^T (y-Ax)$ ile $\|y - Ax\|_2^2$ aynı. Denklemdeki diğer terimler $x$'den bağımsız. Bu sebeple optimizasyon sonucunu etkilemiyorlar.

En küçük karelerden Moore-Penrose tersine

Hatayı Gauss kabul edip olabilirliği en büyüklemek ile en küçük kareler yaklaşımının aynı şey olduğunu gördük. Burada bırakmayalım, çözüme devam edelim:

\begin{align*}
x^* &= \argmin_x \frac{1}{2} \|y - Ax\|_2^2 \\
&= \argmin_x (y-Ax)^T (y-Ax) \\
&= \argmin_x y^T y - y^T A x - x^T A^T y + x^T A^T A x \\
&= \argmin_x - y^T A x - x^T A^T y + x^T A^T A x
\end{align*}

Görülüyor ki aslında en küçük değerini bulmaya çalıştığımız basit bir masraf fonksiyonu var:

\begin{align*}
J(x) = - y^T A x - x^T A^T y + x^T A^T A x
\end{align*}

Tam bu noktada matematiğin sihirli değneğini kullanalım. $J(x)$'daki tüm terimler skaler. Dolayısıyla bu terimlerin izleri (trace) de skaler olacak. Unuttuysak hatırlayalım; $\operatorname{Tr}(B)$ işlevi herhangi kare bir $B$ matrisinin köşegenlerinin toplamına eşit. İz işlevinin sihirli değneğinin dokunduğu masraf fonksiyonuna dönelim:

\begin{align*}
J(x) = \operatorname{Tr}(x^T A^T A x) - \operatorname{Tr}(y^T A x) - \operatorname{Tr}(x^T A^T y)
\end{align*}

İz işlevinin şahane özellikleri var, birkaçını kullanacağız
\begin{align*}
\operatorname{Tr}(A) &= \operatorname{Tr}(A^T) \\
\operatorname{Tr}(AB) &= \operatorname{Tr}(BA)
\end{align*}

Son özelliğin tüm dairesel permütasyonlar için genellenebilir olduğunu görün. Örneğin $\operatorname{Tr}(ABC) = \operatorname{Tr}(BCA) = \operatorname{Tr}(CAB)$.

$J(x)$'in en küçük değerini bulmak için türevini almalıyız. İz işlevinin türevine ihtiyaç duyacağız. Doğrusal cebirden hatırlayalım:

\begin{align*}
\frac{\partial \operatorname{Tr}(Ax)}{\partial x} &= A^T \\
\frac{\partial \operatorname{Tr}(Ax^T)}{\partial x} &= A \\
\frac{\partial \operatorname{Tr}(A x x^T)}{\partial x} &= Ax + A^T x
\end{align*}

Bu kuralları uygulayarak $x$'e göre masraf fonksiyonunun kısmi türevini alalım
\begin{align*}
\frac{\partial J(x)}{\partial x} &= \frac{\partial (-\operatorname{Tr}(y^T A x) - \operatorname{Tr}(x^T A^T y) + \operatorname{Tr}(x^T A^T A x))}{\partial x} \\
&= 2A^T A x - 2 A^T y
\end{align*}
ve türevi sıfıra eşitleyelim,
\begin{align*}
2A^T A x = 2 A^T y
\end{align*}

Dolayısıyla,
\begin{align*}
x^* = (A^T A)^{-1} A^T y
\end{align*}

Bulduğumuz $(A^T A)^{-1} A^T$ terimine $A$'nın Moore-Penrose tersi (pseudoinverse) diyoruz.

Ve yazıyı sonlandırırken Deniz'e bu paylaşım için teşekkür ediyoruz.