7

我是人工智能新手。我了解 K 最近邻算法以及如何实现它。但是,您如何计算不在秤上的物体的距离或重量?

例如,年龄的距离可以很容易地计算出来,但是如何计算红色与蓝色的距离?也许颜色是一个不好的例子,因为你仍然可以说使用频率。例如,从汉堡到比萨再到薯条怎么样?

我觉得有一种聪明的方法可以做到这一点。

预先感谢您的关注。

编辑:谢谢大家非常好的答案。它真的很有帮助,我很感激。但我认为必须有一条出路。

我可以这样做吗?假设我正在使用我的 KNN 算法对一个人进行预测,他/她是否会在我提供上述所有三种食物的餐厅用餐。当然,除了简单起见,还有其他因素,对于最喜欢的食物领域,在 300 人中,150 人喜欢汉堡,100 人喜欢披萨,50 人喜欢薯条。常识告诉我最喜欢的食物会影响人们是否吃的决定。

所以现在一个人输入他/她最喜欢的食物作为汉堡,我要预测他/她是否会在我的餐厅吃饭。忽略其他因素,并根据我(培训)以前的知识库,常识告诉我,与他进入比萨饼或薯条相比,这个特定领域最喜欢的食物的 k 最近邻居距离更近的可能性更高。

唯一的问题是我使用了概率,我可能错了,因为我不知道也可能无法计算实际距离。我也担心这个领域对我的预测施加太多/太少的权重,因为距离可能与其他因素(价格、一天中的时间、餐厅是否满员等我可以轻松量化)不成比例,但我猜想我可以通过一些参数调整来解决它。

哦,每个人都提出了一个很好的答案,但我只能接受一个。那样的话,我明天就接受得票最高的那个。再次感谢大家。

4

7 回答 7

11

将您为其收集数据的所有食物表示为“维度”(或表格中的列)。

为您可以收集数据的每个人记录“喜欢”,并将结果放在表格中:

          汉堡 | 披萨 | 薯条 | 墨西哥卷饼 | 喜欢我的食物
人1 1 | 0 | 1 | 1 | 1
人2 0 | 0 | 1 | 0 | 0
人3 1 | 1 | 0 | 1 | 1
人4 0 | 1 | 1 | 1 | 0

现在,给一个新人,有了他喜欢的一些食物的信息,您可以使用简单的度量来衡量与其他人的相似度,例如Pearson 相关系数余弦相似度等。

现在你有办法找到 K 个最近的邻居并做出一些决定..

有关这方面的更多高级信息,请查找“协作过滤”(但我会警告您,它会变得数学化)。

于 2009-03-30T12:58:30.727 回答
7

好吧,“最近”意味着您有一些指标可以衡量事物或多或少“遥远”。“burger”、“pizza”和“fries”的量化与其说是 KNN 问题,不如说是关于基本系统建模的问题。如果你有一个系统,你正在做分析,其中“汉堡”、“披萨”和“薯条”是术语,那么系统存在的原因将确定它们是如何量化的——就像你是试图弄清楚如何以给定的金额获得最好的味道和最少的卡路里,然后ta-da,你知道你的指标是什么。(当然,“最佳品味”是主观的,但这是另一组问题。)

这些术语不能具有内在的可量化性,从而告诉您如何设计分析系统;由您决定要完成的工作并从那里设计指标。

于 2009-03-29T17:20:58.687 回答
5

这是人工智能中知识表示的问题之一。主观上起着很大的作用。例如,你和我会同意汉堡、比萨饼和薯条的“亲密度”吗?

您可能需要一个包含要比较的项目的查找矩阵。如果您可以假设传递性,则可以减少此矩阵,但我认为即使在您的示例中也不确定。

关键可能是尝试确定您要比较的功能。例如,如果您在比较健康方面的食品,您可能会得到更客观的结果。

于 2009-03-29T17:15:45.327 回答
2

如果您查看“集体智能”,您会发现它们分配了一个比例和一个值。这就是 Netflix 比较电影排名等的方式。

您必须通过提出该比例并为每个分配值来定义“接近度”。

于 2009-03-29T17:16:35.030 回答
1

我实际上会向用户展示这些属性对并要求他们定义他们的接近度。你会给他们呈现一个从[同义词..非常外国]或类似的尺度。让很多人这样做,您最终会得到一个广泛接受的非线性属性值的邻近函数。

于 2009-03-30T12:36:34.693 回答
0

没有“最好”的方法来做到这一点。最终,你需要想出一个任意的比例。

于 2009-03-29T17:17:38.210 回答
0

很好的答案。你可以制定一个指标,或者像马拉奇建议的那样,问一些人。要真正做到正确,听起来您需要贝叶斯分析

于 2009-03-30T12:43:25.770 回答