日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【机器学习】线性回归之Normal Equation(矩阵求导与线性代数视角)

發布時間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【机器学习】线性回归之Normal Equation(矩阵求导与线性代数视角) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Normal Equation

之前我們用梯度下降來求解線性回歸問題的最優參數,除此之外我們還可以用正規方程法(Normal Equation)來求解其最優參數。

Normal Equation方法的推導有兩種方式

矩陣求導(matrix derivative)

其中

其中X的行表示樣本,列表示特征:

令導數等于零:

因此:

關于矩陣求導的公式可以參見:常用的向量矩陣求導公式

下面解釋一下部分求導的過程:


線性代數視角

一、求解不可解的方程組

先看一個最最簡單的例子——

例1.0?如圖,在空間中有兩個向量,求一個常數使兩個向量滿足。

這個方程明顯不可解,因為與不共線,無法通過對數乘得到。

再看下一個比較簡單的例子——

例2.0?在空間中的平面有一組基和,如圖所示,求出常數與使向量滿足條件。

這個方程也明顯不可解,因為不在平面上,而與的線性組合只能得到平面上的向量。

以上兩個問題非常的典型,因為在解決實際問題的時候,我們很難得到Perfect Solution,我們只能盡力而為的爭取Best Solution。以上兩個例子明顯沒有做到perfect(連基本的方向都錯了),那么如何找到Best Solution呢?

二、投影的應用(Projection

思路很簡單:我們只要找到一個使方向上的向量距離最近。

回到最簡單的例子例1.0,這里重復一遍

如圖,在空間中有兩個向量,求一個常數使兩個向量滿足。

現在應該如何尋找的解呢?

最好的方法就是拋棄向量中垂直的分量,只要計算使等于向量在方向的分量(即在上的投影(Proj)),同時我們把向量垂直方向的分量稱為(error)。

原來的問題變成了求解(是的估計量

因為與合成了向量(),而且垂直于(),所以我們得出了一個非常重要的結論(敲黑板)!!!核心啊!!!

這個方程的核心就是寫成向量內積形式的與的垂直關系,只不過被拆開書寫。其實這個方程也可以寫作,但是寫作轉置向量的形式可以讓這個方程更自然的拓展到高維(向量內積)。好了,我們繼續改寫方程……


在這一步我們就得到了best的,但考慮到這并不perfect,所以我們稱之為。

P.S.如果想用投影矩陣P來簡化從轉換到的過程,可以把的結果帶入到中。我們發現投影矩陣在形式上就等于乘數,即滿足。

向量a·向量b=| a |*| b |*cosΘ
Θ為兩向量夾角
| b |*cosΘ叫做向量b在向量a上的投影
| a |*cosΘ叫做向量a在向量b上的投影

分子為在上的投影,分母為在上的投影,同乘了向量的模,投影的比值即為

現在我們再看看怎么在中解決不可解方程。

例2.0 在空間中的平面有一組基和,如圖所示,求出常數與使向量滿足條件。

平面有基向量和,故投影可以表示成基的線性組合,即

基向量組成的矩陣參數組成的向量與平面垂直的誤差向量。(這里插一句話,最小二乘法的核心就是找出一個就是讓最小化

我們發現在中的問題在這里拓展成為了。

相應的,問題在這里拓展成了,其中。

還是一樣的套路,我們還是從垂直關系入手——因為,而且,所以有以下方程組——

整理成矩陣的形式——

(敲黑板!!!敲黑板!!!)

寫到這里回頭看看情景下的核心公式,可以這家伙換一套馬甲又出現了!!!看來方程是一種高維的拓展。我們可以把中的看成一個只有一列的矩陣。

我們繼續整理這個公式——


寫到這里我們就沒什么可以干的了。

有人可能想說——明明還可以繼續化簡啊!!!

但實際的情況中,我們不能保證矩陣總是方陣(square),但是總是可以保證是方陣。因為只有方陣才有逆矩陣,所以我們只能保證有,而不能保證有。

所以我們只能回到這里。如果你有讀過Andrew Ng著名的公開課CS229的Lecture Notes,你一定記得他用矩陣求導得出的Normal Equation——

你會發現除了和不一樣以外,我們已經把Normal Equation()推出來了……我居然在下一部分還沒有開始講就把內容說完了,場面一度非常尷尬啊。可見從投影推出Normal Equation是一件多么自然的事情啊~~~我都不知道哪里切開。

說到這里先總結一下投影的幾個意義(敲黑板)!!!

的所有可能結果都在一個固定的區域中,在線性代數中我們稱這個區域為列空間(column space),列空間顧名思義就是矩陣各列的所有線性組合。在1-D的情況下列空間就是一條線,在2-D的情況下列空間就是一個平面。但是我們的數據哪里會這么恰好的落在矩陣的列空間里呢?天底下哪有這樣的好事啊!!!

特別是在數據量特別大的情況下,矩陣特別是在數據量特別大的情況下,矩陣會成為一個的超級高大的矩陣(如下圖)。在這種等式數量遠大于未知數數量的情況中,我們很難滿足每一個等式的約束。

但是目標不再在空間里并不代表不能求出解,只能說沒有perfect solution(語出Gilbert Strang),但是我們努力一下還是可以做到最好的(best solution)。我們用投影向量來尋找最合適的。就是并不存在的完美解的估計值。

三、矩陣求導與投影推導之間的聯系

回顧矩陣求導得到的Normal Equation:

以及投影視角得到的公式

兩者除了在符號表示上有所區別,其它的一模一樣,現在從符號本身的含義去聯系兩者。

歸根結底,Normal Equation是用來求解一個最優化問題。在投影的方法中,矩陣A作為一個基向量空間,用于尋找最優的以使得最接近。

矩陣A有多少行就表示基向量空間有多少維(每個特征有多少樣本量,就表明在這個空間中有多少維度),有多少列,就表示有多少個基向量。

在線性回歸中矩陣A就等同于X,行數為樣本量,列數為特征量,b等同于Y,為目標向量。

當特征遠遠少于樣本量的時候說明基向量的空間維數很高,但基向量很少。也就是說在一個很大的空間中,只有少數幾個方向給定,需要去擬合向量Y,那難度當然很大,誤差就很大。

當特征數量遠遠大于樣本量的時候就相反,基向量空間不大,但基向量的個數很多。也就是說在一個不大的空間中,有很多的基向量,基本涵蓋了所有的方向,此時我想要找到一個基向量的線性組合去逼近目標向量Y,那就容易很多了。此時就會強依賴于當前的樣本,泛化能力就很差,過擬合。

四、Normal Equation應用

既然Normal Equation在上文都推導完了,這里我們就隨便帶幾個數據來玩玩咯。

練手案例?找一條直線來擬合點 (1,1)、(2,2)、(3,2)

我們如果用一條直線來擬合的話,設,我們先得到以下值——



我們發現很遺憾的沒有解,于是我們左右各乘上,祭出了投影大招——。

再把這個方程變換成Normal Equation:

帶入數值在Matlab中小跑一下就得到了結果

即直線是上述三個點的擬合結果。

五、其他想說的話

1.關于的暴力使用

在前一步可以不用判斷是否可解,可以直接使用。事實上,在最小二乘時遇到長方形矩陣,我們就可以用上替代計算。這是是一種路子很野的但是很簡單實用的經驗規則,可以簡單實驗如下——

用直線擬合三個點 (1,1)、(2,2)、(3,2)時,自然希望真實值和估計值的誤差越小越好。

分別對和求偏導數等于的零的值——


這邊有個小筆誤,是對做偏導

整理以上公式我們得到了方程組——

再整理一下,把這個方程寫成矩陣乘法的形式——

在最后一步整理以后我們發現剛才千辛萬苦算出來的就是上文的啊!!!

說明這個經驗方法是可以信得過的!!!

2.關于化簡的問題

因為投影的性質非常美妙,如果矩陣是各行線性無關的方陣(square),說明存在,則Normal Equation會變成如下形式——



說明如果存在一個perfect solution,該解不會受到影響。

3.多次投影有影響嗎?

已經在空間中的向量乘上投影矩陣仍然等于本身,二次投影不會有任何副作用!也就是說。證明如下——

參考文章:

線性回歸及其概率解釋

NormalEquation推導過程

總結

以上是生活随笔為你收集整理的【机器学习】线性回归之Normal Equation(矩阵求导与线性代数视角)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。