1. 程式人生 > >線性代數在機器學習上的基本應用

線性代數在機器學習上的基本應用

本人碩渣一枚,之前研究方向為GPU平行計算。現在開始學習機器學習和深度學習。俗話說好記性不如爛筆頭。僅以此記錄我的學習過程。


線性代數在機器學習方面有著重要的應用,為了更好的理解機器學習,複習一下線性代數。以前不知道線性代數在機器學習中的應用,這裡我推薦大家學習一下李巨集毅教授的課程講解的非常好。


這裡以數字識別為例:

首先一副影象輸入如下所示:


我們首先將圖片16*16轉換成一個256的一維向量,然後我們可以看到如果我們用256維向量作為輸入資料,資料量較大。 我們可以用一個向量空間去表示輸入影象的向量
我們假設u1、u2.....un都是一個標準向量空間,有人可能問 n 為多少呢 ,如果用標準向量表示256維的向量n還是256,資料維數病沒有下降啊  但是我們這裡要考慮一個問題 其實並不是所有的影象都可以表示成手寫文字 如下圖所示,因此我們並不需要使用256基本Basic 去表示,因為如果使用256Basic 我們可以表示任何影象,但是事實上我們並不需要所有影象,我們需要識別出數字首先影象,這樣Basic 應該會小於256:
這裡面 N便會小於256  如下圖所示,我們可以把改成Basic 元素表示,如下乳所示:





從而將資料降低維數。



上圖是使用4W張圖片利用PCA演算法找到的Basic.這裡面白色為0.黑色為1.灰色介於0到1之間。


利用NMF找出的Basic,這裡嚴格來講不能算是Basic,因為有可能不是相互獨立的