分别考虑形状(m,m)和(n,n)的输入矩阵X和Y。作为输出,我们需要给出一个(mn,mn)形矩阵,使之与两个矩阵中的相应项相乘。 这两个矩阵X和Y表示转移矩阵。下面的例子可以用来说明所需的输出。这里,X是3*3矩阵,Y是2*2矩阵。在
Matrix X
--------------
x1 x2 x3
x1| a b c
x2| d e f
x3| g h i
Matrix Y
--------------
y1 y2
y1| j k
y2| l m
Matrix Z (Output)
----------------------------------------
x1y1 x1y2 x2y1 x2y2 x3y1 x3y2
x1y1| aj ak bj bk cj ck
x1y2| al am bl bm cl cm
x2y1| dj dk ej ek fj fk
.
.
以下是我为此任务编写的非矢量化函数:
^{pr2}$我确实得到了所需的输出,但意识到非矢量化的版本会非常慢。使用Numpy将计算矢量化的最佳方法是什么。在
对于那些对为什么需要这种计算感兴趣的人。它是由组成转移矩阵构成因子隐马尔可夫模型的转移矩阵所必需的。在
这是Kronecker product,请参阅numpy文档中的here。在
相关问题 更多 >
编程相关推荐