矩阵向量中两两间欧式距离计算[通俗易懂]

矩阵向量中两两间欧式距离计算[通俗易懂]目标:希望通过的矩阵运算就能得出矩阵向量中两两之间的欧式距离欧氏距离公式:一般而言,我们常见的欧式距离计算公式如下:a,b对应的是两组不同的向量dist(a,b)=(a1−b1)2+(a2−b2)2+⋅⋅⋅(an−bn)2dist(a,b)=\sqrt{(a_1-b_1)^{2}+(a_2-b_2)^{2}+···(a_n-b_n)^{2}}dist(a,b)=(a1​−b1​)2…

大家好,又见面了,我是你们的朋友全栈君。

目标:希望通过的矩阵运算就能得出矩阵向量中两两之间的欧式距离

欧氏距离公式:

  • 一般而言,我们常见的欧式距离计算公式如下:

    • a,b 对应的是两组不同的向量
    • d i s t ( a , b ) = ( a 1 − b 1 ) 2 + ( a 2 − b 2 ) 2 + ⋅ ⋅ ⋅ ( a n − b n ) 2 dist(a,b)=\sqrt{(a_1-b_1)^{2}+(a_2-b_2)^{2}+···(a_n-b_n)^{2}} dist(a,b)=(a1b1)2+(a2b2)2+(anbn)2
  • 事实上对于上面的公式如果我们通过向量的角度来考虑,就会变成是下列形式:

    • a,b 对应的是两组不同的向量
    • d i s t ( a , b ) = d o t ( a , a ) − 2 ∗ d o t ( a , b ) + d o t ( b , b ) dist(a,b) = \sqrt{dot(a,a)-2*dot(a,b)+dot(b,b)} dist(a,b)=dot(a,a)2dot(a,b)+dot(b,b)

假设有下列矩阵 A A A:

  • A = [ a 1 a 2 a 3 b 1 b 2 b 3 ] {A}= \left[{\begin{array}{}{a{_1}}&{a{_2}}&{a{_3}}\\{b{_1}}&{b{_2}}&{b{_3}}\end{array}}\right] A=[a1b1a2b2a3b3]

  • 为了凑出上面的公式:

    • 先计算出 d o t ( A , A ) dot(A,A) dot(A,A) -> A A T {AA^T} AAT

      • A ‾ = [ a 1 a 2 a 3 b 1 b 2 b 3 ] [ a 1 b 1 a 2 b 2 a 3 b 3 ] = [ ( a 1 ) 2 + ( a 1 ) 2 + ( a 1 ) 2 ( a 1 ) ( b 1 ) + ( a 2 ) ( b 2 ) + ( a 3 ) ( b 3 ) ( a 1 ) ( b 1 ) + ( a 2 ) ( b 2 ) + ( a 3 ) ( b 3 ) ( b 1 ) 2 + ( b 2 ) 2 + ( b 3 ) 2 ] \overline{A} = \left[{\begin{array}{}{a{_1}}&{a{_2}}&{a{_3}}\\{b{_1}}&{b{_2}}&{b{_3}}\end{array}}\right] \left[{\begin{array}{}{a{_1}}&{b{_1}} \\ {a{_2}}&{b{_2}} \\ {a{_3}}&{b{_3}} \end{array}}\right] = \left[{\begin{array}{}{(a{_1})^2+(a{_1})^2+(a{_1})^2}&{(a{_1})(b{_1})+(a{_2})(b{_2})+(a{_3})(b{_3})} \\{(a{_1})(b{_1})+(a{_2})(b{_2})+(a{_3})(b{_3})} & {(b{_1})^2+(b{_2})^2+(b{_3})^2} \end{array}}\right] A=[a1b1a2b2a3b3]a1a2a3b1b2b3=[(a1)2+(a1)2+(a1)2(a1)(b1)+(a2)(b2)+(a3)(b3)(a1)(b1)+(a2)(b2)+(a3)(b3)(b1)2+(b2)2+(b3)2]
    • A ‾ \overline{A} A对角线:

      • A ‾ . d i a g ( ) \overline{A}.diag() A.diag() = [ ( a 1 ) 2 + ( a 2 ) 2 + ( a 3 ) 2 ( b 1 ) 2 + ( b 2 ) 2 + ( b 3 ) 2 ] \left[{\begin{array}{}{(a{_1})^2+(a{_2})^2+(a{_3})^2} & {(b{_1})^2+(b{_2})^2+(b{_3})^2}\end{array}}\right] [(a1)2+(a2)2+(a3)2(b1)2+(b2)2+(b3)2]
    • 对对角线矩阵进行一些变换

      • A ‾ 1 \overline{A}{_1} A1 = [ ( a 1 ) 2 + ( a 2 ) 2 + ( a 3 ) 2 ( b 1 ) 2 + ( b 2 ) 2 + ( b 3 ) 2 ] T \left[{\begin{array}{}{(a{_1})^2+(a{_2})^2+(a{_3})^2} & {(b{_1})^2+(b{_2})^2+(b{_3})^2}\end{array}}\right]^T [(a1)2+(a2)2+(a3)2(b1)2+(b2)2+(b3)2]T [ 1 1 ] \left[{\begin{array}{}1 & 1\end{array}}\right] [11]
      • = [ ( a 1 ) 2 + ( a 2 ) 2 + ( a 3 ) 2 ( a 1 ) 2 + ( a 2 ) 2 + ( a 3 ) 2 ( b 1 ) 2 + ( b 2 ) 2 + ( b 3 ) 2 ( b 1 ) 2 + ( b 2 ) 2 + ( b 3 ) 2 ] \left[{\begin{array}{}{(a{_1})^2+(a{_2})^2+(a{_3})^2} & {(a{_1})^2+(a{_2})^2+(a{_3})^2} \\ {(b{_1})^2+(b{_2})^2+(b{_3})^2} & {(b{_1})^2+(b{_2})^2+(b{_3})^2} \end{array}}\right] [(a1)2+(a2)2+(a3)2(b1)2+(b2)2+(b3)2(a1)2+(a2)2+(a3)2(b1)2+(b2)2+(b3)2]
      • A ‾ 2 \overline{A}{_2} A2 = [ 1 1 ] T \left[{\begin{array}{}1 & 1\end{array}}\right]^T [11]T [ ( a 1 ) 2 + ( a 2 ) 2 + ( a 3 ) 2 ( b 1 ) 2 + ( b 2 ) 2 + ( b 3 ) 2 ] \left[{\begin{array}{}{(a{_1})^2+(a{_2})^2+(a{_3})^2} & {(b{_1})^2+(b{_2})^2+(b{_3})^2}\end{array}}\right] [(a1)2+(a2)2+(a3)2(b1)2+(b2)2+(b3)2]
      • = [ ( a 1 ) 2 + ( a 2 ) 2 + ( a 3 ) 2 ( b 1 ) 2 + ( b 2 ) 2 + ( b 3 ) 2 ( a 1 ) 2 + ( a 2 ) 2 + ( a 3 ) 2 ( b 1 ) 2 + ( b 2 ) 2 + ( b 3 ) 2 ] \left[{\begin{array}{}{(a{_1})^2+(a{_2})^2+(a{_3})^2} & {(b{_1})^2+(b{_2})^2+(b{_3})^2} \\ {(a{_1})^2+(a{_2})^2+(a{_3})^2} & {(b{_1})^2+(b{_2})^2+(b{_3})^2} \end{array}}\right] [(a1)2+(a2)2+(a3)2(a1)2+(a2)2+(a3)2(b1)2+(b2)2+(b3)2(b1)2+(b2)2+(b3)2]
    • 经过了上面的处理,我们就可以得出上述的公式了

      • d i s t ( A ) = A ‾ 1 + A ‾ 2 − 2 A ‾ dist(A) = {\overline{A}{_1}} + {\overline{A}{_2}} – {\overline{2A}} dist(A)=A1+A22A
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150907.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月19日 上午10:36
下一篇 2022年6月19日 上午10:46


相关推荐

  • vue刷新后数据消失_vue数据更新页面不更新

    vue刷新后数据消失_vue数据更新页面不更新vue页面刷新

    2025年6月13日
    6
  • 如何区别标准POE交换机和非标POE交换机[通俗易懂]

    如何区别标准POE交换机和非标POE交换机[通俗易懂]通俗的说,POE交换机就是支持网线供电的交换机,其不但可以实现普通交换机的数据传输功能还能同时对网络终端进行供电。那么,我们该如何来区别如何区别标准POE交换机和非标POE交换机呢?接下来我们就跟随飞畅科技的小编一起来详细看看吧!一、什么是POE交换机PoE供电交换机是指能够通过网线为远端受电终端提供网络供电的交换机,包含网络交换机和PoE供电两个功能,是PoE供电系统中比较常见的供电设备。二、POE交换机的分类1、标准POE交换机符合IEEE802.3af、802.3at标准,就是标准P..

    2022年10月4日
    8
  • 【免费分享】让思路更清晰,思维导图教程及工具[通俗易懂]

    思维导图,让思路更清晰,结构更完整。当你大脑一片混乱不知道该从什么地方做起,可以试着使用一下思维导图工具。昨天列了一下这一年关于自己提升的一些方面,使用思维导图进行简单的列举,有一些好友希望知道我使用的是那个工具来画思维导图的。下面简单介绍一些思维导图工具,在日常生活和工作中希望能够帮助到你。XMind【离线】XMind是一个开源的脑图项目,可以自由下载使用。有XMind Plus…

    2022年2月28日
    53
  • Mongo散记–聚合(aggregation)& 查询(Query)

    Mongo散记–聚合(aggregation)& 查询(Query)

    2021年12月3日
    36
  • 合理的基尼系数_基尼系数为1表示

    合理的基尼系数_基尼系数为1表示一、基尼指数的概念基尼指数(Gini不纯度)表示在样本集合中一个随机选中的样本被分错的概率。注意:Gini指数越小表示集合中被选中的样本被参错的概率越小,也就是说集合的纯度越高,反之,集合越不纯。当集合中所有样本为一个类时,基尼指数为0.二、基尼系数的计算公式基尼指数的计算公式为:三、计算示例我们分别来计算一下决策树中各个节点基尼系数:以下excel表格记录了Gini系数的计算过程。我们可以看到,GoodBloodCircle的基尼系数是最小的,也就是最不容易犯错误,因此我们应该把这个

    2022年10月13日
    4
  • JS获取字符串的长度

    JS获取字符串的长度文章目录获取字符串的长度描述示例题解获取字符串的长度描述如果第二个参数 bUnicode255F true 则所有字符长度为 1 否则如果字符 Unicode 编码 gt 255 则长度为 2 示例输入 helloworld 牛客 false 输出 17 题解 functionstrL s bUnicode255F letlen s length if bUnicode255F

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号