亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

降維方法總結(jié)及python實現(xiàn)

系統(tǒng) 2055 0

為什么要降維?
高維情形下,樣本數(shù)據(jù)稀疏,距離計算困難。
為什么能進行降維?
收集的數(shù)據(jù)雖是高維但與學(xué)習(xí)任務(wù)密切相關(guān)的也許僅僅是某個低維分布

無監(jiān)督降維:

PCA
最大重構(gòu)性:找到一個超平面使得樣本點在這個超平面的投影盡量分開。
PCA也可以看作是逐一篩選方差最大方向;對協(xié)方差矩陣XX^T特征分解,取最大特征值及其特征向量;在去掉該特征值以及特征向量后,繼續(xù)取最大特征值;
關(guān)于PCA的幾個問題:

  1. 投影方向應(yīng)該取多少才好?
    根據(jù)博客https://blog.csdn.net/michael__corleone/article/details/79680183中所說,選取特征值和占總特征值的80%

  2. PCA為什么需要去中心化?
    根據(jù)方差公式,如果沒有事先進行去中心化后,在計算過程中也會去減去均值,增大計算復(fù)雜度

注意點:(1)特征根的大小決定了我們感興趣信息的多少。即小特征根往往代表了噪聲,但實際上,向小一點的特征根方向投影也有可能包括我們感興趣的數(shù)據(jù); (2)特征向量的方向是互相正交(orthogonal)的,這種正交性使得PCA容易受到Outlier的影響(3)PCA適用于非監(jiān)督的學(xué)習(xí)的不帶標(biāo)簽(帶標(biāo)簽的樣本,往往用LDA降維)的樣本降維,特別是小樣本問題。廣義認(rèn)為,這類樣本屬性之間的相關(guān)性很大,通過映射,將高維樣本向量映射成屬性不相關(guān)的樣本向量。(4) PCA是一個去屬性相關(guān)性的過程,這里的相關(guān)性主要指的是線性相關(guān)性
python代碼:

            
              from numpy import  *
def loaddata(filename):
    fr=open(filename)
    stringArr=[line.strip().split('\t') for line in fr.readlines()]
    datArr=[map(float,line)for line in stringArr]
    return mat(datArr)

def pca(dataMat,topNfeat=9999999):
    ##去中心化
    meanVals=mean(dataMat,axis=0)
    meanRemoved=dataMat-meanVals
    #計算協(xié)方差矩陣
    covMat=cov(meanRemoved,rowvar=0)
    eigVals,eigVects=linalg.eig(mat(covMat))
    eigValInd=argsort(eigVals)
    ##對特征值進行排序
    eigValInd=eigValInd[:-(topNfeat+1):-1]
    redEigVects=eigVects[:,eigVaInd]
    #將數(shù)據(jù)轉(zhuǎn)換到新空間
    lowDDataMat=meanRemoved*redEigVects
    reconMat=(lowDDataMat*redEigVects.T)+meanVals
    return lowDDataMat,reconMat
dataMat=loaddata('testSet.txt')
lowDMat,reconMat=pca(dataMat,1)
import matplotlib
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ax.scatter(dataMat[:,0].flatten().A[0], dataMat[:,1].flatten().A[0], marker='^',  s = 90 )
ax.scatter(reconMat[:,0].flatten().A[0], reconMat[:,1].flatten().A[0],marker='o', s = 50 , c ='red' )
plt.show() 

            
          

TSNE

TSNE是一種非線性的降維方法,上面的PCA無法解釋特征之間多項式的關(guān)系,t-sne基于領(lǐng)域圖上隨機游走的概率分布來尋找數(shù)據(jù)內(nèi)部結(jié)構(gòu)。
參考鏈接:https://yq.aliyun.com/articles/70733
https://blog.csdn.net/zhangweiguo_717/article/details/70188517
其基本思想是保證降維后分布概率不變

自編碼器
自編碼器是一種能夠通過無監(jiān)督學(xué)習(xí),學(xué)到輸入數(shù)據(jù)高效表示的人工神經(jīng)網(wǎng)絡(luò)。
自編碼器由兩部分組成:
1)編碼器:這部分能將輸入壓縮成潛在空間表征,可以用編碼函數(shù)h=f(x)表示。
2)解碼器:這部分能重構(gòu)來自潛在空間表征的輸入,可以用解碼函數(shù)r=g(h)表示
自編碼器的目標(biāo)就是讓output盡可能等于input,當(dāng)中間隱層只有一層的時候,優(yōu)化的目標(biāo)函數(shù)類似于PCA。
降維方法總結(jié)及python實現(xiàn)_第1張圖片
自動編碼器與PCA的比較
??1)它是一種類似于 PCA 的無監(jiān)督機器學(xué)習(xí)算法。大體上,AutoEncoder可以看作是PCA的非線性補丁加強版,PCA的取得的效果是建立在降維基礎(chǔ)上的。
??2)它要最小化和 PCA 一樣的目標(biāo)函數(shù)。自動編碼器的目標(biāo)是學(xué)習(xí)函數(shù) h(x)≈x。換句話說,它要學(xué)習(xí)一個近似的恒等函數(shù),使得輸出 x^ 近似等于輸入 x。
??3)它是一種神經(jīng)網(wǎng)絡(luò),這種神經(jīng)網(wǎng)絡(luò)的目標(biāo)輸出就是其輸入。自動編碼器屬于神經(jīng)網(wǎng)絡(luò)家族,但它們也和 PCA(主成分分析)緊密相關(guān)。
??總之,盡管自動編碼器與 PCA 很相似,但自動編碼器比 PCA 靈活得多。在編碼過程中,自動編碼器既能表征線性變換,也能表征非線性變換;而 PCA 只能執(zhí)行線性變換。因為自動編碼器的網(wǎng)絡(luò)表征形式,所以可將其作為層用于構(gòu)建深度學(xué)習(xí)網(wǎng)絡(luò)。設(shè)置合適的維度和稀疏約束,自編碼器可以學(xué)習(xí)到比PCA等技術(shù)更有意思的數(shù)據(jù)投影。

正如主成分分析(principal component analysis,PCA)算法,通過降低空間維數(shù)去除冗余,利用更少的特征來盡可能完整的描述數(shù)據(jù)信息。
??實際應(yīng)用中將學(xué)習(xí)得到的多種隱層特征(隱層數(shù)通常多個)與原始特征共同使用,可以明顯提高算法的識別精度
自編碼器的應(yīng)用
??第一是數(shù)據(jù)去噪。
??第二是為進行可視化而降維。
??第三是進行圖像壓縮。
??第四傳統(tǒng)自編碼器被用于降維或特征學(xué)習(xí)。

有監(jiān)督

LDA
Linear Discriminant Analysis(也有叫做Fisher Linear Discriminant)是一種有監(jiān)督的(supervised)線性降維算法。與PCA保持?jǐn)?shù)據(jù)信息不同,LDA是為了使得降維后的數(shù)據(jù)點盡可能地容易被區(qū)分!
假設(shè)原始數(shù)據(jù)表示為X,(m*n矩陣,m是維度,n是sample的數(shù)量)
既然是線性的,那么就是希望找到映射向量a, 使得 a‘X后的數(shù)據(jù)點能夠保持以下兩種性質(zhì):
1、同類的數(shù)據(jù)點盡可能的接近(within class)
2、不同類的數(shù)據(jù)點盡可能的分開(between class)
降維方法總結(jié)及python實現(xiàn)_第2張圖片
所以呢還是上次PCA用的這張圖,如果圖中兩堆點是兩類的話,那么我們就希望他們能夠投影到軸1去(PCA結(jié)果為軸2),這樣在一維空間中也是很容易區(qū)分的。
降維方法總結(jié)及python實現(xiàn)_第3張圖片
思路還是非常清楚的,目標(biāo)函數(shù)就是最后一行J(a),μ(一飄)就是映射后的中心用來評估類間距,s(一瓢)就是映射后的點與中心的距離之和用來評估類內(nèi)距。J(a)正好就是從上述兩個性質(zhì)演化出來的。
因此兩類情況下:
加上a’a=1的條件(類似于PCA)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 四虎新地址 | 欧美一区二区三区在线播放 | 国产亚洲高清在线精品99 | 777色狠狠一区二区三区香蕉 | 日本大臿亚洲香蕉大片 | 99伊人精品 | 国产原创巨作精品 | 国产成人综合亚洲 | 快色视频网站 | 亚洲欧美国产18 | 欧美精品在线播放 | 色婷婷中文字幕 | 国产精品麻豆一区二区 | 国产婷婷色综合成人精品 | 亚洲福利视频精选在线视频 | 老子理论不卡影院6080 | 一级黄色a毛片 | 欧美一级a俄罗斯毛片 | 日韩欧免费一区二区三区 | 伊人久久综合视频 | 婷婷综合激情五月中文字幕 | 久久久国产精品网站 | 在线播放波多野结衣 | 国产成人综合洲欧美在线 | 高清不卡毛片免费观看 | 亚洲欧美一区二区三区在饯 | 国产在线精品福利91香蕉 | 91在线播放视频 | 免费综合网 | 青青青爽在线视频观看 | 精品一区久久 | 欧美在线一区二区三区精品 | 色综合中文字幕天天在线 | 99热国产这里只有精品9九 | a一级日本特黄aaa大片 | 国产精品午夜激爽毛片 | 亚洲成a人v欧美综合天 | 色视频一区二区三区 | 小视频国产| 精品日韩在线视频一区二区三区 | 国产综合社区 |