actions

ベクトルのなす角

平面空間上では、ふたつのベクトルのなす図形的に求めることができる。 そしてベクトルはさらに、図形とは無関係なベクトルに一般化されるが、この一般的なベクトルでも二つのベクトルのなす角を定義することができ、それにはベクトルの長さと内積を用いる。

定義と性質

任意のでないベクトル [math]x,y[/math] について、次の値がベクトルのなす角となる。

[math] \theta = \mathrm {Arccos} \frac{\langle x,y \rangle}{||x|| \cdot ||y||} [/math]

<x, y> は x, y内積、||x|| は xノルム(長さ)である。主値は 0 ≦ θπ とするのが普通である。

ベクトルのなす角が 0 の場合、二つのベクトルは一次従属すなわち方向が同じであり、π/2 の場合は直交する。

類似度

ベクトルのなす角 θ の余弦である次の値をベクトルの類似度として、以下を定義する。

[math] \cos \theta = \frac{\langle x,y \rangle}{||x|| \cdot ||y||} [/math]

この値は0から1の間の値を取るが、2つのベクトルx, yの向きが等しい(一次従属)ほど1に近づき、類似していることが分かる。

n個の要素をもつデータをn次のベクトル空間に落とし込み、それらがどれだけ類似しているかを比べるのにこの性質が利用されることがあり、特にcos類似度と呼ばれる。 この類似度を高速に算出するアルゴリズムにMinHashEnglish版などがあり、文章間の類似度判定などに用いられる。