【发布时间】:2018-03-04 18:24:23
【问题描述】:
假设我们有人员列表,并希望找到像X 这样的人。
特征向量有3个项目[weight, height, age],我们的列表中有3个人。请注意,我们不知道 C 人的身高。
A: [70kg, 170cm, 60y]
B: [60kg, 169cm, 50y]
C: [60kg, ?, 50y]
找到与 A 最亲近的人的最佳方法是什么?
我的猜测
让我们计算高度的平均值,并使用它来代替未知值。
假设我们计算出170cm 是身高的平均值,并将人C 重新定义为[60kg, ~170cm, 50y]。
现在我们可以找到离 A 最近的人,应该是A, C, B。
问题
现在,问题是我们将C 与猜测的~170cm 放在前面,而不是将B 与已知的169cm 放在一起。
感觉有点不对劲。我们人类比机器更聪明,并且知道C 完全是170cm 的可能性很小。所以,B 最好放在169cm 前面而不是C。
但我们如何计算惩罚?(最好是简单的经验算法)我们是否应该以某种方式惩罚具有未知值的向量?相差多少(也许计算集合中每两个人的身高之间的平均差异)?
当特征向量的维度是N 并且它有K 已知项和U 未知项(K + U = N)时,这种惩罚在一般情况下会是什么样子?
【问题讨论】:
标签: algorithm machine-learning similarity data-science nearest-neighbor