数学C / 平面ベクトル

なす角

★ 基礎なす角

問題

のなす角 を求めよ。

ヒントを見る

なす角は内積から。内積と大きさをそれぞれ計算して の値を出す。値から角度を答えるところまで。

解答・解説

方針

。内積と大きさを計算して代入し、 から を求める。

解答

⓪ 発想 — どう考え始めるか。 なす角を求めたい。内積の つの顔を、橋渡しする。

成分から内積を計算する。

大きさも計算する。

定義の顔と等しいとおく。

となる角は?

手順をまとめると、こうだ。

「成分で内積と大きさを出し、 を作り、角を読む。」

内積の つの表現を等しいとおくことで、角度が逆算できる。 これが、なす角の求め方の核心である。

公式なす角

① 内積と大きさを求める。

を計算する。

③ 角を求める。 より

xyOab45°
a=(1,0), b=(1,1) のなす角は45°

まとめ:なす角は「内積の定義を逆に使う」。 を出し、角を読む。 だ。

発展 — 一歩先へ。 高次元の空間には、我々の直感を裏切る性質がある。

「高次元では、ほとんどすべてのベクトルが、互いにほぼ垂直になる。」

信じがたいだろうか。確かめてみよう。

次元空間で、ランダムに 本のベクトルを取る。 そのなす角は、平均して何度になるか。

次元なら、 から まで、いろいろな角が出る。 平均は だが、ばらつきが大きい。

次元でも、まだばらつく。

だが、 次元では?

ほとんどすべてのペアが、 に極めて近くなる。

なぜか。

内積は、成分の積の和だった。

ランダムなベクトルなら、各項 は正にも負にもなる。

個の項が、ランダムに正負を取る。 その和は、打ち消し合って、 の近くに集中する。

(大数の法則、あるいは中心極限定理の効果だ。)

一方、 は、 に比例して大きくなる。

が大きいほど、 に近づく。 つまり、 に近づく。

「高次元空間では、みんな垂直」

これを、次元の呪いの一側面という。

この事実には、恐ろしい含意がある。

「高次元では、すべての点が、互いにほぼ同じ距離にある」

近い点と遠い点の区別がつかなくなる。

機械学習で「最近傍を探す」というアルゴリズムが、高次元では機能しなくなる理由が、これだ。

だが、悪いことばかりでもない。

「ほとんどのベクトルが直交している」ということは、

高次元空間には、ほぼ独立な"方向"が、指数関数的にたくさん詰め込めるということでもある。

だから、 次元のベクトルで、何万もの単語を、互いに区別しながら表現できる。

もし 次元しかなければ、「王」と「女王」と「バナナ」を、区別して配置する余地がない。

高次元は、呪いであると同時に、豊かさでもある。

という、たった つの角度の計算。

その先には、我々の直感が通用しない、広大な高次元の世界が広がっている。

別解

図に描けば、計算せずに角が見える。

つのベクトルを、原点から描いてみよう。

は、横に 、縦に つまり、傾き の方向だ。

傾き の直線は、 軸と をなす。

軸そのものだから、 つのなす角は

内積を計算しなくても、答えが出た。

この問題が「 軸方向」に設定しているのは、まさにこの見通しのよさのためだ。

なぜ、図で分かるのに、わざわざ内積を使うのか。

答え: 図で分からない場合に備えるためだ。

たとえば、 のなす角は?

図を描いても、何度なのかは目分量では分からない。

内積の出番だ。

これも だ!

図では分からなかった角が、計算で確定した。

さらに、 次元でも同じ手順が使える。

次元は図に描きにくい。 だが、内積の公式は、次元に関係なく使える。

そして、 次元でも 次元でも、同じ式で「角度」が定義できる。

次元の単語ベクトルの「なす角」も、この式で計算されている(前問の発展で見たとおり)。

もはや図には描けない。 だが、計算はできる。

「図で見えるものを、計算で置き換える」

それによって、図に描けない世界へ進める。

という、目で見て分かる角。

その計算方法を身につけることが、目に見えない高次元への切符になる。

ポイント

  • 内積(成分)と大きさから角を出す。

よくある間違い

  • を求めて満足し、角度 まで答えない。 から まで出す
  • としてしまう。
  • と書き直したあと、 と混同する。