数学C / 平面ベクトル
なす角
問題
、 のなす角 を求めよ。
ヒントを見る
なす角は内積から。内積と大きさをそれぞれ計算して の値を出す。値から角度を答えるところまで。
解答・解説
方針
。内積と大きさを計算して代入し、 から を求める。
解答
⓪ 発想 — どう考え始めるか。 なす角を求めたい。内積の つの顔を、橋渡しする。
成分から内積を計算する。
大きさも計算する。
定義の顔と等しいとおく。
となる角は?
手順をまとめると、こうだ。
「成分で内積と大きさを出し、 を作り、角を読む。」
内積の つの表現を等しいとおくことで、角度が逆算できる。 これが、なす角の求め方の核心である。
① 内積と大きさを求める。 。、。
② を計算する。
③ 角を求める。 より 。
まとめ:なす角は「内積の定義を逆に使う」。 で を出し、角を読む。 は だ。
発展 — 一歩先へ。 高次元の空間には、我々の直感を裏切る性質がある。
「高次元では、ほとんどすべてのベクトルが、互いにほぼ垂直になる。」
信じがたいだろうか。確かめてみよう。
次元空間で、ランダムに 本のベクトルを取る。 そのなす角は、平均して何度になるか。
次元なら、 から まで、いろいろな角が出る。 平均は だが、ばらつきが大きい。
次元でも、まだばらつく。
だが、 次元では?
ほとんどすべてのペアが、 に極めて近くなる。
なぜか。
内積は、成分の積の和だった。
ランダムなベクトルなら、各項 は正にも負にもなる。
個の項が、ランダムに正負を取る。 その和は、打ち消し合って、 の近くに集中する。
(大数の法則、あるいは中心極限定理の効果だ。)
一方、 と は、 に比例して大きくなる。
が大きいほど、 は に近づく。 つまり、 に近づく。
「高次元空間では、みんな垂直」
これを、次元の呪いの一側面という。
この事実には、恐ろしい含意がある。
「高次元では、すべての点が、互いにほぼ同じ距離にある」
近い点と遠い点の区別がつかなくなる。
機械学習で「最近傍を探す」というアルゴリズムが、高次元では機能しなくなる理由が、これだ。
だが、悪いことばかりでもない。
「ほとんどのベクトルが直交している」ということは、
高次元空間には、ほぼ独立な"方向"が、指数関数的にたくさん詰め込めるということでもある。
だから、 次元のベクトルで、何万もの単語を、互いに区別しながら表現できる。
もし 次元しかなければ、「王」と「女王」と「バナナ」を、区別して配置する余地がない。
高次元は、呪いであると同時に、豊かさでもある。
という、たった つの角度の計算。
その先には、我々の直感が通用しない、広大な高次元の世界が広がっている。
別解
図に描けば、計算せずに角が見える。
つのベクトルを、原点から描いてみよう。
は、横に 、縦に 。 つまり、傾き の方向だ。
傾き の直線は、 軸と をなす。
は 軸そのものだから、 つのなす角は ✓
内積を計算しなくても、答えが出た。
この問題が「 を 軸方向」に設定しているのは、まさにこの見通しのよさのためだ。
なぜ、図で分かるのに、わざわざ内積を使うのか。
答え: 図で分からない場合に備えるためだ。
たとえば、、 のなす角は?
図を描いても、何度なのかは目分量では分からない。
内積の出番だ。
これも だ!
図では分からなかった角が、計算で確定した。
さらに、 次元でも同じ手順が使える。
次元は図に描きにくい。 だが、内積の公式は、次元に関係なく使える。
そして、 次元でも 次元でも、同じ式で「角度」が定義できる。
次元の単語ベクトルの「なす角」も、この式で計算されている(前問の発展で見たとおり)。
もはや図には描けない。 だが、計算はできる。
「図で見えるものを、計算で置き換える」
それによって、図に描けない世界へ進める。
という、目で見て分かる角。
その計算方法を身につけることが、目に見えない高次元への切符になる。
ポイント
- 。
- 内積(成分)と大きさから角を出す。
よくある間違い
- を求めて満足し、角度 まで答えない。 から まで出す
- を としてしまう。
- を と書き直したあと、 と混同する。、