1. 概要
このチュートリアルでは、ベクトル空間内の点間の距離の2つの重要な尺度であるユークリッド距離と余弦の類似性について学習します。
次に、それらを使用してサンプルデータセットの機能に関する洞察を抽出する方法を見ていきます。 また、どちらを使用する方がよいか、それぞれにどのような利点があるかについても説明します。
2. ベクトル空間での距離の測定
2.1. 距離とは何ですか?
コサイン類似度とユークリッド距離はどちらも、ベクトル空間内のベクトル間の近接度を測定するための方法です。 したがって、2つのベクトル間の距離が何を意味するのかを定義することが重要です。これは、すぐにわかるように、これは正確には明らかではないためです。
この画像で説明されているケースを検討することから始めましょう。
青、赤、緑の3つの異なる点が配置された2Dベクトル空間があります。どの点のペアが互いに近いかを自問することができます。 そうすることで、答えは1つまたは複数のポイントのペアの一意のセットで構成されることが期待されます。
- 1つのペアだけが最も近い場合、答えは(青、赤)、(青、緑)、または(赤、緑)のいずれかになります。
- 2つのペアが最も近い場合、可能なセットの数は3であり、3つのペアのすべての2要素の組み合わせに対応します。
- 最後に、3つのペアすべてが等しく近い場合、それらすべてを含む可能なセットは1つだけです。
これは、最も近い1つまたは複数のポイントのペアを持つセットが7つの可能なセットの1つであることを意味します。 では、7つの可能な答えのうちどれが正しいかをどのように判断するのでしょうか。 そのためには、まず距離の測定方法を決める必要があります。
2.2. 定規で距離を測定する
定規を取り、それを2点の間に置き、読みを測定することによって、どちらの答えが正しいかを判断できます。
可能なすべてのペアに対してこれを行うと、ペアごとの距離の測定値のリストを作成できます。 テーブルを昇順で並べ替えることにより、最短距離のポイントのペアワイズの組み合わせを見つけることができます。
この例では、ペア(赤、緑)で構成されるセットが最短距離のセットです。 したがって、セット内のポイント間の最短ユークリッド距離は、定規によって測定された、赤と緑のポイント間の距離であると宣言できます。
2.3. ゴニオメーターで距離を測定する
同じポイント間の距離を測定するために、まったく異なるが同等に有効なアプローチを使用することもできます。
飛行機の上部や鳥の視点からではなく、ポイントを見ていると想像してみましょう。 むしろ飛行機の内側から、そして具体的にはその原点から。 これを行うと、各ポイントを見たときに想定する方向を矢印で表すことができます。
原点に関する私たちの観点からは、ポイントが原点からどれだけ離れているかは実際には問題ではありません。 実際、私たちは飛行機から出て三次元に足を踏み入れることなしにそれを理解する方法がありません。
原点から見てわかる限り、すべての点は同じ地平線上にあり、基準軸に対する方向によってのみ異なります。
原点から真っ直ぐ歩いてこれらの地点に到達するのにどれくらいの時間がかかるかは本当にわかりません。そのため、視野内での深度については何もわかりません。 しかし、私たちが知っていることは、基準軸から始めた場合に、それぞれをまっすぐに見るためにどれだけ回転する必要があるかということです。
この時点で、各ポイントに関連付けられた参照軸からの回転を含むリストを作成できます。 その後、これらの回転の差として、各ポイントからの距離を計算できます。 そうすると、次のペアワイズ角度距離が得られます。
前の例のように、互いに最も近いポイントのペアが(青、赤)であり、(赤、緑)ではないことがわかります。 この場合、青と赤の点のペアは、それらの間の角距離が最小の点であると言えます。
私たちが得た答えが前のものとどのように異なっているか、そして視点の変化が私たちのアプローチを変えた理由であることに注意してください。
2.4. 高次元への一般化
今見たのは、ユークリッド距離と角度距離について話すときの意味についての実際的な説明です。
上記の例では、ユークリッド距離はバードビューからの定規による距離の測定値で表され、角度距離は回転の差の測定値で表されます。
ここで、これらの考慮事項を、2D平面やベクトルだけでなく、任意の次元のベクトル空間に一般化してみましょう。
3. ユークリッド距離の正式な定義
ℝでは、2つのベクトル間のユークリッド距離が常に定義されます。 2つのベクトルの差のL2ノルムに対応します。 次のように計算できます。
、、、などのユークリッド距離を測定できるベクトル空間は、ユークリッドベクトル空間と呼ばれます。
機械学習のほとんどのベクトル空間はこのカテゴリに属します。
つまり、機械学習タスクを実行する場合、通常、予備的なデータ分析中にデータセット内のユークリッド距離の測定を試みることができます。 K-Means などの一部の機械学習アルゴリズムは、ベクトル間のユークリッド距離で特に機能するため、必要に応じてそのメトリックを使用する必要があります。
4. コサイン類似性の正式な定義
上記の例に戻ると、コサイン類似性の正式な定義を作成するために、角距離の直感的な理解から始めることができます。
2つのベクトル間のコサイン類似度は、それらの内積をそれらの大きさの積で割ったものに対応します。 およびが上記で定義されたベクトルである場合、それらのコサイン類似度は次のとおりです。
コサインの類似性と上記で説明した角距離との関係は固定されており、次の式を使用して一方から他方に変換することができます。
5. アイリスデータセットにおけるユークリッド距離と余弦の類似性
5.1. ユークリッド距離に基づくクラスター化
有名なアイリスデータセットを見て、ユークリッド距離を使用してその構造に関する洞察を収集する方法を見てみましょう。 これは2D平面での分布であり、各色は1種類の花を表し、2つの次元は花びらの長さと幅を示します。
K-Meansアルゴリズムを使用して、データセットを3つのグループにクラスターすることができます。
K-Meansアルゴリズムは、クラスター重心を見つけようとします。この重心の位置は、最も多くの点でユークリッド距離を最小化します。 赤で、3つのクラスターのK-Meansによって識別された重心の位置を確認できます。
ユークリッド距離に基づくアイリスデータセットのクラスター化は、互いに最も近い2つのクラスターが紫と青緑のクラスターであることを示しています。 このステートメントをまもなく解釈します。 次のセクションを読むときは、今のところこれを覚えておきましょう。
5.2. コサイン類似性に基づくクラスター化
以前に行ったように、観測間の角距離(またはむしろコサイン類似度)に基づいてアイリスデータセットのクラスター化を実行できるようになりました。
角度距離について私たちが言ったことを思い出してください。私たちは、すべての観測が地平線に投影され、それらがすべて私たちから等しく離れていると想像しています。 したがって、下の図は、球形のK-Meansに従って、単位円に投影されたアイリスのクラスター化を示しています。
得られた結果が以前に見つかった結果とどのように異なるかがわかります。
今回は、青緑色と黄色が、重心が互いに最も近い2つのクラスターであるように見えます。 これは、現在、ユークリッド距離ではなくコサイン類似度を測定しており、青緑色と黄色のベクトルの方向は、一般に紫色のベクトルの方向よりも互いに近いためです。
この答えは、クラスタリングアルゴリズムのさまざまなランダム初期化全体で一貫しており、アイリスデータセットのユークリッド距離対コサイン類似性の分布の違いを示しています。
5.3. アイリスデータセットのクラスター化の解釈
これで、2つのケースで得られた結果を比較および解釈して、それらが説明する根本的な現象についての洞察を引き出すことができます。
- ユークリッド距離によるクラスター化は、紫と青緑の花が一般的に黄色の花よりも互いに近いことを示しています。 これは、花びらの長さと幅の合計、したがってそれらの表面積は、一般に、黄色の花と他のものの間よりも紫と青緑の間でより近くなければならないことを意味します
- コサインの類似性によるクラスター化は、特徴、幅、長さの比率が、黄色と他のどの花よりも青緑色と黄色の花の間で一般的に近いことを示しています。 これは、青緑色と黄色の花が他の拡大版のように見えるのに対し、紫色の花はまったく異なる形をしていることを示しています
私たちが与えた解釈は、アイリスデータセットに固有のものです。 ただし、その根底にある直感は、任意のデータセットに一般化できます。 ユークリッド距離が小さいベクトルは、それらと同様の「豊かさ」を持っています。 一方、余弦の類似性が高いベクトルは、互いにスケールアップされたバージョンのように見えます。
6. いつ一方を他方よりも優先する必要がありますか?
使用するメトリックに関する決定は、実行する必要のある特定のタスクによって異なります。
- 予備的なデータ分析などの一部のタスクは、両方のメトリックの恩恵を受けます。 それらのそれぞれは、データの構造に関するさまざまな洞察の抽出を可能にします
- テキスト分類などの他のものは、一般的にユークリッド距離の下でよりよく機能します
- 特定のドキュメントに最も類似したテキストの検索など、さらにいくつかは、一般に、余弦の類似性でよりよく機能します
機械学習でよくあることですが、その秘訣は、すべての手法を知り、それらのアプリケーションに関連するヒューリスティックを学習することです。 これは試行錯誤によって取得されます。
ただし、このプロセスを高速化する方法は、ここで提示した視覚的なイメージを念頭に置くことです。 そうすれば、根本的な現象を直感的に理解し、作業を簡素化できます。
7. 結論
この記事では、ユークリッド距離と余弦の類似性の正式な定義を研究しました。 ユークリッド距離は、ベクトル間の差のL2ノルムに対応します。 コサイン類似度は、2つのベクトルの内積に比例し、それらの大きさの積に反比例します。
また、ユークリッド距離と余弦の類似性を使用してデータセットを分析することで、どのような洞察を抽出できるかを見てきました。 互いにユークリッド距離が小さいベクトルは、ベクトル空間の同じ領域に配置されます。 コサイン類似度の高いベクトルは、原点から同じ一般的な方向に配置されます。