Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Machine learning 高维匹配使用哪种机器学习算法?_Machine Learning - Fatal编程技术网

Machine learning 高维匹配使用哪种机器学习算法?

Machine learning 高维匹配使用哪种机器学习算法?,machine-learning,Machine Learning,比方说,我可以用1000种不同的方式来定义一个人,所以我有1000种特性来描述一个人 问题:鉴于1000个特征,我如何运行机器学习算法来确定最佳匹配或最接近/最相似的人 我尝试了Kmeans,但这似乎更多的是针对两个功能,而不是高维。基本上是在某种程度上满足了您的需求。 由于您的数据具有高维度,因此您应该探索以下方面: 降维-您可能有1000个功能,但其中一些功能可能比其他功能更好。因此,采取某种措施是明智的。最简单的第一个点是保留约90%的数据(即使用足够的特征向量,使90%的能量与其匹配的特

比方说,我可以用1000种不同的方式来定义一个人,所以我有1000种特性来描述一个人

问题:鉴于1000个特征,我如何运行机器学习算法来确定最佳匹配或最接近/最相似的人


我尝试了Kmeans,但这似乎更多的是针对两个功能,而不是高维。

基本上是在某种程度上满足了您的需求。
由于您的数据具有高维度,因此您应该探索以下方面:

  • 降维-您可能有1000个功能,但其中一些功能可能比其他功能更好。因此,采取某种措施是明智的。最简单的第一个点是保留约90%的数据(即使用足够的特征向量,使90%的能量与其匹配的特征值相匹配)。我想你会看到这一点的显著减少
  • 加速K近邻-在高维情况下,有许多方法可以加速K-NN的搜索。这将是一个良好的开端

  • 你基本上是在追求某种幸福。
    由于您的数据具有高维度,因此您应该探索以下方面:

  • 降维-您可能有1000个功能,但其中一些功能可能比其他功能更好。因此,采取某种措施是明智的。最简单的第一个点是保留约90%的数据(即使用足够的特征向量,使90%的能量与其匹配的特征值相匹配)。我想你会看到这一点的显著减少
  • 加速K近邻-在高维情况下,有许多方法可以加速K-NN的搜索。这将是一个良好的开端
  • 距离度量 您可以尝试直接应用距离度量(例如)

    被监督的 如果您知道这些人有多相似,可以尝试以下方法:

    神经网络,方法#1
    • 输入:2倍于人物特征向量(因此有2000个特征)
    • 输出:1个浮点(两个人的相似性)
    • 可扩展性:与人数成线性关系
    有关详细介绍和简单框架,请参见

    神经网络,方法#2 一种更高级的方法称为度量学习

    • 输入:人物特征向量(因此为2000个特征)
    • 输出:k浮动(选择k,但应小于1000)
    对于培训,您必须首先让网络面对面,存储结果,然后让第二个人存储结果,在两个结果中应用您选择的距离度量(如欧几里德距离),然后反向传播错误。

    distance metrics 您可以尝试直接应用距离度量(例如)

    被监督的 如果您知道这些人有多相似,可以尝试以下方法:

    神经网络,方法#1
    • 输入:2倍于人物特征向量(因此有2000个特征)
    • 输出:1个浮点(两个人的相似性)
    • 可扩展性:与人数成线性关系
    有关详细介绍和简单框架,请参见

    神经网络,方法#2 一种更高级的方法称为度量学习

    • 输入:人物特征向量(因此为2000个特征)
    • 输出:k浮动(选择k,但应小于1000)

    对于培训,您必须首先亲自向网络发送结果,然后由第二个人存储结果,并应用您选择的距离度量(例如欧几里德距离)最简单的方法是计算两个人之间的相似性,即计算两个人的特征向量之间的距离。假设所有数据都是数字,您可能希望首先对整个特征数据集进行归一化,以避免任何偏差,然后计算每对人员之间的余弦相似系数。相似性越高,它们就越相似。你也可以尝试其他相似性度量,比如L1 norm.HI@Rohit,你的想法是:对于每个特征,将数据数字化(将单词转换为数字并存储它们的映射),然后对于每个人,比较特征之间的距离。收集每个特征的距离后,对每个特征运行余弦相似性以确定最相关的特征。一旦运行这些,我假设计算总的余弦相似性,并确定哪些余弦相似性最相似,不仅要得到哪些特征最相似,还要得到哪些人?你对两个人相似性的定义是什么?我想最大化两个人共享的特征数。2个匹配的特征将少于5个匹配的特征,等等。如果在优化相似性算法时有其他想法可能会有所帮助,我对此持开放态度。最简单的方法是计算两个人之间的相似性,即计算两个人的特征向量之间的距离。假设所有数据都是数字,您可能希望首先对整个特征数据集进行归一化,以避免任何偏差,然后计算每对人员之间的余弦相似系数。相似性越高,它们就越相似。你也可以尝试其他相似性度量,比如L1 norm.HI@Rohit,你的想法是:对于每个特征,将数据数字化(将单词转换为数字并存储它们的映射),然后对于每个人,比较特征之间的距离。收集每个特征的距离后,对每个特征运行余弦相似性以确定最相关的特征。一旦运行了这些,我假设要计算总的余弦相似性,并确定哪些余弦相似性最相似,而不仅仅是为了得到一个