2

X是数据点的矩阵,nd形状。W是一个聚类点矩阵,kd形状。数据点 和每个簇之间的最小距离i可以计算如下:

a_dist = tf.reduce_min(X[i] - W, 0);

在张量流图的方法中如何计算每个数据点和每个簇之间的距离?想到一个 for 循环,但据我了解,张量流中不存在这样的功能。

4

1 回答 1

0

到目前为止,我发现的最有效的方法如下:

################
# Reshape Tensors for Calculation
################
samples = X;
centroids = W;
expanded_vectors = tf.expand_dims(samples, 0)
expanded_centroids = tf.expand_dims(centroids, 1)


################
# Define objective of model
################
distances = tf.reduce_sum( tf.square(tf.sub(expanded_vectors, expanded_centroids)), 2)
min_distances = tf.reduce_min(distances, 0);   
于 2017-02-06T05:38:39.493 回答