假设我可以通过1000种不同的方式定义一个人,因此对于一个给定的人,我有1000个特征。
问题: 如何运行机器学习算法,以根据这1000个特征确定最佳匹配,或最相似/最接近的人?
我尝试过Kmeans,但这似乎更适合处理两个特征,而不是高维数据。
回答:
你基本上需要某种K最近邻算法。
由于你的数据是高维的,你应该探索以下内容:
- 降维 – 你可能有1000个特征,但其中一些可能比其他特征更好。因此,应用某种降维方法将是明智之举。最简单且最先考虑的起点将是主成分分析(PCA),它可以保留大约90%的数据(即使用足够的特征向量,这些特征向量与其匹配的特征值一起匹配90%的能量)。我假设你会从中看到显著的降维效果。
- 加速的K最近邻 – 在高维情况下,有许多方法可以加速K-NN的搜索。K-D树算法将是一个好的起点。