Ich habe zwei normierte Tensoren und muss die Kosinusähnlichkeit zwischen diesen Tensoren berechnen. Wie mache ich das mit TensorFlow?Wie berechnet man die Cosinus-Ähnlichkeit zwischen zwei Tensoren?
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)
Ihnen für Ihre Antwort viel Dank. Wird die Cosinus-Ähnlichkeitsformel vereinfacht, indem zuerst die Eingaben normiert werden? Ihre Formel scheint weniger Dinge zu haben als die aus Wikipedia https://en.wikipedia.org/wiki/Cosine_similarity – Matias
Wenn Sie nicht zuerst normalisieren, dann nachdem Sie das innere Produkt a * b berechnet haben, müssen Sie durch das Produkt dividieren der Normen von a und b. Wenn Sie jedoch im Voraus normalisieren, müssen Sie dies nicht tun. Dies liegt daran, dass normalize_a = a/|| a || ist (und ähnlich für b). –
warum nicht Matmul? –