有哪些降維方法是可以再將低維空間中的數據映射回高維空間的?

同問。


作為一個充分條件,如果降維對應的優化問題是像min_{g,Y},mathrm{diff}(X,g(Y))這樣的就可以,其中mathrm{diff}(cdot,cdot)是某個差異性度量,X=(mathbf{x}_1,cdots,mathbf{x}_N)inmathbb{R}^{d	imes N}是輸入,Y=(mathbf{y}_1,cdots,mathbf{y}_N)inmathbb{R}^{r	imes N}是降維演算法的輸出。

當找到最優的g後,給一個新的mathbf{y}inmathbb{R}^r,自然能映射回高維空間mathbf{x}=g(mathbf{y})inmathbb{R}^d(效果跟具體演算法有關,不保證好)。

例子:

PCA,對應優化問題是min_{Winmathcal{O}^{d	imes r}}|X-WW^mathrm{T}X|_F^2(實際用的時候要把均值加回去);

形式上更一般的 Autoencoder,對應優化問題是 min_{phi,psi}|X-(psicircphi)(X)|_F^2 ,其中 phipsi 是兩個神經網路。

進一步,如果降維演算法的目標函數不滿足這個條件,那麼當我們有了最優的Y並遇到一個新的mathbf{y}時,我們可以嘗試把 mathbf{y} 對應的mathbf{x}通過最優化求出來。這時候目標函數應該跟降維演算法的目標函數類似,但優化對象變成了mathbf{x}


這個問題關鍵不在演算法,在數據。如果數據分布在高維空間里的一個低維流形上,那麼sparse coding,autoencoder這些都可以做到。


又有人想挑戰香農了么


autoencoder


低維到高維應該不是降維吧

可用核函數方法


推薦閱讀:

銀行數據挖掘研究與實踐
最惹銷售反感的十種數據分析師,進來看看有沒有你
Spark生態圈
一塊石頭存在的意義是什麼?

TAG:演算法 | 數據挖掘 | 機器學習 | 數據降維 |