cs131課程筆記(8)
Lecture_12 人臉識別和特徵壓縮
1.SVD分解。任意一個矩陣可以分解為 ,其中, 為旋轉矩陣,即 為只有對角元素不為0的矩陣。
2.SVD分解中,,設 ,其中, 為 的列向量, 為 的行向量。那麼表達式可以寫為 ,而 ,因為 是旋轉矩陣,列向量模為1,當奇異值 非常小時, 也會非常小,導致對矩陣 的貢獻非常小,可以省略。因此可以取奇異值最大的前幾個分量,捨去奇異值小的分量對應的 ,這樣壓縮了空間同時不會造成較大的失真。
3.SVD計算。 的特徵值開根號就是 的奇異值;特徵向量就是 的列向量。 的列向量就是 的列向量。
4.PCA(主成分分析)。也是機器學習里天天見到的演算法了,簡單介紹下。
訓練:
對於訓練數據集 。
1)計算均值:
2)計算協方差:
3)計算 的特徵值
4)將特徵向量從小到大排序
5)保留前 個特徵值和特徵向量,其餘的捨去。
測試:
對於測試集 。
1)減去均值:
2)投影到低維:
5.用SVD算PCA。在訓練的第二步中, ,對 做SVD,則 ,對應的特徵向量為 ,特徵值為 。
6. 的選取。選擇解釋了 的數據變化的 ,可以用比例 來求。
7.圖像壓縮。把圖像分成小的網格,比如分成12x12的小格子(無重疊),每個小格子可以看做是144維的數據,然後對其做PCA。
Lecture_13 人臉識別
1.假設有張100x100的圖像,那麼可以看作是一個10000維的特徵空間,將其用坐標表示需要1000個互不相關的基才能張成這個空間,而其中人臉是這個特徵空間內的一個子空間,因此我們想找到一個特徵子空間,這個子空間里的基可以很好的表示人臉,而這個方法就是pca。
2.eigenfaces演算法
訓練:
1)將 張人臉圖像對齊,然後按照像素拉平成 維的向量 。
2)去均值,求協方差,求協方差的特徵值和特徵向量,取前 大的特徵值對應的特徵向量作為人臉子空間的一組基 。
3)計算每個訓練圖像 在這組基下的坐標 。
4)可視化訓練的人臉 。
測試:
1)取測試圖像 。
2)投影到人臉空間計算坐標 。
3)根據這個坐標與訓練樣本做k近鄰,度量準則用歐式距離,得到測試人臉對應的人。
3.eigenfaces優點:不用迭代,全局最優解。缺點:人臉需要在中心且大小一致,對角度敏感;從低維重建是最優的,但對於分辨力(discrimination)來說不是最優的。
4.LDA(Linear Discriminant Analysis)。也是一種投影降維的方式,但是主要保存差異性,找到最大化類間距離,最小化類內距離的投影。如圖所示,PCA是最大方差,LDA是最大分類差異。
5.考慮用LDA將二維點投影到一維點上, , 為投影矩陣。設每一類的樣本均值為 ,每一類的類內協方差為 ,我們的目標函數為 。其中分子可以表示為 分母可以表示為
所以,優化目標可以寫為 .
這個目標函數等價於 ,然後用拉格朗日乘子法
其中 是一個數值,而 前面的係數我們並不關心。
6.當有 個變數和 個類時, , ,解為 。
7.總體來說LDA性能比PCA要好。
推薦閱讀:
※Model for Video Understanding【1】
※[計算機視覺論文速遞] 2018-04-17
※線上分享|王超 走進GAN的世界
※GAN階段性小結(損失函數、收斂性分析、訓練技巧、應用「高解析度、domain2domain」、研究方向)
※IJCAI 2018 | 海康威視Oral論文:分層式共現網路,實現更好的動作識別和檢測
TAG:計算機視覺 |