come esprimere la somiglianza del coseno (http://en.wikipedia.org/wiki/Cosine_similarity)coseno di similitudine, quando uno dei vettori è tutti zeri
quando uno dei vettori è tutti gli zeri?
v1 = [1, 1, 1, 1, 1]
v2 = [0, 0, 0, 0, 0]
Quando si calcola secondo la formula classica otteniamo divisione per zero:
Let d1 = 0 0 0 0 0 0
Let d2 = 1 1 1 1 1 1
Cosine Similarity (d1, d2) = dot(d1, d2)/||d1|| ||d2||dot(d1, d2) = (0)*(1) + (0)*(1) + (0)*(1) + (0)*(1) + (0)*(1) + (0)*(1) = 0
||d1|| = sqrt((0)^2 + (0)^2 + (0)^2 + (0)^2 + (0)^2 + (0)^2) = 0
||d2|| = sqrt((1)^2 + (1)^2 + (1)^2 + (1)^2 + (1)^2 + (1)^2) = 2.44948974278
Cosine Similarity (d1, d2) = 0/(0) * (2.44948974278)
= 0/0
Desidero utilizzare questa misura di similarità in un'applicazione di clustering. E spesso ho bisogno di confrontare tali vettori. Anche [0, 0, 0, 0, 0] vs. [0, 0, 0, 0, 0]
Hai qualche esperienza? Poiché si tratta di una misura di somiglianza (non a distanza) dovrei usare il caso speciale per
d ([1, 1, 1, 1]; [0, 0, 0, 0]) = 0
d ([0, 0, 0, 0, 0], [0, 0, 0, 0, 0]) = 1
che dire
d ([1, 1, 1 , 0, 0]; [0, 0, 0, 0, 0]) =? ecc.