エンベディングからの類似度の測定

これで、例の任意のペアのエンベディングができました。教師あり類似度 measure はこれらのエンベディングを受け取り、その類似性を測定する数値を返します。 エンベディングは数値のベクトルです。予測値と正解値の類似性を 2 つのベクトル \(A = [a_1,a_2,...,a_n]\) と \(B = [b_1,b_2,...,b_n]\)、 次の 3 つの類似度のいずれかを選択します

測定意味数式 類似性が高まるにつれ、この尺度は...
ユークリッド距離ベクトルの端間の距離 \(\sqrt{(a_1-b_1)^2+(a_2-b_2)^2+...+(a_N-b_N)^2}\) 減少
コサインベクトル間の \(\theta\) 角のコサイン \(\frac{a^T b}{|a| \cdot |b|}\) 増加
内積コサインに両方のベクトルの長さを掛ける \(a_1b_1+a_2b_2+...+a_nb_n\) \(=|a||b|cos(\theta)\) 増加します。また、ベクトルの長さに応じて増加します。

類似度の測定結果の選択

コサインとは対照的に、ドット積はベクトルの長さに比例します。 トレーニングで非常に頻繁に出現する例は重要なので、これは重要です。 セット(人気の YouTube 動画など)は、特徴値を含むエンベディング ベクトルを持つ傾向があります。 作成します。 もし 次にドット積を選択しますただし そのリスクは 一般的な例によって類似性の指標に歪みが生じることがあります。このスキューのバランスを取るには 長さを指数で乗算して \(\alpha\ < 1\) ドット積を計算する として \(|a|^{\alpha}|b|^{\alpha}\cos(\theta)\)にします。

ベクトルの長さが類似度を測定する方法を理解するには、 ベクトルの長さが 1 になり、3 つの尺度が比例することがわかります 相互に通信します。

証明: 類似性の比例性
\(||a||=1\) と \(||b||=1\)のように a と b を正規化すると、 これら 3 つの尺度は次のように関連しています <ph type="x-smartling-placeholder">
    </ph>
  • ユークリッド距離 = \(||a-b|| = \sqrt{||a||^2 + ||b||^2 - 2a^{T}b} = \sqrt{2-2\cos(\theta_{ab})}\)。
  • ドット積 = \( |a||b| \cos(\theta_{ab}) = 1\cdot1\cdot \cos(\theta_{ab}) = cos(\theta_{ab})\)。
  • コサイン = \(\cos(\theta_{ab})\)。
で確認できます。 したがって、3 つの類似度測定値はすべて同じです。 これは \(cos(\theta_{ab})\)に比例します。

類似性尺度の確認

類似度は、データのペア間の類似性を定量化し、 他の例と対比したものです。手動と自動の 以下に比較します。

タイプ作成方法最適な用途影響
手動特徴データを手動で結合する。 簡単に組み合わせることができる特徴を持つ小さなデータセット。 類似度の計算結果に関する分析情報を提供します。特徴量の場合 データが変更された場合は、類似度測定を手動で更新する必要があります。
管理対象生成されたエンベディング間の距離を測定する モデルです。 組み合わせが難しい特徴を持つ大規模なデータセット。 結果に対する分析情報は得られない。ただし DNN は、入力シーケンス内の 特徴データの変更です