**
最近刷題看到特徵降維相關試題,發現自己了解的真是太少啦,只知道最簡單的降維方法,這裡列出了常見的降維方法,有些演算法並沒有詳細推導。特徵降維方法包括:lasso,pca,小波分析,lda,奇異值分解svd,拉普拉斯特徵對映,sparseautoencoder,區域性線性嵌入lle,等距對映isomap。
lasso(least absolute shrinkage and selection operator, tibshirani(1996))
該方法是一種壓縮估計,通過構造乙個罰函式得到乙個較為精煉的模型,使得壓縮一些係數,同時設定一些係數為零。英雌保留了子集收縮的優點,,是一種處理具有復共線性資料的有偏估計。lasso 的基本思想是在回歸係數的絕對值之和小於乙個常數的約束條件下,使殘差平方和最小化,從而能夠產生某些嚴格等於 0 的回歸係數,得到可以解釋的模型。
pca(principal component analysis)是一種常用的資料分析方法。pca通過線性變換將原始資料變換為一組各維度線性無關的表示,可用於提取資料的主要特徵分量,常用於高維資料的降維。
設有m條n維資料。
1)將原始資料按列組成n行m列矩陣x
2)將x的每一行(代表乙個屬性字段)進行零均值化,即減去這一行的均值
3)求出協方差矩陣c=\fracxx^\mathsf
4)求出協方差矩陣的特徵值及對應的特徵向量
5)將特徵向量按對應特徵值大小從上到下按行排列成矩陣,取前k行組成矩陣p
6)y=px即為降維到k維後的資料
pca降維過程請參考
小波分析有一些變換的操作降低其他干擾可以看做是降維。
線性判別式分析(linear discriminant analysis),簡稱為lda。也稱為fisher線性判別(fisher linear discriminant,fld),是模式識別的經典演算法,在2023年由belhumeur引入模式識別和人工智慧領域。
基本思想是將高維的模式樣本投影到最佳鑑別向量空間,以達到抽取分類資訊和壓縮特徵空間維數的效果,投影後保證模式樣本在新的子空間有最大的類間距離和最小的類內距離,即模式在該空間中有最佳的可分離性。
lda與前面介紹過的pca都是常用的降維技術。pca主要是從特徵的協方差角度,去找到比較好的投影方式。lda更多的是考慮了標註,即希望投影後不同類別之間資料點的距離更大,同一類別的資料點更緊湊。
詳細請參考
拉普拉斯特徵對映將處於流形上的資料,在盡量保留原資料間相似度的情況下,對映到低維下表示。
求解廣義特徵向量,取前幾個非零最小特值對應的特向,即為原資料在低維下的表示。
資料**於:
稀疏自編碼就是用少於輸入層神經元數量的隱含層神經元去學習表徵輸入層的特徵,相當於把輸入層的特徵壓縮了,所以是特徵降維。
詳細請參考
在pca演算法中,用到了svd,類似pca,可以看成一類。
locally linear embedding(lle)是一種非線性降維演算法,它能夠使降維後的資料較好地保持原有流形結構。lle可以說是流形學習方法最經典的工作之一。很多後續的流形學習、降維方法都與lle有密切聯絡。
lle演算法認為每乙個資料點都可以由其近鄰點的線性加權組合構造得到。演算法的主要步驟分為三步:(1)尋找每個樣本點的k個近鄰點;(2)由每個樣本點的近鄰點計算出該樣本點的區域性重建權值矩陣;(3)由該樣本點的區域性重建權值矩陣和其近鄰點計算出該樣本點的輸出值。具體的演算法流程如圖2所示:
isomap是一種非迭代的全域性優化演算法,通過一種原本試用於歐式空間的演算法mds,達到降維的目的。
PCA 降維方法的簡單使用
from sklearn.decomposition import pca from sklearn.cluster import kmeans import pandas as pd import numpy as np pca.txt是乙個沒有表頭的多維資料,一共有7列,利用pandas讀取 d...
資料降維方法
資料降維基本原理是將樣本點從輸入空間通過線性或非線性變換對映到乙個低維空間,從而獲得乙個關於原資料集緊致的低維表示。資料降維工具箱drtoolbox中眾多演算法,這裡簡單做個分類。因為很多並沒有仔細了解,在此次只對八種方法做分類 主成分分析 principal component analysis,...
常用降維方法
降維方法分為線性核非線性降維,非線性降維又分為基於核函式和基於特徵值的方法。線性降維方法 pca ica lda lfa lpp le的線性表示 基於核函式的非線性降維方法 kpca kica kda 基於特徵值的非線性降維方法 流型學習 isomap lle le lpp ltsa mvu lle...