問題タブ [bayesian]

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.

0 投票する
1 に答える
1512 参照

math - カウントデータから事前ディリクレを学習するためのRパッケージはありますか

Rカウントデータから事前にディリクレをトレーニングするために使用できるパッケージを探しています。を使用している同僚をR探していますが、自分では使用していないため、パッケージの検索方法がよくわかりません。「R」は特定されていない検索文字列なので、検索するのは少し難しいです。CRANには何もないようですが、他に見るべき場所はありますか?

0 投票する
2 に答える
2082 参照

artificial-intelligence - 分類アルゴリズムのパフォーマンスの測定

手に分類の問題があり、機械学習アルゴリズムで対処したいと思います(ベイズ、またはマルコフ、おそらく問題は使用する分類器に依存しません)。トレーニングインスタンスの数を考えると、データの過剰適合の問題を考慮に入れて、実装された分類器のパフォーマンスを測定する方法を探しています。

つまり、N [1..100]のトレーニングサンプルが与えられた場合、すべてのサンプルでトレーニングアルゴリズムを実行し、これとまったく同じサンプルを使用してフィットネスを測定すると、データの過剰適合の問題に陥る可能性があります。分類器はそれを認識します。トレーニングインスタンスの正確な答えは、多くの予測力を持たずに、フィットネス結果を役に立たなくします。

明らかな解決策は、手作業でタグ付けされたサンプルをトレーニングとテストサンプルに分離することです。トレーニング用に統計的に有意なサンプルを選択する方法について学びたいと思います。

ホワイトペーパー、本のポインタ、PDFは大歓迎です!

0 投票する
5 に答える
12627 参照

math - 順列と組み合わせのインタビュー

直感に反するので、これは良いものです。

3 分の 2 が同じ色で、3 分の 1 が別の色のボールで満たされた壷を想像してみてください。ある人が骨壷から 5 個のボールを取り出したところ、4 個が赤で 1 個が白であることがわかりました。別の人が 20 個のボールを描いたところ、12 個が赤で 8 個が白であることがわかりました。壷に赤いボールが 3 分の 2 と白いボールが 3 分の 1 入っていることを確信できるのは、2 人のうちどちらでしょうか? 各個人はどのオッズを与えるべきですか?

正解はわかっていますが、オッズの計算がよくわからないかもしれません。誰でも説明できますか?

0 投票する
3 に答える
280 参照

math - 取得したユーザー名のサンプリングからサイトのユーザーベースのサイズを推測する方法

この情報を公開していないサイトのユーザーベースのサイズを見積もりたいとします。

人々は、さまざまな確率でさまざまなユーザー名を取得している可能性が高くなります。たとえば、ユーザー名「nick」がシステムに存在しない場合、ユーザーベースは非常に小さい可能性があります。ユーザー名「starbaby」を使用すると、はるかに大きなサイトになる可能性があります。それは単純なベイズ問題のようです。

サイトが異なれば、許可されるユーザー名のスペースも異なる可能性があるという問題があります。最大の問題は、スペースなどの一般的な文字の合法性だと思います。以前の配布を汚す可能性のあるもう1つの問題は、必要な名前が使用されたときにサイトが名前を提案するのか、それとももっとクリエイティブな名前を自分で考えさせるのかということです。

さまざまなサイズのシステムでユーザー名が発生する頻度のトレーニングセットをどのように構築できますか?固定幅バケットに分類するのではなく、ベイズを使用して数値推定を行う方法はありますか?

0 投票する
3 に答える
5437 参照

java - 最高のオープンソースのJavaベイジアンスパムフィルターライブラリは何ですか?

Stackoverflowの他の回答では、Wekaが優れていることが示唆されていますが、他にもあります(Classifier4jjBNCNaiban)。

誰かがこれらを実際に経験したことがありますか?

0 投票する
2 に答える
696 参照

.net - .NET 用のベイジアン フィルター ライブラリはありますか

.NET 用のベイジアン フィルター ライブラリはありますか?

フォルダーのグループをセットアップし、以前にフォルダーに移動した内容に基づいて、電子メールをそれらのフォルダーに自動的に移動したいと考えています。

FogBugz の自動ソートに精通している場合は、まさにそれをやりたいと思います。

0 投票する
2 に答える
331 参照

algorithm - メタデータの分析、分類、および索引付け

画像メタデータの大規模な(約250万レコード)データベースがあります。各レコードは画像を表し、一意のID、説明フィールド、キーワードのコンマ区切りリスト(たとえば、画像ごとに20〜30個のキーワード)、およびその他のフィールドがあります。実際のデータベーススキーマはありません。また、すべての画像を繰り返し処理してカウントしない限り、データベースにどのキーワードが存在するかを知る方法はありません。また、メタデータはいくつかの異なるサプライヤからのものであり、それぞれが異なるフィールドに入力する方法について独自のアイデアを持っています。

このメタデータを使ってやりたいことがいくつかありますが、私はこの種のアルゴリズムにまったく慣れていないため、どこから始めればよいのかさえわかりません。

  1. これらの画像の一部には(テキストで指定された)特定の使用制限がありますが、各サプライヤーはそれらを異なる言い回しであり、一貫性を保証する方法はありません。画像に制限がないかどうかを示す簡単なテストを画像に適用したいと思います。完璧である必要はなく、「十分に良い」だけです。これには、ある種のベイジアンフィルターを使用できると思いますよね?制限付きまたは制限なしの画像のコーパスを使用してフィルターをトレーニングすると、フィルターは残りの画像の予測を行うことができますか?それとももっと良い方法がありますか?
  2. また、これらの画像を「キーワードの類似性」に従ってインデックス付けできるようにしたいと思います。これにより、1つの画像があれば、他のどの画像と最も多くのキーワードを共有しているかがすぐにわかります。理想的には、アルゴリズムは、一部のキーワードが他のキーワードよりも重要であり、それらの重みが異なることも考慮に入れます。私はここでどこから始めればよいのかさえわかりません、そしてどんなポインタでも非常にうれしいです:)

私は主にJavaで作業していますが、ここでは言語の選択は関係ありません。私は、どのアプローチが私が読み始めるのに最適であるかを学ぶことにもっと興味があります。前もって感謝します :)

0 投票する
6 に答える
9355 参照

python - Python 用ベイジアン スパム フィルタリング ライブラリ

Bayesian Spam Filtering を行う Python ライブラリを探しています。SpamBayes と OpenBayes を見ましたが、どちらもメンテナンスされていないようです (間違っているかもしれません)。

ベイジアン スパム フィルタリングを実装する優れた Python (または Clojure、Common Lisp、さらには Ruby) ライブラリを提案できる人はいますか?

前もって感謝します。

明確化: 私は実際に探しているのはベイジアン スパム分類器であり、必ずしもスパム フィルターではありません。いくつかのデータを使用してトレーニングし、後で特定のデータがスパムであるかどうかを教えてください。混乱して申し訳ありません。

0 投票する
4 に答える
1983 参照

c# - ベイジアン スパム フィルターでトークンがスパムである確率を計算する

私は最近、ベイジアン スパム フィルターを作成しました。Paul Graham の記事 Plan for Spam、codeproject で見つけた C# での実装を参考にして、独自のフィルターを作成しました。

CodeProject の実装では、トークンがスパムである確率を計算する際に一意のトークンの総数を使用していることに気付きました (たとえば、ハム コーパスに合計で 10000 のトークンが含まれているが、1500 の一意のトークンが含まれている場合、1500 は確率の計算に ngood として使用されます)。 )、しかし、私の実装では、Paul Graham の記事で言及されているように、投稿の数を使用しました。

  1. 投稿数 (Paul Graham の記事に記載)
  2. 一意のトークンの総数 (codeproject の実装で使用)
  3. 総トークン数
  4. 含まれるトークンの総数 (つまり、b + g >= 5 のトークン)
  5. 含まれる一意のトークンの合計数
0 投票する
5 に答える
6296 参照

sql - SQLでの単純ベイズ計算

単純ベイズを使用して、ドキュメントを比較的多数のクラスに分類したいと考えています。私は、エンティティが正しく検証された記事とその記事が類似しているかどうかに基づいて、記事内のエンティティ名の言及が本当にそのエンティティであるかどうかを確認しようとしています。

たとえば、ある記事で「General Motors」というテキストを見つけたとします。記事とその中で言及されている正しいエンティティを含む一連のデータがあります。したがって、新しい記事で言及されている「ゼネラルモーターズ」が見つかった場合、既知の本物を含む以前のデータの記事のクラスに該当する必要があります。 「ゼネラルモーターズ」に言及するのと、そのエンティティに言及していない記事のクラスとの比較は?

(すべてのエンティティのクラスを作成して、すべての新しい記事を可能なすべてのクラスに分類しようとしているわけではありません。エンティティ名のもっともらしい言及を見つけるためのヒューリスティックな方法が既にあり、限られた数の妥当性を検証したいだけです。メソッドが既に検出した記事ごとのエンティティ名の言及)。

潜在的なクラスと記事の数が非常に多く、単純なベイズが比較的単純であることを考えると、SQL ですべてを実行したかったのですが、スコアリング クエリに問題があります...

これが私がこれまでに持っているものです:

マークされたデータ内の各記事は個別の単語に分割され、各エンティティの各記事について、すべての単語が に追加され、each_entity_wordおよび/またはその単語がword_countインクリメントされ、doc_countインクリメントされます。これは、その記事で言及されている既知のエンティティごとに繰り返されます。entity_word_sumentity_id

各単語に含まれるエンティティに関係なく、記事ごとtotal_entity_word total_entity_word_sumに同様にインクリメントされます。

  • P(word|any document) は、その単語 のword_countinに等しい必要があり ますtotal_entity_worddoc_counttotal_entity_sum
  • P(単語|ドキュメントは エンティティx言及word_countし ています)each_entity_wordentity_id doc_counteach_entity_sumentity_id
  • P(単語|ドキュメントはエンティティxについて言及していませ) は、(そのエンティティのinからその単語のinを引いたもの) 以上 ( inのそのエンティティの inを引いたもの)に等しくなければなりませんword_counttotal_entity_wordword_counteach_entity_worddoc_counttotal_entity_sumdoc_counteach_entity_sum
  • P(ドキュメントはエンティティxdoc_countに言及しています) は、each_entity_sumそのエンティティ ID に対して等しい必要がありますdoc_counttotal_entity_word
  • P(ドキュメントはエンティティxについて言及していません) は 1 マイナス ( xのエンティティ ID に対してin )doc_countに等しい必要があります。each_entity_sumdoc_counttotal_entity_word

入ってくる新しい記事の場合、それを単語に分割し、または のいずれeach_entity_wordかに対して ('I'、'want'、'to'、'use'...) の単語を選択するだけtotal_entity_wordです。私が(mysql)で作業しているdbプラットフォームでは、IN句は比較的適切に最適化されています。

また、SQLにはproduct()集計関数がないため、もちろん、sum(log(x))またはexp(sum(log(x)))を実行して、product(x)と同等のものを取得できます。

したがって、新しい記事を取得し、それを個別の単語に分割し、それらの単語を大きな IN() 句とテストする潜在的なエンティティ ID に入れる場合、記事がそのエンティティに該当する単純なベイジアン確率を取得するにはどうすればよいですか? SQLのidのクラス?

編集:

#1を試してください: