矩阵问题
来源:7-2 使用梯度上升法求解PCA问题

云水轩
2019-08-27
老师你在7.2第二小节转置相乘有点不明白。矩阵相乘明确规定,第一个矩阵的行数要等于第二个矩阵的列数!但是如果转置后明显不相等如何相乘?
写回答
1回答
-
先看第一个式子:
X 是一个 m * n 的矩阵,w 是一个 n 维向量。Xw 是一个 m 维向量。但是,向量和矩阵是不能做乘法的。(Xw).T 相当于将这个 m 维向量转化成了一个矩阵:1*m 的矩阵。(因为把向量看做是矩阵,是m*1的矩阵,所以转置后,是1*m的矩阵)。然后,这个 1*m 的矩阵和X这个m*n的矩阵相乘,得到的是1*n的矩阵。但其实,我们要的是一个向量,也就是再把结果看做是一个 n 维向量。
我们再看第二个式子:
X 是一个 m*n 的矩阵,X.T 是一个 n*m 的矩阵。
Xw,上面分析过了,是一个m维的向量。
一个 n*m 的矩阵,可以直接和一个 m 维向量做乘法。得到的结果就是我们要求的 n 为向量。
这里的关键是:上一个式子是两个矩阵做乘法。下一个式子是矩阵和向量做乘法。当然,对于下一个式子,你也可以理解成是n*m的矩阵和m*1的向量做乘法。
是的,最终结果从矩阵的角度看不一样,一个是1*n的矩阵,一个是n*1的矩阵。但是,我们最重要的结果是一个向量,都是同样的n维向量。所以,下一个式子是更直接的获得这个n维向量的方式。
继续加油!:)
112019-08-27
相似问题