在NLP中,特徵的維度總是非常大。例如,對於一個項目而言,特徵的維度接近2萬(p = 20,000),並且每個特徵是0-1整數,以顯示特定單詞或雙重字形是否在紙張中呈現(一篇論文是R^{p} $)中的數據點$ x \。在自然語言處理(NLP)中,如何進行有效的降維?
我知道這些特徵之間的冗餘是巨大的,所以降維是必要的。我有三個問題:
1)我有10萬個數據點(n = 10,000),每個數據點有10萬個特徵(p = 10,000)。降低維度的有效方法是什麼? R^{n \ times p} $中的矩陣$ X \如此巨大,以至於PCA(或SVD,截斷SVD都是OK,但我認爲SVD不是減少二值特徵尺寸的好方法)和Bag字(或K-means)很難直接在$ X $上進行(當然,它很稀疏)。我沒有服務器,我只是用我的電腦:-(。
2)如何判斷兩個數據點之間的相似性或距離?我認爲歐幾里得距離可能不適用於二進制特徵。 L0規範怎麼樣?你用什麼? 3)如果我想用SVM機器(或其他內核方法)進行分類,我應該使用哪個內核?
非常感謝!
看起來像這個社會一個很好的問題http://stats.stackexchange.com/ – Leo 2014-11-21 00:37:38