当前位置:  开发笔记 > 人工智能 > 正文

K最近邻算法怀疑

如何解决《K最近邻算法怀疑》经验,为你挑选了3个好方法。

我是人工智能的新手.我理解K最近邻算法以及如何实现它.但是,你如何计算不规模的东西的距离或重量?

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

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

提前感谢您的关注.

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

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

因此,现在一个人将他/她最喜欢的食物作为汉堡进入,我将预测他/她是否会在我的餐厅吃饭.忽略其他因素,并且基于我的(训练)先前的知识库,常识告诉我,与他进入披萨或薯条相比,这个特定领域最喜欢的食物的k个最近邻居的距离更接近.

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

哦,每个人都提出了一个很好的答案,但我只能接受一个.在那种情况下,我明天会接受票数最高的那个.再次感谢大家.



1> SquareCog..:

将您收集数据的所有食物表示为"维度"(或表格中的列).

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

          Burger  |    Pizza  |   Fries   | Burritos |  Likes my food
person1     1     |        0  |       1   |     1    |      1
person2     0     |        0  |       1   |     0    |      0
person3     1     |        1  |       0   |     1    |      1
person4     0     |        1  |       1   |     1    |      0

现在,给一个新人,有关他喜欢的一些食物的信息,你可以使用一个简单的措施测量与其他人的相似性,例如Pearson Correlation Coefficient,或Cosine Similarity等.

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

有关此问题的更多高级信息,请查看"协作过滤"(但我会警告您,它会得到数学).



2> chaos..:

嗯,"最近"意味着你有一些衡量标准可以或多或少地"遥远"."汉堡","披萨"和"薯条"的量化并不是一个KNN问题,而是基本系统建模.如果您有一个系统,您正在进行分析,其中'汉堡','披萨'和'薯条'是术语,系统存在的原因将决定它们如何量化 - 如果你是试图找出如何获得最佳品味和最少的卡路里,然后ta-da,你知道你的指标是什么.(当然,"最佳品味"是主观的,但这是另一组问题.)

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



3> dommer..:

这是AI中知识表示的问题之一.主观上扮演着重要角色.例如,您和我是否同意汉堡,比萨饼和薯条的"亲密度"?

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

关键可能是尝试确定您要比较的功能.例如,如果您正在比较健康食品,您可能会得到更客观的东西.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有