有沒有非線性版本的 矩陣分解,壓縮感知,稀疏編碼?

其實個人認為,經典的非監督學習,如 稀疏編碼,壓縮感知, 矩陣分解,ICA,CCA,PCA等等,都可以看作是某種dimensionality reduction,並且都是線性的dimensionality reduction。

Deep Autoencoder,deep belief net可以看作是非線性的dimensionality reduction,效果要好得多,但沒有什麼理論。

那麼到底可不可能構造出一種既有理論,實際效果又很好的非線性的類似矩陣分解這樣的東西?


「其實個人認為,經典的非監督學習,如 稀疏編碼,壓縮感知, 矩陣分解,ICA,CCA,PCA等等,都可以看作是某種dimensionality reduction」

降維只是它們的一種應用,降維不等於它們本身。

非線性的空間變換有很多現有成果,空間嵌入(包括kernel 理論)、流形(其實也算是一種嵌入吧,不過內容研究得挺豐富,單獨拿出來說說)等等。降維就是找一個低維的空間,想辦法映射過去。有的人整天把降維掛嘴邊,其實重點不在於降維,重點在於找到一個對該問題更接近於線性可分的空間去重構表達,降維還是升維對於分類(或者其它應用)這個核心目標而言並無重點關心的必要。

神經網路每一層即是一次空間變換,目標也是在最後一層能夠進入一個接近線性可分的空間。理論層面確實不夠系統,比不上kernel 和流形這些理論研究的系統性。


這得看題主想要什麼樣的理論。

理論有各種各樣。


PCA 有 KPCA ……


非線性的dimensionality reduction有不少,共同的假設是高維度數據存在於一個低維度的manifold上。具體用什麼方法,哪個模型,還是要取決題主的數據。

比如有

1. Isomap (MDS的非線性版本, 用的是geodesic distance,只在鄰域保持線性);

2. LLE (在非線性空間里保留原始空間的局部相鄰關係和全局的距離關係);

3. Laplacian
eigenmaps (和LLE思路比較相似);

4. Kernel PCA(PCA的非線性版本,嚴格說和以上3個其實不能分為一類);

另外,神經網路里的autoencoder也可以用來做非線性降維。

關於這個問題介紹,維基百科頁面有一些直觀的示意圖,很助於理解:

Nonlinear dimensionality reduction


關於降維,除了線性降維和deep nn之外還有很多演算法。有理論好的,也有實際效果好的。但是任何時候總有一個trade-off,很難有全局意義上最優的演算法。而且理論和應用演算法的發展也不是完全同步的。

非線性的降維演算法有一大類被稱為流形學習(manifold learning)。感覺像是題主說的有理論的非線性降維方法。其基本假設就是數據分布在高維空間中的一個流形上,以此作為存在降維可能性的保證。

思路也大概有兩類,一類是從線性模型入手,加kernel。

另一種是從流形的假設入手。對流形的幾何性質做一定的假設,進而把問題轉化為一個尋找保持一定的高維空間中幾何性質的映射。在此意義下找到最優解。具體到演算法通常可以看做一些局部的線性映射的拼接。比如LLE,Isomap等。但是這類方法的問題主要是:

1 速度和魯棒性比不上PCA。在一些specific domain上的performance又比不上調了很久參的auto-encoder。

2 很多時候只能得到降維後的數據,而無法像PCA或auto-encoder一樣得到一個映射函數。

其實我感覺這個方向研究的原來越少可能的一個原因就是:現有的演算法(主要指線性模型和deep nn兩類)在大多數情況下已經很夠用了。PCA雖然看起來簡單,但是模型簡單有簡單的好處:魯棒性遠遠超過很多非線性的方法。隨便拿到一個常見domain上都能得到不太差的結果。而且線性的模型解得快。

所以具體到一個問題的話,如果不願意花很多精力在降維部分或是沒那麼多數據,那麼PCA已經是一個足夠好的解決手段了。而如果降維是一個關鍵部分,數據足夠多,同時又願意花足夠的精力,那就去調auto-encoder了。

但是unsupervised learning只能說是被看做降維,並不等於降維。我認為可能更多的是關於representation learning。關於unsupervised learning的理論分析應該是關於表示的理論分析,如何有效地學習表示,什麼樣的表示更好,具有更好的transfer和generalization能力。


最簡單的就是在線性模型基礎上加kernel嘛……以上tx……

降維,聚類等等無監督問題,其實沒啥區別。

所以,

其實你的問題就是問,有沒有理論比較嚴密的非線性無監督方法。

進一步的,其實你要的是就是非線性的隱變數模型。

我只能說,有!


推薦閱讀:

深度學習在量化投資方面都有哪些可以借鑒應用的地方?如何結合一些策略方法?
在機器學習領域, 不同框架實現的相同演算法,差別能有多大?
截至2017年3月,音樂和人聲分離的研究有哪些最新進展?
深度学习现在坑还多吗?
卷積神經網路為什麼要加一層降採樣層呢?

TAG:機器學習 | 數字信號處理 | 深度學習DeepLearning |