在NLP中,特征的维度总是很大.例如,对于一个项目,特征的维度几乎是20万(p = 20,000),每个特征是0-1整数,以显示特定单词或二元组是否在纸上呈现(一篇论文)是R ^ {p} $)中的数据点$ x \.
我知道功能之间的冗余是巨大的,因此减小尺寸是必要的.我有三个问题:
1)我有10万个数据点(n = 10,000),每个数据点有10万个特征(p = 10,000).进行降维的有效方法是什么?R ^ {n\times p} $中的矩阵$ X \是如此巨大,以至于PCA(或SVD,截断的SVD都可以,但我不认为SVD是减少二进制特征尺寸的好方法)和Bag单词(或K-means)很难直接在$ X $上进行(当然,它很稀疏).我没有服务器,我只是用我的电脑:-(.
2)如何判断两个数据点之间的相似性或距离?我认为欧几里德距离可能不适用于二进制特征.L0规范怎么样?你用什么?
3)如果我想使用SVM机器(或其他内核方法)进行分类,我应该使用哪个内核?
非常感谢!
text nlp machine-learning dimension-reduction dimensionality-reduction