Mam dwa znormalizowane tensory i muszę obliczyć podobieństwo cosinusa między tymi tensorami. Jak to zrobić z TensorFlow?Jak obliczyć podobieństwo Cosinusa między dwoma tensorami?
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)
Dziękuję dużo za odpowiedź. Czy upraszcza się formułę podobieństwa cosinusa, normalizując najpierw dane wejściowe? Twoja formuła wydaje się mieć mniej rzeczy niż ta z Wikipedii https://en.wikipedia.org/wiki/Cosine_similarity – Matias
Jeśli nie będziesz normalizował pierwszy, to po obliczeniu wewnętrznego produktu a * b musisz podzielić przez produkt norm a i b. Jeśli jednak normalizujesz się z góry, nie musisz tego robić. Wynika to z faktu, że normalize_a = a/|| a || (i podobnie dla b). –
dlaczego nie matmul? –