1. 程式人生 > >機器學習數學基礎

機器學習數學基礎

泰勒公式

泰勒公式:

 

 

Jensen不等式

若f是凸函式,則

 

 

切比雪夫不等式

切比雪夫不等式:

 

 

切比雪夫不等式的證明過程:

 

 

大數定理

大數定理公式:

 

 

中心極限定理

 

 

用樣本估計引數

1)矩估計

 

樣本的矩:

 

 

隨機變數的矩與樣本的矩有什麼關係?

隨機變數的矩可以理解為總體的矩,根據總體的k階矩等於樣本的k階矩,應此可以通過樣本的k階矩計算總體的k階矩。

2)極大似然估計

極大似然估計:

 

 

 

線性代數(新視角)

1)重新看待Ax=b

對於如下矩陣

 

行檢視(凸優化中的超平面)

2x-y=1

x+y=5

 

 

它的解是(x,y)=(2,3)

 

列檢視(矩陣列的線性組合)

 

 

 

 

2)線性相關與線性無關

對於一個矩陣,使用一組非全為0的係數,如果任一列可以使用其他列線性表出,那麼就稱這組矩陣是線性相關的,否則非相關。

 

 

 

 

 

 

3)Span,基和子空間

 

 

 

對於下面一個問題,S表示為三維空間中的一個平面,如果任意一個線性無關的矩陣可以將S表示出來,那麼這個矩陣就可以稱為S的一組基。

 

 

4)四個基本的子空間

 

 

 

 

 

5)四個基本的子空間關係圖

對於Ax=b, A的維度是m*n

 

(1)列空間和零空間,

對於Ax=b ,A的列構成的所有線性組合,構成了列空間,維度是r, 是Rn空間中的一個子空間

Ax=0所有解的的集合構成了零空間,維度是n-r,是Rn

空間中的一個子空間,列空間和零空間構成了一個完整的Rn空間

(2)行空間和左零空間

對於ATx=b, A的行構成的所有線性組合,構成了行空間,維度是r, 是Rm空間中的一個子空間

ATy=0所有解的的集合構成了左零空間,維度是m-r,是Rm空間中的一個子空間,行空間和左零空間構成了一個完整的Rm空間。

 

 

 

利用子空間重新看待線性方程組的解:

 

 

特徵分解

1)一般矩陣

特徵分解的一般性質:

已知線性無關的向量,一定存在矩陣的逆。

 

 

Tip:並非所有的方陣(n×n)都可以被對角化。

2)對稱矩陣

性質1:如果一個對稱矩陣的特徵值都不相同,則其相應的特徵向量不僅線性無關,而且所有的特徵向量正交(乘積為0)。

性質2:對稱矩陣的特徵值都是實數。

性質3:

 

 

性質4:

 

 

性質5:

對稱矩陣可以被U相似對角化(U是特徵向量矩陣)

A=UT

 

 

二次型

正定矩陣和負定矩陣均值涉及對稱矩陣的,二次型涉及的矩陣是方陣即可。

 

 

性質1:對於一個正定矩陣,他的特徵值均大於0

特徵分解的應用

1)PCA(特徵分解)

矩陣A(m×n)的協方差矩陣是一個對稱矩陣,根據對稱矩陣可以被U相似對角化,則A=UΛUT(U是特徵向量矩陣,Λ是對角為方差的對角矩陣)。

 

降維:

我們取最大的N個特徵值對應的特徵向量組成的矩陣,可以稱之為壓縮矩陣;得到了壓縮矩陣之後,將去均值的資料矩陣乘以壓縮矩陣,就實現了將原始資料特徵轉化為新的空間特徵,進而使資料特徵得到了壓縮處理。

2)SVD(特徵分解的廣義化)

 

 

SVD和特徵分解的關係:

 

 

 

如何計算SVD分解後U,V呢?

我們將A的轉置和A做矩陣乘法,那麼會得到n×n的一個方陣ATA。既然ATA是方陣,那麼我們就可以進行特徵分解,得到的特徵值和特徵向量滿足下式:(ATA)vi=λivi。這樣我們就可以得到矩陣ATA的n個特徵值和對應的n個特徵向量v了。將ATA的所有特徵向量張成一個n×n的矩陣V,就是我們SVD公式裡面的V矩陣了。一般我們將V中的每個特徵向量叫做A的右奇異向量。

反過來我們將A和A的轉置做矩陣乘法,將AAT的所有特徵向量張成一個m×m的矩陣V,就是我們SVD公式裡面的U矩陣了。一般我們將U中的每個特徵向量叫做A的左奇異向量。

同時我們可以得到特徵值矩陣等於奇異值矩陣的平方。

 

如何使用SVD進行降維呢?

注意到PCA僅僅使用了我們SVD的右奇異矩陣,沒有使用左奇異矩陣,那麼左奇異矩陣有什麼用呢?

假設我們的樣本是m×n的矩陣X,如果我們通過SVD找到了矩陣XXT最大的d個特徵向量張成的m×d維矩陣U,則我們如果進行如下處理:

Xd×n′=Ud×mTXm×n

可以得到一個d×n的矩陣X′,這個矩陣和我們原來的m×n維樣本矩陣X相比,行數從m減到了k,可見對行數進行了壓縮。也就是說,左奇異矩陣可以用於行數的壓縮。相對的,右奇異矩陣可以用於列數即特徵維度的壓縮,也就是我們的PCA降維。

凸優化

1、無約束優化問題
1)為什麼要做優化問題?

 

 

 

2)如何優化?

方法一:無約束優化直接分析法

 

 

 

泰勒級數展開(標量):

 

 

 

泰勒級數展開(向量):

 

 

 

無約束優化直接分析法的缺陷:

1、可能這個函式就不可導

2、函式可以求導,但是變數很多,求不出導數為0的x

3、就算求出瞭解,但是這個解可能是個集合

方法二:無約束優化迭代法

無約束優化迭代法的基本結構

 

 

 

無約束優化迭代的方法:

第一種:梯度下降法,沿負梯度方向,只使用了一階導數:搜尋比較慢,等值線上顯示為Z型走法,軌跡是相互正交的。

第二種:牛頓法。在一階導數的基礎上考慮了二階導數,效能會更好一點。涉及到了海森矩陣求逆,可能不可逆,比如半正定或者半負定,要做適當修正。等值線上走的是直的。

第三種:擬牛頓法。使用梯度資訊去生成對於海森逆矩陣的連續低秩估計。收斂速度比牛頓法相當,但是計算複雜度低很多。

2、有約束優化問題
1)凸集

凸集:簡單理解為集合中任意的兩個點的連線,均在集合內。

 

 

2)凸函式

 

 

凸函式判定的兩個方法:

方法一:一階充要條件

 

 

方法二:二階充要條件

 

 

總結:

這兩種判別方法在判別一個問題是否為凸問題時,往往不能有效的得到結果,因為對於某些問題,他們的一階導和二階導並不好求,因此便引出了我們的凸優化問題

2)凸優化問題

(1)概述

如果一個實際的問題可以被表示成凸優化問題,那麼我們就可以認為其能夠得到很好的解決。常用的解決凸問題的演算法有等式優化、內點法等。

 

對於一個實際問題,如果不能確定其是否為凸函式,便涉及到本章的凸優化的一些方法,比如KKT條件,對偶法等。

 

如果這個問題是凸問題,那麼這些方法解出的極值點就是全域性的極值點,如果這個問題不是凸問題,那麼這些方法解出的極值點很可能是區域性極小點。

 

(2)KKT條件

KKT條件的基本思想是如何將約束優化問題轉化為無約束優化問題。