【问题标题】:Weighted Euclidean Distance while Merging Feature Vectors?合并特征向量时加权欧几里得距离?
【发布时间】:2021-04-03 17:22:36
【问题描述】:

我有两组特征(在机器学习环境中描述图像)。第一组 A 由 3 个特征组成,B 组由 15 个特征组成。

A = [f1, f2, f3]
B = [f4, f5, .., f18]

目前,我只是将两个组连接到一个组合功能组 C:

C = [f1, f2, f3, f4, ..., f18]

我想通过欧几里得距离使用生成的特征组 Cn(nx18 维)比较图像。

dist = np.linalg.norm(C1-Cn)

与 A 相比,B 的特征数量是 A 的 5 倍,我想知道如何在欧几里德距离计算中对组 A 和 B 进行同等加权?我想过做C=A+A+A+A+A+B,或者将A的单位向量和B的单位向量连接起来。这些方法是正确的,还是有更好的方法?

Goal_Dist = np.mean([np.linalg.norm(A1-An), np.linalg.norm(B1-Bn)])

(目标距离作为函数,但是由于某些限制,我只需要通过组合向量 C 来表达这个函数。)

【问题讨论】:

    标签: numpy machine-learning vector euclidean-distance cosine-similarity


    【解决方案1】:

    有一些方法可以解决您遇到的问题。我认为的第一个是使用马氏距离而不是欧几里得,第二个是在连接之前对数据进行缩放,然后对连接矩阵进行计算。

    马氏距离

    马氏距离是一种统计距离度量,它计算维度为 N 的向量点,假设使用协方差矩阵作为比例因子来计算平均值。您可以将其视为标准化的多元应用。当协方差矩阵是单位矩阵时,这会减少到欧几里得距离。你可以进一步阅读here

    欧几里得距离缩放

    在不了解您的特征的情况下,我无法直接引用一种确切的技术。您可以在连接集合之前或之后使用各种缩放器和规范化技术来克服这个问题。但是,您应该根据您的行为和数据结构选择适当的缩放技术。一些有用的“首选”方法是:

    • 标准定标器
    • MinMax 缩放器

    除了标准化或缩放之外,您还可以尝试降维,然后连接集合的等量特征。降维可以用PCA、tSNE、IsoMap、...

    【讨论】:

    • 我同意一切,这取决于你想如何解决这个问题。缩放对于获得有意义的距离是必要的。我想补充一点,您还可以选择使用在向量维数方面不变的最大范数。
    猜你喜欢
    • 2017-01-07
    • 1970-01-01
    • 2013-03-02
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 2011-07-30
    相关资源
    最近更新 更多