机器学习笔记 - 迹算子(跟踪运算符)

1、什么是矩阵的迹?

        迹是方阵对角线上所有值的总和。主成分分析(PCA)会用到它。

矩阵的迹

        下面这样一个矩阵A。则它的迹为2+7+5=14。

        Numpy 提供了函数 trace() 来计算它:

A = np.array([[2, 9, 8], [4, 7, 1], [8, 2, 5]])
A_tr = np.trace(A)

        求得14。

2、L2范数和迹的性质

        指定矩阵的 Frobenius 范数。 Frobenius 范数相当于矩阵的L2范数(之前的章节讲过)。

        它定义为:

        也可以通过这个公式计算:

        使用python进行测试

np.linalg.norm(A)

        得到17.549928774784245,就是说A的L2范数为17.549928774784245。

        使用迹来计算

np.sqrt(np.trace(A.dot(A.T)))

        结果17.549928774784245。

        性质1:由于矩阵的转置不会改变对角线,因此矩阵的迹等于其转置的迹:

        性质2: 

3、示例

        有如下三个矩阵

        

         计算三个矩阵的点积

A = np.array([[4, 12], [7, 6]])
B = np.array([[1, -3], [4, 3]])
C = np.array([[6, 6], [2, 5]])

np.trace(A.dot(B).dot(C))

np.trace(C.dot(A).dot(B))

np.trace(B.dot(C).dot(A))

         

        迹均为531。 

         

猜你喜欢

转载自blog.csdn.net/bashendixie5/article/details/124302293