什么是距离敏感数据,它与其他数据有何不同?任何示例都会有所帮助
Posted
技术标签:
【中文标题】什么是距离敏感数据,它与其他数据有何不同?任何示例都会有所帮助【英文标题】:What is a Distance Sensitive Data how it Differs from other Data? Any Examples will be helpful 【发布时间】:2019-04-10 17:49:12 【问题描述】:我正在阅读有关分类算法 KNN 的内容,并遇到了一个术语距离敏感数据。我无法找到距离敏感数据到底是什么,它的分类是什么,如何判断我们的数据是否对距离敏感?
【问题讨论】:
【参考方案1】:假设 xi 和 xj 是在情况 i 和 j 中观察到的特征的向量。那么,你可能知道,kNN 是基于距离 ||xi-xj||,比如欧几里得。
现在如果 xi 和 xj 只包含一个特征,即个人身高(以米为单位),我们很好,因为没有其他“竞争”功能。假设接下来我们加上以千为单位的年薪。因此,我们查看向量之间的距离,例如 (1.7, 50000) 和 (1.8, 100000)。
然后,在欧几里得距离的情况下,显然薪水特征支配了身高,这几乎就像我们单独使用薪水特征一样。也就是说,
||xi-xj||2 ≈ | 50000-100000|.
但是,如果这两个功能实际上具有相似的重要性,那么我们做得很差。如果薪水实际上无关紧要,我们应该单独使用身高,那就更糟了。有趣的是,在弱条件下,即使在如此糟糕的情况下,我们的分类器仍然具有良好的属性,例如通用一致性。问题是在有限样本中,我们的分类器性能很差,所以收敛很慢。
因此,为了解决这个问题,可能需要考虑不同的距离,以便对比例做一些事情。通常人们会标准化(将均值设为 0,方差设为 1)每个特征,但这也不是一个完整的解决方案。有各种建议可以做什么(例如,请参阅here)。
另一方面,基于决策树的算法不会受此影响。在这些情况下,我们只是寻找分割变量的点。例如,如果薪水采用 [0,100000] 中的值并且拆分为 40000,则 Salary/10 将在 4000 处拆分,这样结果就不会改变。
【讨论】:
谢谢你这么好的解释。我有一些疑问: 1.所以通过使用 StandardScaler 这个问题可以解决。对吗? @AmandeepSingh,它可能会有所帮助,但不一定能完全解决问题。假设我们有两个标准化特征 x1 和 x2。进一步假设我们正在处理一个回归问题,并且真实模型是线性的,并且由 y=50x1+x2+u 给出。因此,即使 x1 和 x2 的比例相同,x1 也是“更重要”的 50 倍。但是,通过查看 (x1,x2) 之间的欧几里得距离,我们将平等对待它们,性能会受到影响。 那么以上面的真实模型为例,正确的方法是什么? 使用加权距离代替标准欧几里得距离,但问题是人们永远不知道正确的权重。正如我在回答中所说,“有各种各样的建议可以做什么”。有关几个示例,请参阅 en.wikipedia.org/wiki/…。还有更多。以上是关于什么是距离敏感数据,它与其他数据有何不同?任何示例都会有所帮助的主要内容,如果未能解决你的问题,请参考以下文章
什么是 kthreadd 进程和子进程以及它与 init 和子进程有何不同