線性迴歸數學推導
一、數學基礎
似然函式
概率(probability):描述已知引數時的隨機變數的輸出結果;
似然函式(likelihood):用來描述已知隨機變數輸出結果時,未知引數的可能取值。
\[ L(\theta | x) = f(x | \theta)\]
似然函式和密度函式是完全不同的兩個數學物件,前者是關於\(\theta\) 的函式,後者是關於\(x\) 的函式。
高斯分佈
數學期望(mean):試驗中,每次可能結果的概率乘以其結果的總和。
(伯努利)大數定律:當試驗次數足夠多時,事件發生的頻率無窮接近於該事件發生的概率。
伯努利試驗:設試驗E只可能有兩種結果:“A”和“非A”
n重伯努利試驗:將E獨立的重複地進行n次,則稱這一穿重複的獨立試驗為n重伯努利試驗
二項分佈(伯努利分佈):將一伯努利試驗重複了n次,在這n次試驗中成功次數k,k為隨機變數,稱為二次隨機變數,其分佈稱為二項分佈
\[ P(X = k) = C_n^kp^k(1-p)^{n-k} , k = 1,2,...,n\]
正態分佈:又稱“高斯分佈”
\[ f(x) = \frac 1 {\sqrt{2 \pi }\sigma} e ^ {- \frac {(x^2-\mu^2)} {2\sigma^2}}\]
對數公式
\[ \log AB = \log A + \log B \]
矩陣計算
矩陣轉置:行變列,列變行。
矩陣乘法:A的列數必須與B的行數相等
\[ A = \left[ \begin{matrix} a & b & c \end{matrix} \right] \\\\ B = \left[ \begin{matrix} e & f & g \end{matrix} \right] \\\\ A^T B = ae + bf + cg \]
矩陣求導
\[ \frac {d( { x ^ T A X } )} {d(x)} = 2Ax \\\\ \frac {d( { x ^ T A } )} {d(x)} = A \\\\ \frac {d( { A x} )} {d(x)} = {A ^ T} \]
二、推導
線性迴歸公式
\[ y = wx + b \]
當存在多個特徵引數的時候,不同的特徵引數對目標函式值有不同的權重引數。
\[ h_\theta(x) = \theta _ 1 x _ 1 + \theta _2 x _ 2 + ... + \theta _n x _ n \\\\ = \sum_{i=1}^n\theta _ i x _ i \]
使用矩陣來表示
\[ \theta^T x = \left[ \begin{matrix} \theta _ 1 \\\\ \theta _ 2 \\\\ .\\\\ .\\\\ .\\\\ \theta _ n \\\\ \end{matrix} \right] \left[ \begin{matrix} x _ 1 & x _ 2 & ... & x _ n \end{matrix} \right] = \sum_{i=1}^n\theta _ i x _ i = h_\theta(x) \]
計算誤差
誤差項:真實值和預測值之間存在的一個誤差,我們通常希望誤差越小越好。
\[ h_\theta(x) = \theta ^ T x + \xi \]
\[ y ^ {(i)} = \theta ^ T x ^ {(i)} + \xi ^ {(i)} \]
誤差項符合高斯分佈,所以
\[ P(\xi _ i) = \frac 1 { \sqrt {2 \pi } \sigma} e ^ { - \frac { \xi ^ 2 } { 2 \sigma ^ 2}} \]
\[ P(y _ i | x _ i ; \theta) = \frac 1 { \sqrt { 2 \pi } \sigma } e ^ { - \frac { { (y _ i - \theta ^ T x _ i)} ^ 2 } {2 \sigma ^ 2 } } \]
要計算某些引數和特徵組合讓誤差最小,這裡引入似然函式
\[ L(\theta) = \prod_{ i=1 }^{ m } P(y _ i | x _ i ; \theta) = \prod_{i=1}^{m} \frac 1 { \sqrt{2 \pi } \sigma } e ^ {- \frac { { (y _ i - \theta ^ T x _ i) } ^ 2 } { 2\sigma^2 } } \]
\[ \log L(\theta) = \log \prod_{i=1}^{m} \frac 1 { \sqrt{ 2 \pi }\sigma } e ^ { - \frac { { ( y _ i - \theta ^ T x _ i ) } ^ 2 } { 2\sigma^2 } } \]
\[ = \sum_{i=1}^{m} \log\frac 1 { \sqrt{ 2 \pi }\sigma } e ^ { - \frac { { (y _ i - \theta ^ T x _ i) } ^ 2 } { 2\sigma^2 } } \]
\[ = \sum_{i=1}^{m} ( \log\frac 1 { \sqrt{ 2 \pi }\sigma } + \log e ^ { - \frac { { ( y _ i - \theta ^ T x _ i ) } ^ 2 } { 2 \sigma ^ 2 } }) \]
\[ = m \log \frac 1 { \sqrt{ 2 \pi }\sigma } - \frac 1 { 2 { \sigma } ^ 2 } \sum_{i=1}^{m} { ( y _ i - \theta ^ T x _ i ) } ^ 2 \]
因不考慮定值,得出\(J(\theta)\) 越小越好
\[ J(\theta) = \frac 1 {2} \sum_{i=1}^{m} {(y _ i - \theta ^ T x _ i)} ^ 2 \]
矩陣求偏導
根據矩陣知識,將上式轉換
\[ J(\theta) = \frac 1 {2} \sum_{i=1}^{m} {(h _ \theta(x _ i) - y _ i)} ^ 2 \]
\[ = \frac 1 {2} (x \theta - y) ^ T (x \theta - y) \]
對矩陣求偏導
\[ \partial_\theta J(\theta) = \partial _ \theta ( { \frac 1 {2} (x \theta - y) ^ T (x \theta - y) } ) \]
\[ = \partial_\theta { ( \frac 1 {2} ( \theta ^ T x ^ T - y ^ T )(x \theta - y) ) } \]
\[ = \partial _ \theta { ( \frac 1 {2} ( { \theta ^ T x ^ T x \theta } - { \theta ^ T x ^ T y } - {y ^ T x \theta } + {y ^ T y } ) } \]
\[ =\frac 1 {2} ( { 2 x ^ T x \theta } - { x ^ T y } - { (y ^ T x) ^ T } ) \]
\[ ={x ^ T x \theta} - { x ^ T y} \]
最終求解
最好的情況是,偏導數為0,說明梯度遞減已經到達最底部
線性迴歸最優權重求解如下:
\[ \theta = {(x ^ T x) ^ {-1}} {x ^ T} y \]