数据预处理Part9——数据降维
文章目錄
- 1. 什么是數(shù)據(jù)降維?
- 2. 為什么要進(jìn)行數(shù)據(jù)降維?
- 3. 降維是如何實(shí)現(xiàn)的?
- 4. sklearn中的降維算法
- 4.1 主成分分析PCA
- 4.2 因子分析FA
- 4.3 獨(dú)立成分分析ICA
- 5. 特征選擇和數(shù)據(jù)降維有什么區(qū)別?
- 6. 總結(jié)
1. 什么是數(shù)據(jù)降維?
??想象這樣一種場景:我們正通過電視而非現(xiàn)場觀看體育比賽,在電視的純平顯示器上有一個(gè)足球。顯示器大概包含了100萬像素,而足球則是可能由一千個(gè)像素組成。在比賽中,我們更關(guān)注的是球的位置。人的大腦要想了解比賽的進(jìn)展,就需要了解球在運(yùn)動(dòng)場中的位置。在這個(gè)過程中,人們已經(jīng)將數(shù)據(jù)從一百萬維降為三維。
??在上述體育比賽的例子中,人們面對的原本是百萬像素的數(shù)據(jù),但是只有球的三維位置才最重要,這就被稱為降維。在低維下,數(shù)據(jù)更容易進(jìn)行處理。另外,其相關(guān)特征可能在數(shù)據(jù)中更明確的顯示出來。
??維度指的就是樣本的數(shù)量或者特征的數(shù)量。一般無特別說明,指的都是特征數(shù)量。降維算法中的降維,指的就是降低特征矩陣中特征的數(shù)量。
2. 為什么要進(jìn)行數(shù)據(jù)降維?
??降維的目的是為了讓算法運(yùn)算更快,效果更好。降維可以使數(shù)據(jù)集變得更易使用,對于數(shù)據(jù)量較大的數(shù)據(jù)集,我們可以通過降維降低模型算法的計(jì)算開銷,與此同時(shí),去除掉數(shù)據(jù)集中無用的噪聲數(shù)據(jù),而且少量的特征也可能使得模型解釋起來簡單易懂。
3. 降維是如何實(shí)現(xiàn)的?
??假設(shè)我們現(xiàn)在有一組簡單的數(shù)據(jù),包含兩個(gè)特征X1和X2,三個(gè)樣本數(shù)據(jù)的坐標(biāo)點(diǎn)分別為(1,1),(2,2),(3,3)。我們可以讓X1和X2分別作為兩個(gè)特征向量,很輕松就可以用一個(gè)二維平面來描述這組數(shù)據(jù)。這組數(shù)據(jù)現(xiàn)在每個(gè)特征的均值都為2,方差則等于:
(X1)var=(X2)var=(1?2)2+(2?2)2+(3?2)22=1(X_1)_{var} = (X_2)_{var} = {(1-2)^2 +(2-2)^2+(3-2)^2\over2} = 1 (X1?)var?=(X2?)var?=2(1?2)2+(2?2)2+(3?2)2?=1
??每個(gè)特征的數(shù)據(jù)一模一樣,因此方差也都為1,數(shù)據(jù)方差總和是2.
??現(xiàn)在我們的目標(biāo)是:只用一個(gè)特征向量來描述這組數(shù)據(jù),即將二維數(shù)據(jù)降為一維數(shù)據(jù),并且盡可能地保留信息量,能讓數(shù)據(jù)的總方差盡量靠近2。于是我們將原本的直角坐標(biāo)系逆時(shí)針旋轉(zhuǎn)45度,形成了新的直接坐標(biāo)系,新特征向量X1* 和 X2*。在這個(gè)新坐標(biāo)系中,三個(gè)樣本數(shù)據(jù)的坐標(biāo)點(diǎn)可以表示為(2\sqrt22?,0),(22\sqrt22?,0),(32\sqrt22?,0)。
??可以注意到,X2* 上的數(shù)值此時(shí)都變成0,因此X2* 明顯不帶有任何有效信息了。此時(shí)X1*特征上的數(shù)據(jù)均值為222\sqrt222?,而方差則可表示成:
(X1)var?=(2?22)2+(22?22)2+(32?22)22=2(X_1)^*_{var} = {(\sqrt2-2\sqrt2)^2 +(2\sqrt2-2\sqrt2)^2+(3\sqrt2-2\sqrt2)^2\over2} = 2 (X1?)var??=2(2??22?)2+(22??22?)2+(32??22?)2?=2
??此時(shí),我們根據(jù)信息含量的排序,取信息含量大的一個(gè)特征,因?yàn)槲覀兿胍囊痪S數(shù)據(jù)。所以我們可以將X2* 刪除,剩下的X1* 就代表了曾經(jīng)需要兩個(gè)特征來代表的三個(gè)樣本點(diǎn)。通過旋轉(zhuǎn)原有特征向量組成的坐標(biāo)軸來找到新特征向量和新坐標(biāo)系,我們將三個(gè)樣本點(diǎn)的信息壓縮到一條直線上,實(shí)現(xiàn)了二維變一維,并且盡量保留原始數(shù)據(jù)的信息。這樣就實(shí)現(xiàn)一個(gè)簡單的降維。
| 1 | 1 | 2\sqrt22? | 0 |
| 2 | 2 | 222\sqrt222? | 0 |
| 3 | 3 | 323\sqrt232? | 0 |
4. sklearn中的降維算法
4.1 主成分分析PCA
? ?第一種降維的方法成為主成分分析(Principal Cpmponent Analysis,PCA)。在PCA中,數(shù)據(jù)從原來的坐標(biāo)系轉(zhuǎn)換到了新的坐標(biāo)系,新坐標(biāo)系的選擇是由數(shù)據(jù)本身決定的。第一個(gè)新坐標(biāo)軸選擇的是原始數(shù)據(jù)中方差最大的方向,第二個(gè)新坐標(biāo)軸的選擇和第一個(gè)坐標(biāo)軸正交且具有最大方差的方向。該過程一直重復(fù),重復(fù)次數(shù)為原始數(shù)據(jù)中特征的數(shù)目。我們會發(fā)現(xiàn),大部分方差都包含在最前面的幾個(gè)新坐標(biāo)軸中。因此我們可以忽略余下的坐標(biāo)軸,即對數(shù)據(jù)進(jìn)行了降維處理。
4.2 因子分析FA
??另一種降維技術(shù)是因子分析。在因子分析中,我們假設(shè)在觀察數(shù)據(jù)的生成中有一些觀察不到的隱變量。假設(shè)觀察數(shù)據(jù)是這些隱變量和某些噪聲的線性組合。那么隱變量的數(shù)據(jù)可能比觀察數(shù)據(jù)的數(shù)目少,也就是說通過找到隱變量就可以實(shí)現(xiàn)數(shù)據(jù)的降維。
4.3 獨(dú)立成分分析ICA
??還有一種降維技術(shù)就是獨(dú)立成分分析(Independent Component Analysis,ICA)。ICA假設(shè)數(shù)據(jù)是從N個(gè)數(shù)據(jù)源生成的,這一點(diǎn)和因子分析有些類似。假設(shè)數(shù)據(jù)為多個(gè)數(shù)據(jù)源的混合觀察結(jié)果,這些數(shù)據(jù)源之間在統(tǒng)計(jì)上是相互獨(dú)立的,而在PCA中只假設(shè)數(shù)據(jù)是不相關(guān)的。同因子分析一樣,如果數(shù)據(jù)源的數(shù)目少于觀察數(shù)據(jù)的數(shù)目,則可以實(shí)現(xiàn)降維過程。
??在上述三種降維技術(shù)中,PCA的應(yīng)用目前最為廣泛。由于篇幅原因,我會在另一篇博客中著重講解上面三種方法的原理以及代碼實(shí)現(xiàn)。
5. 特征選擇和數(shù)據(jù)降維有什么區(qū)別?
??特征工程中有三種方式:特征提取,特征創(chuàng)造和特征選擇.
??特征選擇是從已存在的特征中選取攜帶信息量最多的,選完之后的特征依然具有可解釋性,我們依然知道這個(gè)特征在原數(shù)據(jù)的哪個(gè)位置,代表原數(shù)據(jù)上的什么含義。
??降維,是將已存在的特征進(jìn)行壓縮,降維完畢后的特征不是原本的特征矩陣中的任何一個(gè)特征,而是通過某些方式組合起來的新特征。通常來說,在新的特征矩陣生成之前,我們無法知曉降維都建立了怎樣的新特征向量,新特征矩陣生成后也不具有可讀性,我們無法判斷新特征矩陣的特征是從元數(shù)據(jù)的什么特征組合而來,新特征雖然帶有原始數(shù)據(jù)的信息,卻已經(jīng)不是原數(shù)據(jù)上代表的含義了。以PCA為代表的降維算法因此是特征創(chuàng)造的一種。
??由此可知,PCA一般不適用與探索特征和標(biāo)簽之間的關(guān)系的模型(如線性回歸),因此無法解釋的新特征和標(biāo)簽之前的關(guān)系不具有實(shí)際意義。在線性回歸模型中,我們使用特征選擇。
6. 總結(jié)
??降維技術(shù)使得數(shù)據(jù)變得更易使用,并且他們往往能夠去除數(shù)據(jù)中的噪聲,使得其他機(jī)器學(xué)習(xí)任務(wù)更加準(zhǔn)確。降維往往作為預(yù)處理步驟,在數(shù)據(jù)應(yīng)用到其他算法之前清洗數(shù)據(jù)。有更多技術(shù)可以用于數(shù)據(jù)降維,在這些技術(shù)中,獨(dú)立成分分析、因子分析和主成分分析比較流行,其中又以主成分分析應(yīng)用最為廣泛。
參考資料:機(jī)器學(xué)習(xí)實(shí)戰(zhàn)
?????菜菜的sklearn課堂
關(guān)聯(lián)文章:
數(shù)據(jù)預(yù)處理Part1——數(shù)據(jù)清洗
數(shù)據(jù)預(yù)處理Part2——數(shù)據(jù)標(biāo)準(zhǔn)化
數(shù)據(jù)預(yù)處理Part3——真值轉(zhuǎn)換
數(shù)據(jù)預(yù)處理Part4——數(shù)據(jù)離散化
數(shù)據(jù)預(yù)處理Part5——樣本分布不均衡
數(shù)據(jù)預(yù)處理Part6——數(shù)據(jù)抽樣
數(shù)據(jù)預(yù)處理Part7——特征選擇
數(shù)據(jù)預(yù)處理Part8——數(shù)據(jù)共線性
總結(jié)
以上是生活随笔為你收集整理的数据预处理Part9——数据降维的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 山东专升本计算机网络(二)
- 下一篇: 小程序swiper点样式