我有一个大小矩阵(n_classes,n_features),我想计算每对类的成对欧氏距离,因此输出将是(n_classes,n_classes)矩阵,其中每个单元格的值为euclidean_distance(class_i) ,class_j)。
我知道有这个scipy空间距离(http://docs.scipy.org/doc/scipy-0.14.0/reference/spatial.distance.html)和sklearn.metric.euclidean距离(http://scikit-learn.org/stable/modules/generated/sklearn.metrics.pairwise.euclidean_distances.html),但我想在Theano软件中使用它,所以我需要一个纯数学公式而不是比计算结果的函数。
例如,我需要一系列的变换,比如A = X * B,D = X.T-X,results = D.T只包含矩阵数学运算而不是函数。答案 0 :(得分:3)
您可以使用numpy广播执行此操作,如this gist所示。将它转换为Theano代码应该是直截了当的,或者仅仅参考上面的@ eickenberg评论,因为他是那个向我展示如何做到这一点的人!