學習筆記DL007:Moore-Penrose偽逆,跡運算,行列式,主成分分析PCA

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

Moore-Penrose偽逆(pseudoinverse)。

非方矩陣,逆矩陣沒有定義。矩陣A的左逆B求解線性方程Ax=y。兩邊左乘左逆B,x=By。可能無法設計唯一映射將A映射到B。矩陣A行數大于列數,方程無解。矩陣A行數小于列數,矩陣有多個解。

矩陣A的偽逆A + =lim a->0 (A T A+aI) -1 A T。計算偽逆公式,A + =VD + U T。矩陣U、D、V是矩陣A奇異值分解得到矩陣。對角矩陣D偽逆D + 是非零元素取倒數后再轉置。矩陣A列數多于行數,偽逆求解線性方程是可能解法。x=A + y是方程所有可行解中歐幾里得范數||x|| 2 最小。矩陣A行數多于列數,沒有解。偽逆得到x使得Ax和y的歐幾里得距離||Ax-y|| 2 最小。

跡運算。

返回矩陣對角元素和,Tr(A)=Sum i A i,i 。通過矩陣乘法和跡運算符號清楚表示矩陣運算。描述矩陣Frobenius范數,||A|| F =SQRT(Tr(AA T ))。跡運算在轉置運算下不變,Tr(A)=Tr(A T )。多個矩陣相乘方陣跡,矩陣最后一個挪到最前面相乘跡相同。需考慮挪動后矩陣乘積定義良好,Tr(ABC)=Tr(CAB)=Tr(BCA),Tr(PRODUCT(n,i=1,F (i) ))=Tr(F (n) PRODUCT(n-1,i=1,F (i) ))。循環置換后矩陣乘積矩陣形狀變了,跡運算結果依然不變。矩陣A ELEMENT(R mn ),矩陣B ELEMENT(R nm ),得到 Tr(AB)=Tr(BA)。AB ELEMENT(R mm ),BA ELEMENT(R nn )。標量在跡運算后仍是自己,a=Tr(a)。

行列式。

det(A),方陣A映射到實數函數。行列式等于矩陣特征值的乘積。行列式絕對值衡量矩陣參與矩陣乘法后空間擴大或縮小多少。行列式是0,空間沿著某一維完全收縮,失去所有體積。行列式是1,轉換保持空間體積不變。

主成分分析(principal components analysis,PCA)。

簡單機器學習算法,基礎線性代數知識推導。R n 空間有m個點{x (1) ,…,x (m) },有損壓縮,用更少內存,損失精度存儲。希望損失精度盡可能少。低維表示,每個點x (i) ELEMENT(R n ),一個對應編碼向量c (i) ,按比例放大D :,i ,保持結果不變。為問題有唯一解,限制D所有列向量有單位范數。計算解碼器最優編碼困難。PCA限制D列向量彼此正交(除非l=n,嚴格意義D不是正交矩陣)。

想法變算法。明確每一個輸入x得到一個最優編碼c * 。

最小化原始輸入向量x和重構向量g(c * )間距離。范數衡量距離。PCA算法,用L 2 范數,c * =argmin c ||x-g(c)|| 2 。用平方L 2 范數替代L 2 范數。相同值c上取得最小值。L 2 范數非負。平方運算在非負值上單調遞增。c * =argmin c ||x-g(c)|| 2 2 。最小化函數簡化,(x-g(c)) T (x-g(c))。L 2 范數定義,=x T x-x T g(c)-g(c) T x +g(c) T g(c)。分配律,=x T x-2x T g(c)+g(c) T g(c)。標量g(c) T x轉置等于自己。第一項x T x 不依賴c,忽略,優化目標,c * =argmin c -2x T g(c)+g(c) T g(c)。代入g(c),c * =argmin c -2x T Dc+c T D T Dc=argmin c -2x T Dc+c T I l c。矩陣D正交性和單位范數約束,=argmin c -2x T Dc+c T c。

向量微積分求解最優化,NABLA(c, (-2x T Dc+c T c))=0,-2D T x+2c=0,c=D T x。算法高效。最優編碼x只需要一個矩陣-向量乘法操作。編碼向量,編碼函數,f(x)=D T x。矩陣乘法,定義PCA重構操作,r(x)=g(f(x))=DD T x。挑選編碼矩陣D。相同矩陣D對所有點解碼,不能孤立看待每個點。最小化所有維數和所有點上的誤差矩陣Frobenius范數。D * =argmin D SQRT(SUM(i,j,(x (i) j -r(x (i)) j )) 2 )subject to D T D=Il。推導尋求D * 算法,l=1,D是單一向量d。簡化D為d,問題簡化。d * =argmin d SUM(i,||x (i) -dd T x (i) || 2 2 )subject to ||d|| 2 =1。最美觀方式。標量d T x (i) 放在向量d右邊。標量放在左邊寫法更傳統。d * =argmin d SUM(i,||x (i) -d T x (i) d|| 2 2 )subject to ||d|| 2 =1。標量轉置和自身相等。d * =argmin d SUM(i,||x (i) -x (i) T dd|| 2 2 )subject to ||d|| 2 =1。重排寫法。

單一矩陣重述問題。更緊湊符號。表示各點向量堆疊成矩陣。記X ELEMENT(R m*n )。X i,: =x (i) T 。重新表述,d * =argmin d ||X-Xdd T || 2 F subject to d T d=1。不考慮約束,Frobenius范數簡化。argmin d ||X-Xdd T || 2 F 。=argmin d Tr((X-Xdd T ) T (X-Xdd T ))。=argmin d Tr(X T X-X T Xdd T -dd T X T X+dd T X T Xdd T )。=argmin d Tr(X T X)-Tr(X T Xdd T )-Tr(dd T X T X)+Tr(dd T X T Xdd T )。=argmin d -Tr(X T Xdd T )-Tr(dd T X T X)+Tr(dd T X T Xdd T )。與d無關項不影響argmin,=argmin d -2Tr(X T Xdd T )+Tr(dd T X T Xdd T )。循環改變跡運算相乘矩陣順序不影響結果,=argmin d -2Tr(X T Xdd T )+Tr(X T X T Xdd T dd T )。考慮約束條件。argmin d -2Tr(X T Xdd T )+Tr(X T X T Xdd T dd T )subject to d T d=1。=argmin d -2Tr(X T Xdd T )+Tr(X T X T Xdd T )subject to d T d=1。=argmin d -Tr(X T X T Xdd T )subject to d T d=1。=argmax d Tr(X T X T Xdd T )subject to d T d=1。=argmax d Tr(d T X T X T Xd)subject to d T d=1。優化問題,特征分解求解。最優d是X T X最大特征值對應特征向量。

以上推導特定于l=1情況,僅得到第一個主成分。得到主成分的基時,矩陣D由前l個最大特征值對應特征向量組成。歸納法證明。

參考資料:

《深度學習》

歡迎推薦上海機器學習工作機會,我的微信:qingxingfengzi

我有一個微信群,歡迎一起學深度學習。

轉載于:https://my.oschina.net/u/3482787/blog/1577672

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/279199.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/279199.shtml
英文地址,請注明出處:http://en.pswp.cn/news/279199.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql40題_mysql40題

一、表關系請創建如下表,并創建相關約束導入現有數據庫數據:/*Navicat Premium Data TransferSource Server : localhostSource Server Type : MySQLSource Server Version :50624Source Host : localhostSource Database : sqlexamTarget Server Type :…

ubuntu取消主目錄加密_如何在Ubuntu上恢復加密的主目錄

ubuntu取消主目錄加密Access an encrypted home directory when you’re not logged in – say, from a live CD – and all you’ll see is a README file. You’ll need a terminal command to recover your encrypted files. 當您未登錄時(例如,從實時CD)訪問加密…

select 和epoll模型區別

1.select 和epoll模型區別 1.1.網絡IO模型概述 通常來說,網絡IO可以抽象成用戶態和內核態之間的數據交換。一次網絡數據讀取操作(read),可以拆分成兩個步驟:1)網卡驅動等待數據準備好(內核態&…

python數據結構與算法第六講_Python 學習 -- 數據結構與算法 (六)

棧 是一種 “操作受限”的線性表,只允許在一端插入和刪除數據。從功能是上來說,數組和鏈表確實可以替代棧,但是特定的數據結構是對特定場景的抽象,而且,數組或鏈表暴露了太多的操作接口,操作上的確靈活自由…

spring-springmvc code-based

idea設置maven在下載依賴的同時把對應的源碼下載過來。圖0:1主要實現零配置來完成springMVC環境搭建,當然現在有了springBoot也是零配置,但是很多同仁都是從spring3.x中的springMVC直接過渡到springBoot的,spring3.x的MVC大部分都…

powershell 入門_使用PowerShell入門的5個Cmdlet

powershell 入門PowerShell is quickly becoming the preferred scripting language and CLI of Power Users as well as IT Pros. It’s well worth learning a few commands to get you started, so we’ve got 5 useful cmdlets for you to learn today. PowerShellSwift成為…

Part 3: Services

介紹 在第3部分中,我們將擴展應用程序并啟用負載平衡。為此,我們必須在分布式應用程序的層次結構中提升一個級別:服務。 StackServices (你在這里)Container (涵蓋在第2部分中)關于服務 在分布式應用程序中,應用程序的不同部分被稱為“服務”…

mysql ldf文件太大_Linux_數據庫清除日志文件(LDF文件過大),清除日志: 復制代碼 代碼如 - phpStudy...

數據庫清除日志文件(LDF文件過大)清除日志:復制代碼 代碼如下:DECLARE LogicalFileName sysname,MaxMinutes INT,NewSize INTUSE szwzcheck -- 要操作的數據庫名SELECT LogicalFileName szwzcheck_Log, -- 日志文件名MaxMinutes 10, -- Limit on time allowed to …

emwin之錯誤使用控件函數導致死機現象

2018-10-15 導致死機的代碼示例如下 1 /**2 * brief widget ID define3 * {4 */5 6 #define ID_WINDOW_0 (GUI_ID_USER 0x00)7 #define ID_TEXT_0 (GUI_ID_USER 0x01)8 #define ID_TEXT_1 (GUI_ID_USER …

diy感應usb攝像頭拍照_DIY無線感應充電器

diy感應usb攝像頭拍照Courtesy of Instructables user Inducktion shares a very detailed tutorial on how to build a wireless power charger. He explains the impetus behind the project: 由Instructables用戶提供Inducktion分享了有關如何構建無線電源充電器的非常詳細…

ubuntu7.10安裝到3D開啟

累了好幾天,重裝了十幾遍終于把ubuntu7.10搞定到了我自認為完美的狀態了。現在總結一下安裝過程(按操作順序記錄):1.在xp下不管用pqmajac還是其他硬盤分區工具分出10G的空余分區來(實驗階段10G嘗試下)&…

初學者對python的認識_Python初學者列表,python,初識

1.認識列表列表可以放入所有我們目前學習過的數據類型,甚至包括列表2.有關列表的方法、內置函數(設列表的名稱為list)向列表中添加元素:append():list.append(要添加的元素),注意每次只能添加一個元素,被添加的元素自動…

常用模塊之 time,datetime,random,os,sys

time與datetime模塊 先認識幾個python中關于時間的名詞: 時間戳(timestamp):通常來說,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量。我們運行“type(time.time())”,返回的是float類型。1970年之前的日期無法以此表…

使用aSpotCat控制您的Android應用權限

Viewing the permissions of each installed Android app requires digging through the Manage Applications screen and examining each app one by one — or does it? aSpotCat takes an inventory of the apps on your system and the permissions they require. 要查看每…

xtrabackup備份mysql“ib_logfile0 is of different”錯誤分析

今天用xtrabackup工具完整備份mysql數據庫的時候出現“./ib_logfile0 is of different”錯誤,具體的日志信息如下: 我第一時間查詢了百度和谷歌都沒有找見相對應的答案。決定從錯誤日志入手,上面的日志提示說:mysql數據庫inondb的日志文件的大…

java socket 報文解析_java socket解析和發送二進制報文工具(附java和C++轉化問題)

解析:首先是讀取字節:/*** 讀取輸入流中指定字節的長度* * 輸入流**paramlength 指定長度*return指定長度的字節數組*/public static byte[] readBytesFromTo(byte[] buffer, int from, intlength) {byte[] sub new byte[length];int cur 0;for (int i from; i < length …

Ubuntu防火墻:ufw

原始linux的防火墻是iptables&#xff0c;以為過于繁瑣&#xff0c;各個發行版幾乎都有自己的方案; ubuntu下的防火墻是ufw[ubuntu fireward的縮寫]&#xff0c;centos的防火墻是fireward ubuntu下&#xff1a; 啟用或者關閉防火墻 sudo ufw enable|disable sudo ufw default d…

如何使自己的不和諧機器人

Discord has an excellent API for writing custom bots, and a very active bot community. Today we’ll take a look at how to get started making your own. Discord具有出色的用于編寫自定義機器人的API&#xff0c;以及非常活躍的機器人社區。 今天&#xff0c;我們將探…

?css3屬性選擇器總結

css3屬性選擇器總結 &#xff08;1&#xff09;E[attr]只使用屬性名&#xff0c;但沒有確定任何屬性值 <p miaov"a1">111111</p> <p miaov"a2">111111</p> p[miaov]{background: red;} /*所有屬性為miaov的元素都會被背景變紅&a…

java復合賦值運算符_Java 之復合賦值運算符

1.引入問題切入正題&#xff0c;看下面代碼&#xff0c;結果應該是怎么樣的public class App{public static void main( String[] args ){byte a1 ;int b 10;a ab;System.out.println(a);ab;System.out.println(a);}}這段代碼的執行結果是什么&#xff1f;&#xff1f;2. 執行…