我正在尝试找出一种方法来将Facebook用户表示为一个向量。我决定将用户的不同属性/参数堆叠成一个大向量(例如,年龄是一个大小为100的向量,其中100是可能的最大年龄,如果你50岁,那么向量的头50个值将是1,就像温度计一样)。但我无法找到一种方法来将Facebook的兴趣也表示为向量,它们是一组词语,代表所有词语的空间非常大,我不能采用类似词袋模型的方法。有人知道我应该如何进行吗?我在这方面还是新手,任何参考资料都会非常受欢迎。
如果您想对这个问题投反对票,请告诉我哪里有问题,以便我可以改进措辞和上下文。
谢谢
回答:
“正确”的方法取决于你的学习算法是什么以及决策问题是什么。
然而,通常最好是将年龄表示为一个单一的数值特征,而不是100个指示特征。这样,学习算法就不必学习这百个特征之间的关系(这些关系是内置的),而且问题维度减少了99,这将使一切变得更好。
为了建模兴趣,你可能想要从一个极高维度的词袋模型开始,然后使用各种选项来降低维度:
- 使用一般的降维技术,如主成分分析(PCA)或更智能的非线性方法,包括核主成分分析(Kernel PCA)或各种非线性方法:参见维基百科关于降维的概述和关于具体非线性技术的介绍
- 通过主题模型处理,并使用学习到的主题权重作为你的特征;例子包括潜在语义分析(LSA)、潜在Dirichlet分配(LDA)、层次Dirichlet过程(HDP)等更多方法