我是人工智能的新手。我理解K近邻算法以及如何实现它。但是,如何计算不在标尺上的东西的距离或重量呢?
例如,年龄的距离可以很容易地计算出来,但是如何计算红色和蓝色的距离呢?也许颜色是一个不好的例子,因为你仍然可以说使用频率。比方说汉堡、披萨、薯条怎么样?
我有预感有个聪明的办法。
提前感谢您的关照。
编辑:感谢所有人非常好的回答。这真的很有帮助,我很感激。但我在想,一定有一条出路。
我可以这样做吗?假设我正在使用我的KNN算法来预测一个人是否会在我的餐厅用餐,该餐厅提供上述所有三种食物。当然,还有其他因素,但简单地说,就最喜欢的食物而言,在300人中,150人喜欢汉堡,100人喜欢披萨,50人喜欢薯条。常识告诉我,最喜欢的食物会影响人们是否吃东西的决定。
因此,现在一个人输入他/她最喜欢的食物作为汉堡,我将预测他/她是否会在我的餐厅用餐。忽略其他因素,根据我(训练)之前的知识库,常识告诉我,与进入披萨或薯条相比,这一特定领域最喜欢的食物的k个最近邻居的距离更近的可能性更高。
唯一的问题是,我使用了概率,我可能是错的,因为我不知道,也可能无法计算实际距离。我也担心这个领域会给我的预测增加太多/太少的权重,因为距离可能不会与其他因素(价格、时间、餐厅是否客满等我可以很容易量化的因素)一起衡量,但我猜我可以通过一些参数调整来绕过它。
哦,每个人都提出了一个很好的答案,但我只能接受一个。那样的话,我明天就接受得票率最高的那个。再次感谢你们。
发布于 2009-03-29 17:20:59
嗯,“最近”意味着你有一些指标,在这些指标上,事情可能或多或少是“遥远的”。“汉堡”、“披萨”和“薯条”的量化与其说是一个KNN问题,不如说是一个基本的系统建模问题。如果你有一个系统,其中“汉堡”、“披萨”和“薯条”是术语,那么这个系统存在的原因就是决定它们是如何被量化的--比如,如果你试图找出如何在给定的金钱下获得最好的口感和最少的卡路里,那么,你就知道你的指标是什么了。(当然,“最佳品味”是主观的,但这是另一组问题。)
这些术语没有内在的可量化能力,因此不能告诉你如何设计你的分析系统;而是由你来决定你想要实现什么,并从那里设计度量标准。
发布于 2009-03-29 17:15:45
这是人工智能中知识表示的问题之一。主观上起着很大的作用。例如,你和我会同意汉堡、披萨和薯条的“亲密性”吗?
您可能需要一个包含要比较的项的查找矩阵。如果你能假设传递性,你也许能够减少这个矩阵,但我认为在你的例子中即使是这样也是不确定的。
关键可能是尝试并确定您尝试比较的功能。例如,如果你在比较你的食物对健康的影响,你可能会得到一些更客观的东西。
发布于 2009-03-29 17:16:35
如果你看一下"Collective Intelligence",你会看到他们分配了一个比例和一个值。这就是Netflix比较电影排行榜和类似排名的方式。
你必须定义“贴近度”,通过提出该尺度并为每个尺度赋值。
https://stackoverflow.com/questions/694982
复制相似问题