machine-learning - 使用哪种机器学习算法进行高维匹配?

标签 machine-learning

比方说,我可以通过 1000 种不同的方式来定义一个人,所以我对某个特定的人有 1,000 个特征。

问题:在给定 1,000 个特征的情况下,如何运行机器学习算法来确定最佳匹配或最接近/最相似的人?

我尝试过Kmeans,但这似乎更适合 2 个特征,而不是高维度。

最佳答案

你基本上是在追求某种K Nearest Neighbors Algorithm .
由于您的数据具有高维度,您应该探索以下内容:

  1. 降维 - 您可能有 1000 个特征,但其中一些可能比其他特征更好。因此,应用某种 Dimensionality Reduction 是明智之举。 。最简单的第一个起点是 Principal Component Analysis (PCA)它保留了约 90% 的数据(即使用足够的特征向量,将 90% 的能量与其匹配的特征值相匹配)。我假设您会看到此数量的显着减少。
  2. 加速 K 最近邻 - 有许多方法可以加速高维情况下 K-NN 的搜索。 K D Tree Algorithm这将是一个良好的开始。

关于machine-learning - 使用哪种机器学习算法进行高维匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45389438/

相关文章:

machine-learning - 卷积运算的意外结果

python - 期望 FloatTensors,但在类似 MNIST 的任务中得到了 LongTensors

python - 将 Keras 模型导出为 SavedModel 格式

python - 值错误: Input has n_features=10 while the model has been trained with n_features=4261

python - tensorflow 中 nd 数组输入的占位符定义

machine-learning - Tic Tac Toe 的 Q 学习算法

ruby - 是否有迭代编写新程序的程序?

python - 如何使用 set_random_seed 获得相同的结果

machine-learning - 设置卷积神经网络的学习率

python - Keras LSTM 准确率太高