文章目录
矩阵的距离,这里是的是欧几里得距离,其他距离表示方法我们以后再谈,今天进说一下如何计算两个形状相同矩阵之间的距离。
- 创建一个矩阵a和b
![python 线性代数:[8]计算矩阵距离](/2015/06/15/python%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%9A%5B8%5D%E8%AE%A1%E7%AE%97%E7%9F%A9%E9%98%B5%E8%B7%9D%E7%A6%BB/bd70426034a85edfa4889fd44b540923dc547585.jpg)
![python 线性代数:[8]计算矩阵距离](/2015/06/15/python%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%9A%5B8%5D%E8%AE%A1%E7%AE%97%E7%9F%A9%E9%98%B5%E8%B7%9D%E7%A6%BB/35e940df8db1cb13626d5de4df54564e93584b85.jpg)
- 先计算得到他俩的距离矩阵c
![python 线性代数:[8]计算矩阵距离](/2015/06/15/python%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%9A%5B8%5D%E8%AE%A1%E7%AE%97%E7%9F%A9%E9%98%B5%E8%B7%9D%E7%A6%BB/0862c354564e9258e130e7199e82d158cdbf4e85.jpg)
- 距离矩阵的平方,得到矩阵d
![python 线性代数:[8]计算矩阵距离](/2015/06/15/python%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%9A%5B8%5D%E8%AE%A1%E7%AE%97%E7%9F%A9%E9%98%B5%E8%B7%9D%E7%A6%BB/e8112b2ac65c1038be14af35b0119313b17e89a4.jpg)
- 计算矩阵d的迹
![python 线性代数:[8]计算矩阵距离](/2015/06/15/python%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%9A%5B8%5D%E8%AE%A1%E7%AE%97%E7%9F%A9%E9%98%B5%E8%B7%9D%E7%A6%BB/6dc09e0a19d8bc3e880c673d808ba61ea9d34585.jpg)
- 然后将得到的e进行开方得到距离:你可以手动算一下是不是正确。
![python 线性代数:[8]计算矩阵距离](/2015/06/15/python%20%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%9A%5B8%5D%E8%AE%A1%E7%AE%97%E7%9F%A9%E9%98%B5%E8%B7%9D%E7%A6%BB/814b07d8bc3eb13509c3d64ca41ea8d3fc1f4485.jpg)
我们用到的原理就是矩阵的迹的性质,在numpy或者scipy中还有计算距离的函数,我们以后再说
今天用到的所有代码如下:
a=[[0,1],[1,0]]
a=np.array(a)
a
array([[0, 1],
[1, 0]])
b=[[1,1],[1,1]]
b=np.array(b)
b
array([[1, 1],
[1, 1]])
c=a-b
c
array([[-1, 0],
[ 0, -1]])
d=np.dot(c,c)
d
array([[1, 0],
[0, 1]])
e=np.trace(d)
e
2
e**0.5
1.4142135623730951
转载请注明来自DataScience.
邮箱: 675495787@qq.com