プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

類似性測度の用途は何ですか?


類似性の測定は、いくつかのデータマイニングの決定の基礎となるフレームワークを提供します。分類やクラスタリングなどのタスクでは、一般に類似性の尺度の存在が考慮されますが、類似性を評価する手法が不十分なフィールドでは、情報の検索が面倒な機能であることがよくあります。

類似測度のいくつかのアプリケーションは次のとおりです-

情報検索 −情報検索(IR)システムの目標は、ユーザーのニーズを満たすことです。別の言い方をすれば、ニーズは一般に、オンラインの検索エンジンのテキストボックスに導入された短いテキストクエリの形で現れます。 IRシステムは通常、クエリに直接応答するのではなく、類似性の尺度によってそのクエリに関連すると判断されたレコードのランク付けされたリストを表示します。

類似性測度は、クエリに関する情報をクラスタリングおよび分類する効果があるため、ユーザーは通常、クエリを再定式化するときに役立つ場合と役に立たない場合がある、情報ニーズの新しい解釈を見つけるでしょう。

クエリが初期セットのレコードである場合、類似性測度を使用して、コレクション内のレコードをクラスター化および分類できます。要するに、類似性測度は、以前は構造化されていなかったセットに基本的なアーキテクチャを挿入することができます。

モチベーション

IRシステムで利用される類似性測定は、データセット全体の認識を歪める可能性があります。たとえば、ユーザーが検索エンジンにクエリを入力し、返された上位10のWebページで満足のいく回答が見つからない場合、通常、このクエリを1回または2回再定式化しようとします。

古典的な類似性測度

類似度は、サイズkのタプルのペアからスカラー数へのマッピングとして定義されます。慣例により、すべての類似度は[-1、1]または[0、1]の範囲にマップする必要があります。ここで、類似性スコア1は最大の類似性を示します。類似度は、比較対象の2つの項目のいくつかのプロパティが増加するにつれて、それらの値が増加するという特徴を示す必要があります。

サイコロ

ダイス係数は、適合率と再現率の測定値の調和平均を一般化したものです。調和平均が高いシステムは、高レベルの想起で高精度の値を管理できるという点で、理論的には理想的な検索システムに近いはずです。適合率と再現率の調和平均は、

によって与えられます。

$$ E =\ frac {2} {\ frac {1} {P} + \ frac {1} {R}} $$

一方、ダイス係数は

で表されます。

$$ sim(d、d_ {j})=D(A、B)=\ frac {| A \ cap B |} {\ alpha | A | +(1- \ alpha)| B |} \ cong \ frac {\ propto \ sum_ {k =1} ^ {n} w_ {kq} w_ {kj}} {\ propto \ sum_ {k =1} ^ {n} \ mathrm {w} _ {kq} ^ {2} +(1- \ propto)\ sum_ {k =1} ^ {n} \ mathrm {w} _ {kj} ^ {2}} $$

αε[0、1]を使用します。ダイス係数が加重調和平均であることを表示できます。α=½とします。

オーバーラップ

オーバーラップ係数は、2つのセットがオーバーラップする程度を決定しようとします。オーバーラップ係数は次のように比較されます

$$ sim(d、d_ {j})=D(A、B)=\ frac {| A \ cap B |} {min(| A |、| B |)} \ cong \ frac {\ propto \ sum_ {k =1} ^ {n} w_ {kq} w_ {kj}} {\ propto \ sum_ {k =1} ^ {n} \ mathrm {w} _ {kq} ^ {2} + \ sum_ {k =1} ^ {n} \ mathrm {w} _ {kj} ^ {2}} $$

オーバーラップ係数は、minの代わりにmax演算子を使用して計算されます。


  1. C#でのリフレクションのアプリケーションは何ですか?

    リフレクションオブジェクトは、実行時にタイプ情報を取得するために使用されます。実行中のプログラムのメタデータへのアクセスを提供するクラスは、System.Reflection名前空間にあります。 以下は反射のアプリケーションです- 実行時に属性情報を表示できます。 アセンブリ内のさまざまなタイプを調べて、これらのタイプをインスタンス化できます。 メソッドとプロパティへの遅延バインディングが可能になります 実行時に新しいタイプを作成し、それらのタイプを使用していくつかのタスクを実行できます。 System.Reflection名前空間には、アプリケーションに関する情報を取得し、タイプ、値

  2. C#のコメントは何ですか?

    コメントはコードの説明に使用されます。コンパイラはコメントエントリを無視します。 C#プログラムの複数行コメントは、以下に示すように/ *で始まり、文字*/で終わります。 複数行のコメント /* The following is a mult-line comment In C# /* /*...*/はコンパイラによって無視され、プログラムにコメントを追加するために配置されます。 1行のコメント // variable int a = 10; 以下は、単一行コメントと複数行コメントを追加する方法を示すサンプルC#プログラムです- 例 using System; namespace Dem