99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)大數(shù)據(jù)時(shí)代PCA降維原理(主成分分析)的數(shù)學(xué)理論
PCA降維原理(主成分分析)的數(shù)學(xué)理論
2020-07-03
收藏

機(jī)器學(xué)習(xí)中,有成千上萬(wàn)甚至幾十萬(wàn)的維度的數(shù)據(jù)需要處理,這種情況下機(jī)器學(xué)習(xí)的資源消耗是不可接受的,并且很大程度上影響著算法的復(fù)雜度,因此對(duì)數(shù)據(jù)降維是必要的。PCA(Principal Component Analysis)是一種常用的數(shù)據(jù)分析方法,也是最基礎(chǔ)的無(wú)監(jiān)督降維算法。通常用于高維數(shù)據(jù)集的探索與可視化,還可以用于數(shù)據(jù)壓縮,數(shù)據(jù)預(yù)處理等。PCA通過(guò)線性變換將原始數(shù)據(jù)變換為一組各維度線性無(wú)關(guān)表示,可用于提取數(shù)據(jù)的主要特征分量及高維數(shù)據(jù)的降維,而轉(zhuǎn)換后的這組變量便是我們所說(shuō)的主成分。

均值和零均值化

均值

PCA降維過(guò)程中,我們所求的均值是每個(gè)維度的均值。

零均值化

然后將每個(gè)維度的數(shù)據(jù)進(jìn)行零均值化,所謂零均值化就是讓均值為0.即每個(gè)數(shù)據(jù)都減去均值。

進(jìn)行去均值的原因是如果不去均值的話會(huì)容易擬合。在神經(jīng)網(wǎng)絡(luò)中,如果特征值x比較大的時(shí)候,會(huì)導(dǎo)致W*x+b的結(jié)果也會(huì)很大,這樣進(jìn)行激活函數(shù)(如relu)輸出時(shí),會(huì)導(dǎo)致對(duì)應(yīng)位置數(shù)值變化量相對(duì)來(lái)說(shuō)太小,進(jìn)行反向傳播時(shí)因?yàn)橐褂眠@里的梯度進(jìn)行計(jì)算,所以會(huì)導(dǎo)致梯度消散問(wèn)題,導(dǎo)致參數(shù)改變量很小,也就會(huì)易于擬合,效果不好。

特征向量和特征

定義

若A為n階矩陣,若數(shù)λ和n維非0列向量X滿足AX=λX,那么數(shù)λ稱為A的特征值,X稱為A的對(duì)應(yīng)于特征值λ的特征向量

PCA降維過(guò)程中,本質(zhì)就是把原有數(shù)據(jù)投影到新的一個(gè)空間,我們也就可以看做是在原有數(shù)據(jù)基礎(chǔ)上求解特征向量和特征

性質(zhì)

特征值和特征向量具有以下性質(zhì):

1.同一個(gè)矩陣的不同特征值對(duì)應(yīng)的特征向量是線性無(wú)關(guān)的

2.對(duì)于同一個(gè)特征值對(duì)應(yīng)的特征向量的非零線性組合仍是該特征值對(duì)應(yīng)的特征向量

3.矩陣的特征向量總是相對(duì)于矩陣的特征值而言,一個(gè)特征值具有特征向量不唯一,一個(gè)特征向量不能對(duì)應(yīng)不同特征

特征向量和特征值的性質(zhì)我們就可以發(fā)現(xiàn)正好符合PCA降維過(guò)程中取方差較大和線性不相關(guān)的前k維數(shù)據(jù)作為降維后數(shù)據(jù)的目的

方差

方差是是用來(lái)表示數(shù)據(jù)的離散程度的,方差越大,離散程度越大,也就是數(shù)據(jù)波動(dòng)就越大。

方差的計(jì)算:前面已經(jīng)說(shuō)了,需要先對(duì)每個(gè)維度的數(shù)據(jù)做零均值化,那么方差就是去均值后的平方和的均值

PCA中方差的意義:PCA的本質(zhì)就是找一些投影方向,使得數(shù)據(jù)在這些投影方向上的方差最大,而且這些投影方向是相互正交的(即:相關(guān)性幾乎為0)。這其實(shí)就是找新的正交基的過(guò)程,計(jì)算原始數(shù)據(jù)在這些正交基上投影的方差,方差越大,就說(shuō)明在對(duì)應(yīng)正交基上包含了更多的信息量,對(duì)數(shù)據(jù)特征影響更大,我們暫且把這些信息量可以記為特征值。原始數(shù)據(jù)協(xié)方差矩陣的特征值越大,對(duì)應(yīng)的方差越大,在對(duì)應(yīng)的特征向量上投影的信息量就越大。反之,如果特征值較小,則說(shuō)明數(shù)據(jù)在這些特征向量上投影的信息量很小,可以將小特征值對(duì)應(yīng)方向的數(shù)據(jù)刪除,從而達(dá)到了降維的目的。

協(xié)方差

協(xié)方差可以計(jì)算不同變量之間的相關(guān)性:

如果cov(x,y)=-1.變量之間完全負(fù)相關(guān)

如果cov(x,y)=1.變量之間完全正相關(guān)

如果cov(x,y)=0.變量之間完全不相關(guān)

而當(dāng)x和y相等時(shí),協(xié)方差的值就等于方差,所以也可以看作方差是協(xié)方差的一種特殊情況

PCA的過(guò)程中我們是對(duì)原始數(shù)據(jù)做過(guò)零均值化處理的,故,協(xié)方差可以變?yōu)椋?

那么每個(gè)維度之間的相關(guān)性計(jì)算方式為:

協(xié)方差矩陣

協(xié)方差只能表示兩個(gè)維度變量之間的相互關(guān)系,如果有多個(gè)維度隨機(jī)變量,就需要使用協(xié)方差矩陣,我們假設(shè)現(xiàn)在又三個(gè)維度隨機(jī)變量x,y,z,那么對(duì)應(yīng)的協(xié)方差矩陣則為:

矩陣對(duì)角化定義

對(duì)角矩陣(diagonal matrix)是一個(gè)主對(duì)角線之外的元素皆為0的矩陣。對(duì)角線上的元素可以為0或其他值

如果存在一個(gè)可逆矩陣 P 使得 P-1AP 是對(duì)角矩陣,則矩陣A就被稱為可對(duì)角化矩陣

如果一個(gè)矩陣與一個(gè)對(duì)角矩陣相似,我們就稱這個(gè)矩陣可經(jīng)相似變換對(duì)角化,簡(jiǎn)稱可對(duì)角化;與之對(duì)應(yīng)的線性變換就稱為可對(duì)角化的線性變換

協(xié)方差矩陣對(duì)角化

上文我們已經(jīng)說(shuō)明了協(xié)方差矩陣是一個(gè)實(shí)對(duì)稱矩陣,由實(shí)對(duì)稱矩陣和相似矩陣性質(zhì)我們可以得出協(xié)方差矩陣C具有的性質(zhì):

和C相似的對(duì)角矩陣,其對(duì)角元素為各特征向量對(duì)應(yīng)的特征值(可能有重復(fù))即:C的特征值就是相似對(duì)角矩陣的對(duì)角元素

我們假設(shè)C的相似對(duì)角矩陣為A,那么如果存在一個(gè)矩陣P使得P-1CP=A,根據(jù)對(duì)角矩陣的特點(diǎn),我們就可以發(fā)現(xiàn)矩陣P的每一行就是我們所要找的協(xié)方差矩陣的特征向量,而特征值就是對(duì)角矩陣的對(duì)角元素,現(xiàn)在我們離整個(gè)PCA過(guò)程還有一步,先把每一個(gè)特征向量變成單位向量,然后再按照特征值的大小進(jìn)行排序,取前K行特征值對(duì)應(yīng)的單位向量組成的矩陣和標(biāo)準(zhǔn)化后數(shù)據(jù)相乘,就得到了我們需要的降維后的數(shù)據(jù)矩陣。

至此,整個(gè)PCA降維過(guò)程涉及到的數(shù)學(xué)理論就完成了。

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }