Royc30ne

Royc30ne

机器学习 | 联邦学习 | VPS | 摄影 | 日常

[機械学習]常用ベクトル空間の測定整理

最終更新: 2023/4/5 Markdown 中の数学記号の表示異常を修正しました
この記事は若絆で最初に公開されました。転載する場合は出典を明記してください。

序論#

機械学習やデータサイエンスに関わる際、ベクトル空間の距離は非常に重要な概念です。多くの機械学習アプリケーションでは、データポイントは通常ベクトル形式で表されます。したがって、ベクトル間の距離を計算し比較する方法を理解することは非常に重要です。ベクトル空間の距離は、クラスタリング、分類、次元削減など、さまざまな問題の解決に利用することができます。特にフェデレーテッドラーニングプロジェクトでは、ベクトル空間の距離は重要な役割を果たします。異なるデバイスやデータソースのベクトルを比較し、共同トレーニングに使用するために十分に類似しているかどうかを判断するのに役立ちます。

本記事では、ユークリッド距離、マンハッタン距離、チェビシェフ距離など、ベクトル空間の距離の基本的な概念について説明します。これらの距離尺度の計算方法、利点、欠点、およびどの距離尺度を使用するかについても議論します。また、マハラノビス距離やコサイン類似度など、より高度な距離尺度の手法についても紹介し、さまざまな状況での適用性についても探求します。この記事がベクトル空間の距離をより理解し、フェデレーテッドラーニングプロジェクトにどのように適用するかをサポートできれば幸いです。

マンハッタン距離(マンハッタン距離)#

マンハッタン距離(L1 ノルム)は、2 つのベクトル X と Y の距離を測る方法の一つであり、その式は以下の通りです:

$D_{M}(X,Y) = \sum_{i=1}^{n}|x_{i} - y_{i}|$

ここで:

  • $D_{M}(X,Y) $ はベクトル X と Y のマンハッタン距離を表します。

  • $x_{i}$ と $y_{i}$ はそれぞれベクトル X と Y の第 i 成分を表します。

  • $n$ はベクトルの成分数です。

マンハッタン距離は、2 つのベクトルの成分間の絶対差の総和を計算することで、それらの距離を測定します。その名前は、マンハッタンの通りの格子状の配置から来ており、2 点間の距離が水平方向と垂直方向の距離の合計であることに由来しています。ユークリッド距離と比較して、マンハッタン距離は高次元空間での応用に適しています。高次元空間では、2 点間の距離を水平方向と垂直方向の距離で計算することがより容易です。マンハッタン距離は、クラスタリングや分類の問題、画像や音声認識の特徴抽出など、機械学習やデータサイエンスでも広く利用されています。

キャンベラ距離 (キャンベラ距離)#

キャンベラ距離は、2 つのベクトルの類似性を測るための距離尺度であり、データ分析や情報検索などでよく使用されます。その計算式は以下の通りです:

$D_{c}(X,Y) = \sum_{i=1}^{n}\frac{|x_{i} - y_{i}|}{|x_{i}| + |y_{i}|}$

ここで:

  • $D_{c}(X,Y)$ はベクトル X と Y のキャンベラ距離を表します。

  • $x_{i}$ と $y_{i}$ はそれぞれベクトル X と Y の第 i 成分を表します。

  • $n$ はベクトルの成分数です。

キャンベラ距離は、成分間の絶対差をそれらの絶対値の和の比で計算することで、距離を測定します。ベクトルの成分に 0 の値が多く含まれる場合、分母が非常に小さくなる可能性があり、距離の不安定性を引き起こすことに注意が必要です。キャンベラ距離は、分類、クラスタリング、推薦システム、情報検索など、機械学習やデータサイエンスでも広く利用されています。

ユークリッド距離 (ユークリッド距離)#

ユークリッド距離は、一般的なベクトル距離の測定方法であり、クラスタリング、分類、回帰など、機械学習やデータサイエンスのさまざまなタスクで広く使用されています。

ユークリッド距離は、2 つのベクトル間の距離を計算するために使用されます。2 つのベクトル X と Y があり、それぞれ n 個の成分を含んでいる場合、ユークリッド距離は以下の式で計算できます:

$D_{E}(X,Y) = \sqrt{\sum_{i=1}^{n}(x_{i} - y_{i})^2}$

ここで:

  • $D_{E}(X,Y)$ はベクトル X と Y のユークリッド距離を表します。

  • $x_{i}$ と $y_{i}$ はそれぞれベクトル X と Y の第 i 成分を表します。

  • $n$ はベクトルの成分数です。

ユークリッド距離の計算方法は、2 つのベクトルの成分間の差の 2 乗を合計し、その平方根を取ることで行われます。その名前は、古代ギリシャの数学者ユークリッドに由来し、平面幾何学でも広く使用されています。機械学習やデータサイエンスでは、ユークリッド距離は通常、特徴空間でのサンプル間の類似性や距離を計算するために使用されます。なぜなら、ユークリッド距離は特徴空間で近くにあるサンプルを識別するのに役立つからです。

標準化ユークリッド距離 (標準化ユークリッド距離)#

標準化ユークリッド距離は、ベクトル間の距離を測るための尺度であり、成分の尺度とスケールが異なり、成分の変動性が重要な場合に使用されます。

計算式は以下の通りです:

$D_{SE}(X,Y) = \sqrt{\sum_{i=1}^{n}\frac{(x_{i} - y_{i})^2}{s_{i}^2}}$

ここで:

  • $D_{SE}(X,Y)$ はベクトル X と Y の標準化ユークリッド距離を表します。

  • $x_{i}$ と $y_{i}$ はそれぞれベクトル X と Y の第 i 成分を表します。

  • $n$ はベクトルの成分数です。

  • $s_{i}$ はベクトルの第 i 成分の標準偏差です。

標準化ユークリッド距離は、成分の変動性を考慮に入れた距離尺度であり、成分の尺度とスケールが異なり、かつ成分の変動性が重要な場合に適用されます。ユークリッド距離と類似した計算方法を持っていますが、成分間の差を計算する際に、それらを成分の標準偏差で除算して標準化します。

平方ユークリッド距離 (平方ユークリッド距離)#

平方ユークリッド距離は、ベクトル間の距離を計算するための尺度であり、計算式は以下の通りです:

$D_{SE}^2(X,Y) = \sum_{i=1}^{n}(x_{i} - y_{i})^2$

ここで:

  • $D_{SE}^2 (X,Y)$ はベクトル X と Y の平方ユークリッド距離を表します。

  • $x_{i}$ と $y_{i}$ はそれぞれベクトル X と Y の第 i 成分を表します。

  • $n$ はベクトルの成分数です。

平方ユークリッド距離は、成分間の差の 2 乗の和を計算することで、ベクトル間の距離を測定します。ユークリッド距離と比較して、平方ユークリッド距離は平方根の計算を避けるため、計算がより効率的に行われます。平方ユークリッド距離は、クラスタリング、分類、回帰など、機械学習やデータサイエンスのさまざまなタスクでも広く使用されています。

ただし、平方ユークリッド距離は成分の尺度や単位を無視するため、一部の場合においてベクトル間の距離を正確に測定するのに適していない場合があります。そのような場合には、標準化ユークリッド距離、マンハッタン距離、チェビシェフ距離など、他の距離尺度を使用することができます。

コサイン類似度(Cosine Similarity)#

コサイン類似度は、2 つのベクトルの類似性を測るための尺度であり、計算式は以下の通りです:

$cos(\theta) = \frac{X \cdot Y}{\left| X\right| \left| Y\right|} = \frac{\sum\limits_{i=1}^{n} x_i y_i}{\sqrt{\sum\limits_{i=1}^{n} x_i^2} \sqrt{\sum\limits_{i=1}^{n} y_i^2}}$

ここで:

  • $cos (\theta)$ はベクトル X と Y のコサイン類似度を表します。

  • $X \cdot Y$ はベクトル X と Y の内積を表します。

  • $\left| X\right|$ と $\left| Y\right|$ はそれぞれベクトル X と Y のモジュラスを表します。

  • $x_i$ と $y_i$ はそれぞれベクトル X と Y の第 i 成分を表します。

  • $n$ はベクトルの成分数です。

コサイン類似度は、ベクトル間の角度を考慮した類似度尺度です。自然言語処理や情報検索などの分野では、テキスト間の類似性を測るためによく使用されます。なぜなら、テキストはベクトルとして表現することができ、成分の大きさは重要ではないからです。他の距離尺度と比較して、コサイン類似度の計算はより簡単であり、良好なパフォーマンスを示します。たとえば、2 つのベクトルが完全に同じ場合、コサイン類似度は 1 になります。2 つのベクトルの角度が 90 度の場合、コサイン類似度は 0 になります。2 つのベクトルの方向が逆の場合、コサイン類似度は - 1 になります。

ただし、コサイン類似度はベクトルの成分間の大きさの差異を考慮しないため、一部のデータセットには適用できない場合があります。

チェビシェフ距離#

チェビシェフ距離は、2 つのベクトル間の距離を測るための尺度であり、計算方法は 2 つのベクトルの成分の差の絶対値の最大値を計算することです。2 つのベクトル X と Y があり、それぞれ n 個の成分を含んでいる場合、チェビシェフ距離は以下の式で計算できます:

$D_{C}(X,Y) = max_{i=1}^{n}|x_{i} - y_{i}|$

ここで:

  • $D_{C}(X,Y)$ はベクトル X と Y のチェビシェフ距離を表します。

  • $x_{i}$ と $y_{i}$ はそれぞれベクトル X と Y の第 i 成分を表します。

  • $n$ はベクトルの成分数です。

チェビシェフ距離は、ベクトル間の距離を計算するために使用されます。計算方法はマンハッタン距離と類似していますが、差の絶対値の最大値を取るため、ベクトル間の差異をよりよく捉えることができます。チェビシェフ距離は、画像処理、信号処理、時系列分析など、機械学習やデータサイエンスのさまざまな領域でも広く使用されています。

ただし、チェビシェフ距離は外れ値の影響を受ける可能性があります。なぜなら、差の絶対値の最大値を計算するため、外れ値が存在する場合、正確な距離尺度を提供しない可能性があるからです。

マハラノビス距離#

マハラノビス距離は、2 つのベクトル間の距離を計算するための尺度であり、各成分間の相関性を考慮しています。2 つのベクトル X と Y があり、それぞれ n 個の成分を含んでいる場合、マハラノビス距離は以下の式で計算できます:

$D_{M}(X,Y) = \sqrt{(X-Y)^T S^{-1} (X-Y)}$

ここで:

  • $D_{M}(X,Y)$ はベクトル X と Y のマハラノビス距離を表します。

  • $X$ と $Y$ は長さ n のベクトルです。

  • $S$ は $n \times n$ の共分散行列です。

マハラノビス距離の計算式はユークリッド距離と類似していますが、各成分間の相関性を考慮しています。共分散行列が単位行列の場合、マハラノビス距離はユークリッド距離と等価になります。ユークリッド距離と比較して、マハラノビス距離は各成分間の相関性をよりよく捉えることができます。そのため、金融リスク管理、音声認識、画像認識など、各成分間の相関性を考慮する必要がある領域で広く使用されています。

ただし、マハラノビス距離は各成分間の相関性に従う必要があり、共分散行列は正定値である必要があります。成分間の条件を満たさない場合、マハラノビス距離は正確な距離尺度を提供しない可能性があります。また、マハラノビス距離は共分散行列の推定誤差の影響を受けます。実際の応用では、共分散行列をサンプルデータから推定する必要があるため、サンプル数とサンプルの品質はマハラノビス距離の正確性に影響を与えます。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。