python的向量表示_python – 机器学习:找到与查询向量最接近的结果

在我看来,您要做的是简单地计算查询与其余数据之间的距离,然后将最接近的N个向量返回到查询中.这是一个搜索问题.

没有排序,您只需测量查询与“数千个向量”之间的距离.最后,您对距离进行排序并获取最小的N值.这些对应于查询中最相似的N个向量.

然后,看看Lp空间上的维基百科页面.在选择适当的指标之前,您需要考虑数据及其表示:

>您使用的是哪种数据?它来自哪里,它代表什么?特征空间是仅由实数组成还是包含二进制值,分类值或所有这些?用于同构和异构数据的Wiki.

对于真正有价值的特征空间,欧几里德距离(L2)通常是使用的选择度量,有20个特征你应该没问题.从这个开始.否则,您可能需要考虑城块距离(L1)或其他指标,如Pearson相关性,余弦距离等.

在执行任何其他操作之前,您可能必须对数据进行一些工程设计.

>功能是否相同?例如x1 = [0,1],x2 = [0,100]

如果没有,请尝试扩展您的功能.这通常是一个试验和错误的问题,因为某些功能可能会有噪音,在这种情况下缩放可能没有帮助.

要解释这一点,请考虑具有两个特征的数据集:高度和重量.如果高度以厘米(10 ^ 3)为单位且重量以千克(10 ^ 1)为单位,那么您应该将cm转换为米,这样两个特征的重量相等.对于具有多种值的特征空间,这通常是一个好主意,这意味着您有两个特征的大量值.理想情况下,您希望所有功能都能正常分布,只需要一点噪音 – 请参阅中心极限定理.

>所有功能都相关吗?

如果您的数据包含连续,分类和二进制值,则可以扩展或标准化数据.使用您对数据的了解来提供适当的表示.这是大部分工作,或多或少是黑色艺术.试错.

作为旁注,基于度量的方法(如knn和kmeans)只是存储数据.学习从记忆结束开始.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值