問題タブ [cosine-similarity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - データセットに 1 クラスのインスタンスしか含まれていない場合、機械学習はどのようなアプローチを使用しますか?
特定のドメインのデータセットがあります (たとえば、スポーツ - 1 クラス)。私がやりたいのは、Web ページを分類子/クラスタラーにフィードしたときに、そのインスタンス (Web ページ) がスポーツに関連しているかどうかに関係なく結果を取得したいということです。
weka のほとんどの分類器は、LibSVM (ラッパー) を除いて、単項クラスのデータセットを処理できません。私は LibSVM でいくつかのテストを行いましたが、問題は関連のないデータセットでのテスト中にあり、インスタンスが空であっても、それらすべてが正しく分類されます! 助言がありますか?
ここで余弦類似度を使用するとどうなるでしょうか。
python - レコメンデーション システム - さまざまな指標を使用
アイテム ベースのニュース レコメンデーション システムの実装を検討しています。ニュース項目に対するユーザーの関心を追跡するには、いくつかの方法があります。それらには、評価 (1-5)、お気に入り、クリックスルー、およびニュース項目に費やされた時間が含まれます。
私の質問: レコメンデーション システムにこれらのさまざまなメトリックを使用するための良い方法は何ですか? たぶん、何らかの方法でそれらをマージして正規化しますか?
percentage - コサイン類似度を正規化できますか?
コサイン類似度のリストをパーセンテージに変換する方法はありますか? 私はこれに頭を悩ませようとしましたが、非常に疑わしいです。
次のように、4 つのドキュメントのコサイン値を正規化することは理にかなっていますか。
それらをすべてまとめると
そして、それらを正規化します。
または、これを表示するより受け入れられている方法はありますか?
machine-learning - コサイン類似度によるクラスタリング
クラスター化したい大規模なデータセットがあります。私のトライアル ラン セットのサイズは 2,500 オブジェクトです。「実際の取引」で実行すると、少なくとも 20,000 個のオブジェクトを処理する必要があります。
これらのオブジェクトは、それらの間に余弦の類似性があります。このコサイン類似度は、数学的な距離メトリックであるという要件を満たしていません。三角不等式を満たしていません。
予想されるクラスターの数を事前に指定する必要なく、類似したオブジェクトをまとめる「自然な」方法でそれらをクラスター化したいと思います。
それを行うアルゴリズムを知っている人はいますか?本当に、a) 距離メトリックと b) 事前に指定された数のクラスターを必要としないアルゴリズムを探しているだけです。
どうもありがとう!
この質問は以前ここで尋ねられました: コサイン類似度値からのクラスタリング (ただし、このソリューションは K-means クラスタリングのみを提供します)、およびここ: 類似度行列の効果的なクラスタリング (ただし、このソリューションはかなり曖昧でした)
java - Lucene またはコサインの類似性を使用してドキュメントの類似性を見つける方法
こんにちは、私は Web プロジェクトを行っています。2 つのドキュメント間の類似性を見つける機能があります。これらのドキュメントはテキスト ファイルです。したがって、これを行うには、コサイン類似度またはルセンを使用する必要があります。誰でもこれを行うのを手伝ってもらえますか?私はこれのコードサンプルを見つけることができませんでした. 必要なのは、ルセンまたはコサインの類似性を使用してドキュメントの類似性を見つけるためのコード サンプルです。この問題を克服するのを手伝ってください。(私は Java を使用してプログラムを開発しています。このための完全なコード サンプルを提供してください)。前もって感謝します。
python - Python: Cosine Similarity m * n matrices
I have two M X N matrices which I construct after extracting data from images. Both the vectors have lengthy first row and after the 3rd row they all become only first column. for example raw vector looks like this
Both vectors have a similar pattern where first three rows have lengthy row and then thin out as it progress. Do do cosine similarity I was thinking to use a padding technique to add zeros and make these two vectors N X N. I looked at Python options of cosine similarity but some examples were using a package call numpy. I couldn't figure out how exactly numpy can do this type of padding and carry out a cosine similarity. Any guidance would be greatly appreciated.
cluster-analysis - 類似性を尺度としてクラスタリングを行う方法は?
球状のkmeansについて読みましたが、実装に出くわしませんでした.明確にするために、類似性は単純に2つのドキュメント単位ベクトルの内積です.標準のkは距離を測定値として使用することを読みました. 指定されている距離は、座標ジオメトリ sqrt((x2 -x1)^2 + (y2-y1)^2) のようにベクトル距離ですか?
search-engine - ユークリッド距離またはコサイン類似度?
私はSimilarity Measureを読ん でいて、突然私の全世界がバラバラになりました。Clustering Technique を使用して検索エンジンを実装しました。Clustering には、ユークリッド距離としての距離測定値を持つ K Means を使用しました。また、コサイン類似度を使用して結果を表示しました。私は驚くほど正確な結果を得ていました.しかし、これを読んだ今、私がしたことは、ドキュメントベクトルを正規化し、2つのベクトル間のユークリッド距離を計算したため、マグニチュードをどこにも考慮していません.
私は何か間違っていますか?
ターム頻度が高いほど、tf-idf 値が高くなり、正規化された tf-idf 値が高くなるため、適切にランク付けされると思いますが。ありがとう
結果(正規化されていないベクトルを使用、数字はユークリッド距離)
結果(ベクトルは正規化、数値はユークリッド距離)
結果(数値はコサイン類似度)
結果 1 と 2 は一致しませんが、2 と 3 は一致しています。より多くの類似性、より少ない距離。距離は、クラスター重心ベクトルと各ドキュメントのドキュメント ベクトルとの間で取得されます。
実際、最も奇妙な結果は、ユークリッド距離が 418 で、最も類似度が 0.87 のドキュメントです。正規化された距離は 0.49 になり、類似度と一致します。
math - サイズの異なる 2 つのベクトルのコサイン類似度の計算
2つ質問があります。
ドキュメントに各単語が何回出現するかを調べて、ドキュメントからベクトルを作成しました。これはベクトルを作成する正しい方法ですか? それとも、他にも何かしなければなりませんか?
上記の方法を使用して、サイズの異なる 16 個のドキュメントのベクトルを作成しました。ここで、コサイン類似度を適用して、各ドキュメントがどの程度類似しているかを調べたいと思います。私が抱えている問題は、サイズが異なるため、2 つのベクトルのドット積を取得することです。どうすればいいですか?
math - 類似のログファイルを識別するための類似度
類似ログファイルを正確に識別できる類似関数を実装したい。これまでのところ、問題に適した類似度メトリックを見つけることができません。
複数のPC(約300台のPC)から生成されたログファイルがあり、各ファイルには毎日アクセスしたIPアドレスが含まれています。訪問したIPアドレスを毎日比較して類似性を比較したい。つまり、PC1のday1とPC2のday1などを比較したいのですが...
たとえば(特定の日に何もアクセスされなかった場合、その行が空白のままになっている場合、各ログファイルには4日間のデータしか含まれていないと想定します):
PC1とPC2の類似スコアは次のようになります。
この問題には、Jaccard類似性インデックスを使用できます(毎日をIPアドレスのセットと見なします)。しかし、それが適切な指標or
であるかどうかはわかりませんが、この問題にJaccardインデックスを適用する際に技術的な欠陥(または満たす必要のある条件)があります。
同様のドキュメントを見つける際に、ドキュメント全体にJaccardインデックスを適用している人を見かけましたが、それは私が探しているものではありません。私の場合、毎日Jaccardインデックスを適用し、それらを合計して最終的な類似度の値を見つけたいと思いました。このアプローチは技術的に適切ですか?
ありがとうございました。
Update:
Objective of this study
-約1000個のIPアドレスがあり、各PCが同じ人によって使用されているブラウジング(これらの1000個のIPアドレスのブラウジング)パターンを監視したいと考えています。この調査は5営業日にわたって実施され、訪問したIPアドレスをログに記録します。これらのIPアドレスのいずれかが月曜日に訪問された場合、それは最も高い重みを持ち、金曜日に訪問された場合、それは最も低い重みを持ちます。火曜日、水曜日、木曜日の重みはそれに応じて正規化されます。これが、私が日ごとの類似性にもっと興味を持っている理由です。私の最終的な目的は、(5日間すべてを考慮して)同様のブラウジングパターンを持つ人々を見つけることです。この研究はちょっと奇妙ですが、私はプロジェクトのためにやっています。