一个多维空间的规范化,这是什么算法



我不是一个受过训练的统计学家,所以我为一些单词的错误使用道歉。我只是想从Weka最近邻算法中得到一些好的结果。我将在我的解释中使用一些冗余作为一种手段,试图让这个概念得到理解:

有没有一种方法可以规范多维空间,使任意两个实例之间的距离始终与对因变量的影响成比例?

换句话说,我有一个统计数据集,我想使用"最近邻居"算法来查找与指定测试实例最相似的实例。不幸的是,我的初始结果是无用的,因为与因变量弱相关的两个值非常接近的属性会错误地使距离计算产生偏差。

例如,假设你试图根据汽车数据库找到给定汽车的最近邻居:品牌、型号、年份、颜色、发动机尺寸、车门数量。我们直观地知道,品牌、型号和年份对价格的影响比门的数量更大。因此,一辆颜色、车门数量相同的汽车可能不是一辆颜色/车门不同但品牌/型号/年份相同的汽车的近邻。在最近邻距离计算中,可以使用什么算法来适当设置每个自变量的权重,以便距离与因变量在统计上成比例(相关,无论怎样)?

应用:这可以用于购物网站上更准确的"向我展示类似于其他产品的产品"。回到汽车的例子,这将使相同品牌和型号的汽车冒泡到顶部,年份被用作决胜局,然后在同一年份的汽车中,它可能会将气缸数量相同(4或6)的汽车排在门数量相同(2或4)的汽车之前。我正在寻找一种算法方法来推导类似于我直观地知道的权重(make >> model >> year >> engine >> doors)的东西,并实际为它们分配数值,以便在最近邻居搜索类似汽车时使用。

一个更具体的例子:

数据集:

Blue,Honda,6-cylinder
Green,Toyota,4-cylinder
Blue,BMW,4-cylinder

现在找到类似的汽车:

Blue,Honda,4-cylinder

在这个有限的例子中,它将在Blue,Honda,6-cylinder之前匹配Green,Toyota,4-cylinder,因为这两个品牌在统计上几乎是可互换的,并且圆柱体是价格而不是颜色的更强决定因素。宝马的价格会更低,因为该品牌倾向于将价格翻倍,即将商品放置在更大的距离。

最后注意:价格在算法训练期间可用,但在计算期间不可用。

您可能应该为此目的查看Solr/Lucene。Solr提供了一个基于相似性搜索的字段值频率,它已经具有MoreLikeThis功能来查找相似的项目。

对于这种情况,最近邻算法可能不是一个好算法?当您想要对离散值进行分类时,很难定义合理的距离。我认为类似C4.5的算法可能更适合您描述的应用程序。在每一步中,算法都会优化信息熵,因此您将始终选择提供最多信息的特征。

在IEEE网站上找到了一些东西。该算法被称为DKNDAW("具有距离和属性加权的动态k近邻")。我找不到真正的报纸(可能需要付费订阅)。假设属性权重是由算法本身计算的,这看起来非常有希望。

最新更新