我有兩個歸一化張量,我需要計算這些張量之間的餘弦相似度。我如何用TensorFlow做到這一點?如何計算兩個張量之間的餘弦相似度?
cosine(normalize_a,normalize_b)
a = tf.placeholder(tf.float32, shape=[None], name="input_placeholder_a")
b = tf.placeholder(tf.float32, shape=[None], name="input_placeholder_b")
normalize_a = tf.nn.l2_normalize(a,0)
normalize_b = tf.nn.l2_normalize(b,0)
謝謝你很多關於你的答案。餘弦相似性公式是通過首先對輸入進行歸一化來簡化的嗎?你的公式似乎比維基百科的東西少一些https://en.wikipedia.org/wiki/Cosine_similarity – Matias
如果你不會先標準化,那麼在計算內積a * b之後,你必須除以產品a和b的規範。但是,如果您提前正常化,則不需要那樣做。這是因爲normalize_a = a/|| a || (和b類似)。 –
爲什麼不matmul? –