欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

特征臉(Eigenface)理論基礎(chǔ)之PCA主成分分析法

 更新時(shí)間:2018年03月13日 09:09:20   作者:兔死機(jī)  
這篇文章主要為大家詳細(xì)介紹了特征臉理論基礎(chǔ)之PCA主成分分析法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

在之前的博客 人臉識(shí)別經(jīng)典算法一:特征臉?lè)椒ǎ‥igenface)里面介紹了特征臉?lè)椒ǖ脑?,但是并沒(méi)有對(duì)它用到的理論基礎(chǔ)PCA做介紹,現(xiàn)在做補(bǔ)充。請(qǐng)將這兩篇博文結(jié)合起來(lái)閱讀。以下內(nèi)容大部分參考自斯坦福機(jī)器學(xué)習(xí)課程:http://cs229.stanford.edu/materials.html

假設(shè)我們有一個(gè)關(guān)于機(jī)動(dòng)車(chē)屬性的數(shù)據(jù)集{x(i);i=1,...,m}(m代表機(jī)動(dòng)車(chē)的屬性個(gè)數(shù)),例如最大速度,最大轉(zhuǎn)彎半徑等。假設(shè)x(i)本質(zhì)上是n維的空間的一個(gè)元素,其中n<<m,但是n對(duì)我們來(lái)說(shuō)是未知的。假設(shè)xi和xj分別代表車(chē)以英里和公里為單位的最大速度。顯然這兩個(gè)屬性是冗余的,因?yàn)樗鼈儍蓚€(gè)是有線性關(guān)系而且可以相互轉(zhuǎn)化的。因此如果僅以xi和xj來(lái)考慮的話,這個(gè)數(shù)據(jù)集是屬于m-1維而不是m維空間的,所以n=m-1。推廣之,我們?cè)撚檬裁捶椒ń档蛿?shù)據(jù)冗余性呢?

首先考慮一個(gè)例子,假設(shè)有一份對(duì)遙控直升機(jī)操作員的調(diào)查,用x(i)1(1是下標(biāo),原諒我這操蛋的排版吧)表示飛行員i的飛行技能,x(i)2表示飛行員i喜歡飛行的程度。通常遙控直升飛機(jī)是很難操作的,只有那些非常堅(jiān)持而且真正喜歡駕駛的人才能熟練操作。所以這兩個(gè)屬性x(i)1和x(i)2相關(guān)性是非常強(qiáng)的。我們可以假設(shè)兩者的關(guān)系是按正比關(guān)系變化的,如下圖里的u1所示,數(shù)據(jù)散布在u1兩側(cè)是因?yàn)橛猩僭S噪聲。

接下來(lái)就是如何計(jì)算u1的方向了。首先我們需要預(yù)處理數(shù)據(jù)。

1.令

2.用x(i)-μ替代x(i)

3.求

4.用x(i)j/σj替代x(i)j

步驟1-2其實(shí)是將數(shù)據(jù)集的均值歸零,也就是只取數(shù)據(jù)的偏差部分,對(duì)于本身均值為零的數(shù)據(jù)可以忽略這兩步。步驟3-4是按照每個(gè)屬性的方差將數(shù)據(jù)重新度量,也可以理解為歸一化。因?yàn)閷?duì)于不同的屬性(比如車(chē)的速度和車(chē)座數(shù)目)如果不歸一化是不具有比較性的,兩者不在一個(gè)量級(jí)上。如果將pca應(yīng)用到圖像上的話是不需要步驟3-4的,因?yàn)槊總€(gè)像素(相當(dāng)于不同的屬性)的取值范圍都是一樣的。

數(shù)據(jù)經(jīng)過(guò)如上處理之后,接下來(lái)就是尋找數(shù)據(jù)大致的走向了。一種方法是找到一個(gè)單位向量u,使所有數(shù)據(jù)在u上的投影之和最大,當(dāng)然數(shù)據(jù)并不是嚴(yán)格按照u的方向分布的,而是分布在其周?chē)?。考慮下圖的數(shù)據(jù)分布(這些數(shù)據(jù)已經(jīng)做了前期的預(yù)處理)。

下圖中,星號(hào)代表數(shù)據(jù),原點(diǎn)代表數(shù)據(jù)在單位向量u上的投影(|x||u|cosΘ)

從上圖可以看到,投影得到的數(shù)據(jù)仍然有很大的方差,而且投影點(diǎn)離原點(diǎn)很遠(yuǎn)。如果采取與上圖u垂直的方向,則可以得到下圖:

這里得到的投影方差比較小,而且離原點(diǎn)也更近。

上述u的方向只是感性的選擇出來(lái)的,為了將選擇u的步驟正式確定下來(lái),可以假定在給定單位向量u和數(shù)據(jù)點(diǎn)x的情況下,投影的長(zhǎng)度是xTu。舉個(gè)例子,如果x(i)是數(shù)據(jù)集中的一個(gè)點(diǎn)(上圖中的一個(gè)星號(hào)),那它在u上的投影xTu就是圓點(diǎn)到原點(diǎn)的距離(是標(biāo)量哦)。所以,為了最大化投影的方差,我們需要選擇一個(gè)單位向量u來(lái)最大化下式:

明顯,按照||u||2=1(確保u是單位向量)來(lái)最大化上式就是求的主特征向量。而其實(shí)是數(shù)據(jù)集的協(xié)方差矩陣。

做個(gè)總結(jié),如果我們要找數(shù)據(jù)集分布的一維子空間(就是將m維的數(shù)據(jù)用一維數(shù)據(jù)來(lái)表示),我們要選擇協(xié)方差矩陣的主特征向量。推廣之,如果要找k維的子空間,那就應(yīng)該選擇協(xié)方差矩陣的k個(gè)特征向量u1,u2,...,uk。ui(i=1,2,...,k)就是用來(lái)表征數(shù)據(jù)集的新坐標(biāo)系。

為了在u1,u2,...,uk的基礎(chǔ)上表示x(i),我們只需要計(jì)算

其中x(i)是屬于n維空間的向量,而y(i)給出了基于k維空間的表示。因此說(shuō),PCA是一個(gè)數(shù)據(jù)降維算法。u1,u2,...,uk稱(chēng)為數(shù)據(jù)的k個(gè)主成分。

介紹到這里,還需要注意一些為題:

1、為什么u要選擇單位向量

選擇單位向量是為了統(tǒng)一表示數(shù)據(jù),不選成單位的也可以,但各個(gè)向量長(zhǎng)度必須統(tǒng)一,比如統(tǒng)一長(zhǎng)度為2、3等等。

2、各個(gè)u要相互正交

如果u不正交,那么在各個(gè)u上的投影將含有冗余成分

2、為什么要最大化投影的方差

舉個(gè)例子,如果在某個(gè)u上的投影方差為0,那這個(gè)u顯然無(wú)法表示原數(shù)據(jù),降維就沒(méi)有意義了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 用sleep間隔進(jìn)行python反爬蟲(chóng)的實(shí)例講解

    用sleep間隔進(jìn)行python反爬蟲(chóng)的實(shí)例講解

    在本篇文章里小編給大家整理了一篇關(guān)于用sleep間隔進(jìn)行python反爬蟲(chóng)的實(shí)例講解內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2020-11-11
  • python文件處理筆記之文本文件

    python文件處理筆記之文本文件

    相信大家在測(cè)試任務(wù)過(guò)程中都或多或少遇到自己處理文本文件的情況,這篇文章主要給大家介紹了關(guān)于python文件處理筆記之文本文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • python一些性能分析的技巧

    python一些性能分析的技巧

    這篇文章主要介紹了python一些性能分析的技巧,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • python使用正則表達(dá)式檢測(cè)密碼強(qiáng)度源碼分享

    python使用正則表達(dá)式檢測(cè)密碼強(qiáng)度源碼分享

    客戶(hù)系統(tǒng)升級(jí),要求用戶(hù)密碼符合一定的規(guī)則,即:包含大小寫(xiě)字母、數(shù)字、符號(hào),長(zhǎng)度不小于8,于是先用python寫(xiě)了個(gè)簡(jiǎn)單的測(cè)試程序:
    2014-06-06
  • windows+vscode安裝paddleOCR運(yùn)行環(huán)境的步驟

    windows+vscode安裝paddleOCR運(yùn)行環(huán)境的步驟

    這篇文章主要介紹了windows+vscode安裝paddleOCR運(yùn)行環(huán)境,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • python golang中g(shù)rpc 使用示例代碼詳解

    python golang中g(shù)rpc 使用示例代碼詳解

    這篇文章主要介紹了python golang中g(shù)rpc 使用,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python+OpenCV解決彩色圖亮度不均衡問(wèn)題

    Python+OpenCV解決彩色圖亮度不均衡問(wèn)題

    當(dāng)我們換新頭像時(shí),常常會(huì)遇到圖片過(guò)暗導(dǎo)致看不到圖片內(nèi)容的情況,本文將介紹如何通過(guò)Python和OpenCV解決色彩圖亮度不均衡的問(wèn)題,需要的可以參考一下
    2021-12-12
  • 快速實(shí)現(xiàn)基于Python的微信聊天機(jī)器人示例代碼

    快速實(shí)現(xiàn)基于Python的微信聊天機(jī)器人示例代碼

    本篇文章主要介紹了快速實(shí)現(xiàn)基于Python的微信聊天機(jī)器人示例代碼,基于itchat開(kāi)發(fā),可以用它做一個(gè)微信聊天機(jī)器人,有興趣的可以了解一下。
    2017-03-03
  • 解析Pytest3種配置文件方式

    解析Pytest3種配置文件方式

    pytest的主配置文件,可以改變pytest的默認(rèn)行為,本文主要介紹了解析Pytest3種配置文件方式,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • Python調(diào)用OpenCV實(shí)現(xiàn)圖像平滑代碼實(shí)例

    Python調(diào)用OpenCV實(shí)現(xiàn)圖像平滑代碼實(shí)例

    這篇文章主要介紹了Python調(diào)用OpenCV實(shí)現(xiàn)圖像平滑代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評(píng)論