《深度學習》/《Deep Learning》——深度學習聖經的讀書筆記
阿新 • • 發佈:2018-12-29
學習方法
- 對著書看一遍,把理解的內容寫成筆記
- 看完一章後,看著筆記和書,把內容複習一下,把需要畫線的地方畫好並理解
- 逐層深入:這本書講解基礎概念講得不生動,但是高層次上有很多不錯的高瞻遠矚的見解,所以先看網文理解到基本的網路(如RNN-LSTM),然後看書深化理解
*.
熟悉語音,VAE,tf,python,和深度學習的最佳方法——跟進大佬用tf寫的語音轉換程式碼,比如VAE那份,跑起來並改善
證明技法
泰勒級數逼近後,可以帶入想要的引數常量P155
做簡化,初始化為0,等
證明A方法=B方法:
在寫出利用了A/B的代價函式/權重特徵值/Hessian,然後聯立對比
概論
- 當有5k樣本的時候,就可以達到可接受的效能
- 當有10M個樣本的時候,一般就可以超過人類的表現
矩陣
基礎
- 注意向量的子集的表示方法,
x−1 表示是x 中除去x1 的子集,如果令集合S={1,3,6} ,那麼集合x−S 表示除去x1 ,x3 ,x6 - 轉置是沿著對主對角線的翻轉,主對角線是左上角開始的
乘法
矩陣乘法不可教(交換)
單位矩陣和逆矩陣
線性方程組可以求解,而這個解要用到矩陣的逆操作
有了這個逆操作很簡單就可以求取滿秩的線性方程
逆矩陣存在的條件:線性相關
- X向量的線性組合即生成子空間包含了b,所以要求A的維度大於b的維度,冗餘即為線性相關,可以表示為其他向量的特徵組合
- 必須方陣,線性無關的時候稱為奇異
線性相關
對一組向量a1,a2,…an,如果有 :
則這組向量是線性相關的
對於任意的b使得
成立,那麼當b的維度為m時,A需要恰好m個相互線性無關的列向量(當大於m個的時候,肯定會有一些向量沒辦法跟其他的保持線性無關,就會變成不止一個b)
逆矩陣有左乘和右乘,分別是:
和
對於方陣有左乘等價於右乘
秩 Rank
如果上面n個向量能選出最多的r個使得構成線性無關的子集,並且任意加一個都會變成線性相關的,那麼r就是矩陣的秩
這個向量組稱為最大線性無關向量組
衡量向量的大小:範數(norm)
幾何角度來看,x的範數,就是原點O到點x的距離
最常用的是p範數:
單位範數即滿足
的點在平面上組成的線
- 0範數:衡量x中0的數量(不用上式定義)
- 1範數:令p=1,得元素絕對值之和,單位範數是方形
- 2範數:p=2,歐幾里得範數,大小表示原點到當前點的距離
不同p值的單位範數:
矩陣的範數:
1-範數:
||A||1=maxj∑i=1m|ai,j|
列和範數,即所有矩陣列向量絕對值之和的最大值2-範數:
||A||2=λ1−−√
lambda為A^TA的最大特徵值
譜範數,即A’A矩陣的最大特徵值的開平方∞-範數:
||A||∞=maxi∑j=1N|ai,j|
行和範數,即所有矩陣行向量絕對值之和的最大值F-範數:
||A||F=⎛⎝∑i=1m∑j=1n|ai,j|2⎞⎠12
Frobenius範數,即矩陣元素絕對值的平方和再開平方,類似於向量的L2範數,很多深度學習被歸結於F範數的最優化問題,比如PCA和Autoencoder核範數:
||A||∗=∑i=1nλi
其中λi 是A的奇異值。
即奇異值之和。
特殊的矩陣:
- 對角只在主對角線上含有非零元素
- 進行乘法的時候只需要把非零元素跟對應行相乘即可
- 機器學習中,如果把一些矩陣限定為對角陣,可以降低計算代價
- 對於非方形的矩陣,要變成對角陣,需要在縮放後在後面補零或者刪除一些部分
A=AT
- 對稱表示對稱元素相等。如,距離度量矩陣
Ai,j=Aj,i - 正交矩陣求逆代價小,是行向量和列向量分別標準正交*的
ATA=AAT=I
則
A−1=AT
*標準正交:兩個向量都是單位向量(範數=1的向量),而且正交(夾角為90°)
- 所有特徵>0稱為正定,非負的半正定
方陣的特徵值分解
就像把一個數變成不同的素數的乘積一樣,矩陣也可以分解成不同的組成成分:
例如,可以把矩陣A中提取出特徵向量v和特徵值λ:(沒有分解它)
則實數λ稱為A的特徵值,v稱為特徵向量
- 此時,v與Av共線,λ指出了v跟Av的方向和長度關係
- 因此v可以直接取單位向量。
要還原A,就需要藉助A的全部單位特徵向量v和全部特徵值λ,把A的所有的線性無關是單位特徵v組合在一起形成特徵矩陣: