企業(yè)信息系統(tǒng)案例seo網(wǎng)上培訓(xùn)課程
1.降維的概述
維數(shù)災(zāi)難(Curse of Dimensionality)
:通常是指在涉及到向量的計(jì)算的問(wèn)題中,隨著維數(shù)的增加,計(jì)算量呈指數(shù)倍增長(zhǎng)的一種現(xiàn)象。
1.1什么是降維?
1.降維(Dimensionality Reduction)是將訓(xùn)練數(shù)據(jù)中的樣本(實(shí)例)從高維空間轉(zhuǎn)換到低維空間。
2.有很多種算法可以完成對(duì)原始數(shù)據(jù)的降維,在這些方法中,降維是通過(guò)對(duì)原始數(shù)據(jù)的線性變換實(shí)現(xiàn)的。
1.2為什么要降維?
1.高維數(shù)據(jù)增加了運(yùn)算的難度,維度越高,算法的搜索難度。
2.高維使得學(xué)習(xí)算法的泛化能力變?nèi)?#xff0c;降維能夠增加數(shù)據(jù)的可讀性,利于發(fā)掘數(shù)據(jù)的有意義的結(jié)構(gòu)。
1.3降維的主要作用:
-
減少冗余特征,降低數(shù)據(jù)維度
-
數(shù)據(jù)可視化
降維的優(yōu)點(diǎn):
- 通過(guò)減少特征的維數(shù),數(shù)據(jù)集存儲(chǔ)所需的空間也相應(yīng)減少,減少了特征維數(shù)所需的計(jì)算訓(xùn)練時(shí)間;
- 數(shù)據(jù)集特征的降維有助于快速可視化數(shù)據(jù);
- 通過(guò)處理多重共線性消除冗余特征。
降維的缺點(diǎn):
- 由于降維可能會(huì)丟失一些數(shù)據(jù);
- 在主成分分析(PCA)降維技術(shù)中,有時(shí)需要考慮多少主成分是難以確定的,往往使用經(jīng)驗(yàn)法則
2.奇異值分解
奇異值分解(Singular Value Decomposition,以下簡(jiǎn)稱SVD)是在機(jī)器學(xué)習(xí)領(lǐng)域廣泛應(yīng)用的算法,它不光可以用于降維算法中的特征分解,還可以用于推薦系統(tǒng),以及自然語(yǔ)言處理等領(lǐng)域。是很多機(jī)器學(xué)習(xí)算法的基石。
sVD可以將一個(gè)矩陣A分解為三個(gè)矩陣的乘積:
一個(gè)正交矩陣U(orthogonal matrix),
一個(gè)對(duì)角矩陣(diagonal matrix) Σ \Sigma Σ
一個(gè)正交矩陣V的轉(zhuǎn)置
分解的作用:線性變換 = 旋轉(zhuǎn) + 拉伸 +旋轉(zhuǎn)
SVD分解可以將一個(gè)矩陣進(jìn)行分解,對(duì)角矩陣對(duì)角線上的特征值遞減存放,而且奇異值的減少特別的快,在很多情況下,前10%甚至1%的奇異值的和就占了全部的奇異值之和的99%以上的比例。
也就是說(shuō),對(duì)于奇異值,它跟我們特征分解中的特征值類似,我們也可以用最大的k 個(gè)的奇異值和對(duì)應(yīng)的左右奇異向量來(lái)近似描述矩陣。
3.主成分分析
主成分分析( Principal Component Analysis,PCA )是一種降維方法,通過(guò)將一個(gè)大的特征集轉(zhuǎn)換成一個(gè)較小的特征集,這個(gè)特征集仍然包含了原始數(shù)據(jù)中的大部分信息,從而降低了原始數(shù)據(jù)的維數(shù)。
減少一個(gè)數(shù)據(jù)集的特征數(shù)量自然是以犧牲準(zhǔn)確性為代價(jià)的,但降維的訣竅是用一點(diǎn)準(zhǔn)確性換取簡(jiǎn)單性。因?yàn)楦〉臄?shù)據(jù)集更容易探索和可視化,并且對(duì)于機(jī)器學(xué)習(xí)算法來(lái)說(shuō),分析數(shù)據(jù)會(huì)更快、更容易,而不需要處理額外的特征。
PCA識(shí)別在訓(xùn)練集中占最大方差量的軸。
PCA的算法兩種實(shí)現(xiàn)方法:
(1)基于SVD分解協(xié)方差矩陣實(shí)現(xiàn)PCA算法
PCA 減少n維到lk維·
設(shè)有m條n維數(shù)據(jù)將原始數(shù)據(jù)按列組成n行m列矩陣X
第一步是均值歸一化。我們需要計(jì)算出所有特征的均值和標(biāo)準(zhǔn)差,然后做Z值化。
第二步是計(jì)算協(xié)方差矩陣( covariance matrix )) Σ \Sigma Σ,其特征向量就是我們要求解的主成分。
(2)基于特征值分解協(xié)方差矩陣實(shí)現(xiàn)PCA算法
PCA減少n維到k 維:
設(shè)有m條n維數(shù)據(jù),將原始數(shù)據(jù)按列組成n 行m列矩陣X
第一步是均值歸一化。我們需要計(jì)算出所有特征的均值和標(biāo)準(zhǔn)差,然后做z值化。
第二步是計(jì)算協(xié)方差矩陣(covariance matrix)2,其特征向量就是我們要求解的主成分。特征值分解矩陣
對(duì)于矩陣A,有一組特征向量v,將這組向量進(jìn)行正交化單位化,就能得到一組交單位向量。特征值分解,就是將矩陣A 分解為如下式:
A = P Σ P ? 1 {\rm{A = P}}\Sigma {P^{^{ - 1}}} A=PΣP?1
其中,Р是矩陣A的特征向量組成的矩陣,習(xí)則是一個(gè)對(duì)角陣,對(duì)角線上的元素就是特征值。
PCA的缺點(diǎn):
PCA追求的是在降維之后能夠最大化保持?jǐn)?shù)據(jù)的內(nèi)在信息,并通過(guò)衡量在投影方向上的數(shù)據(jù)方差的大小來(lái)衡量該方向的重要性。但是這樣投影以后對(duì)數(shù)據(jù)的區(qū)分作用并不大,反而可能使得數(shù)據(jù)點(diǎn)揉雜在一起無(wú)法區(qū)分。
這也是PCA存在的最大一個(gè)問(wèn)題,這導(dǎo)致使用PCA在很多情況下的分類效果并不好。
4.t-分布領(lǐng)域嵌入算法t-SNE(t-distributedstochastic neighbor embedding)
步驟:
- 數(shù)據(jù)跟PCA一樣在處理之前先做歸一化
- 在低維空間中計(jì)算數(shù)據(jù)所有點(diǎn)與某個(gè)點(diǎn)的相似度
- 將其在映射在t分布函數(shù)的橫軸上
- 計(jì)算高維度與低緯度的相似度矩陣的差異,設(shè)計(jì)loss function,然后用梯度下降來(lái)優(yōu)化它