問題タブ [supervised-learning]
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 - Naive Bayes を使用した分類の予測と、トレーニング セットにない特徴/単語の処理
Naive Bayes アルゴリズムを使用して、スパムまたは非スパムのテキスト分類問題を考えてみましょう。
質問は次のとおりです。
ドキュメント W についてどのように予測しますか = その単語セットに、モデルではまったく見られなかった新しい単語 wordX がある場合 (そのため、ラプラス平滑化確率が推定されていません)。
関連付けられている可能性がないため、現在のテキストに表示されていたとしても、その wordX を無視するのが通常のことですか? つまり、この問題を解決するためにラプラス スムージングが使用されることがありますが、その単語が決定的に新しい場合はどうでしょうか。
私が考えた解決策のいくつか:
1)分類を推定する際にその単語を無視するだけです(最も単純ですが、間違っていることもあります...?ただし、トレーニングセットが十分に大きい場合は、これがおそらく最善の方法です。あなたの機能を想定するのが合理的だと思います1M または 20M のデータがある場合は、十分に選択されています)。
2) その単語をモデルに追加し、モデルを完全に変更します。これは、語彙が変更されたため、どこでも確率を変更する必要があるためです (ただし、これには問題があります。これは、特に分析が 1M ドキュメントの場合、モデルを頻繁に更新する必要があることを意味する可能性があるためです)。 、 いう)
私はこれについていくつかの調査を行い、Dan Jurafsky NLP と NB のスライドを読み、coursera でいくつかのビデオを見て、いくつかの研究論文に目を通しましたが、役に立つと思うものを見つけることができませんでした。この問題はまったく新しいものではなく、何か (ヒューリスティック..?) があるはずです。そうでない場合は、それも知っておくとよいでしょう。
これがコミュニティにとって有用な投稿であることを願っています。事前に感謝します。
PS: 私が見た解決策の 1 つを使用して問題をもう少し明確にするために、スパムに未知の新しい単語 wordX があるとします。その単語に対して、1/ count(spams) + |Vocabulary を実行できます。 + 1|、私がそのようなことをする際に抱えている問題は、語彙のサイズを変更すると、分類するすべての新しいドキュメントに新しい機能と語彙の単語があるということですか? このビデオはその問題を解決しようとしているように見えますが、それが良いことなのか、それとも誤解していたのかはわかりません。
python - 教師あり機械学習: 形状と密度に基づいてデータのクラスターのタイプを分類する (Python)
複数のデータ セットがあり、各データ セットには、ややバナナの形をした領域が 1 つと、密集したブロブである 2 つの領域があります。DBSCAN アルゴリズムを使用して、これらの領域を残りのデータから区別することができましたが、教師ありアルゴリズムを使用して、どのクラスターがバナナで、どの 2 つのクラスターが密なブロブであるかをプログラムに認識させたいと考えています。どこから始めればよいかわかりません。
3 つのカテゴリ (バナナ、ブロブ、どちらでもない) があるため、2 つの別々のロジスティック回帰を実行することが最善のアプローチでしょうか (バナナか非バナナか、ブロブか非ブロブかを評価します)? または、3 つのカテゴリすべてを 1 つのニューラル ネットワークに組み込む良い方法はありますか?
ここに 3 つのデータセットがあります。それぞれ、バナナは赤です。1 番目の 2 つのブロブは緑と青、2 番目のブロブはシアンと緑、3 番目のブロブは青と緑です。私はプログラムに (これで異なる領域を区別し、バナナとブロブの領域にラベルを付けて、コードを実行するたびに手動で選択する必要がないようにしたいと考えています.
machine-learning - スタッキンググレーディングと投票アルゴリズムの違いは何ですか?
データに応じて、複数の可能な分類子を持つ可能性がある問題の機械学習ソリューションを作成しています。そのため、いくつかの分類子を収集しましたが、それぞれが特定の条件で他の分類子よりも優れたパフォーマンスを発揮します。メタ分類戦略を調べているところ、いくつかのアルゴリズムがあることがわかりました。誰かがそれらの間の根本的な違いを指摘できますか?
neural-network - ニューラル ネットワークからの 2 つの出力と 1 つのターゲット
既知のパラメーター (y,x) と未知数 (a,b) の間に y=ax^b のような関係がある場合、2 つの未知の出力を持つニューラル ネットワークの教師ありトレーニングが可能です。ここで(a、b)はネットワークの出力です!!!
machine-learning - 勾配降下最適化法が使用されている場合、新しいデータからどのように学習するのですか?
最終的に勾配降下法を使用する状況を考えてみましょう。トレーニング セットに適合し、正常に機能する仮説の作成に成功したと仮定します。しばらくすると、アルゴリズムは学習する必要のある新しいデータをどんどん受け取ります。
質問: 1) このアルゴリズムは引き続き管理されていると見なすことができますか?
2)もしそうなら、すべての ( new + old ) data を再度反復せずに新しいデータから学習する方法はありますか?
vector - SVC バイアスを使用すると、特徴ベクトルの値が非常に大きい (または非常に小さい) 場合がありますか? [scikit-learn]
特徴ベクトルの値が結果にどのように影響するかをよりよく理解しようとしています。たとえば、最終値が結果である次のベクトルがあるとします (たとえば、これは SVC を使用した分類問題です)。
ほとんどの値は 0 を中心にしていますが、桁違いに小さい -200 という値が 1 つあります。
この値が予測をゆがめており、値が大きく異なるという理由だけで、他の値よりも不当に重み付けされているのではないかと懸念しています。
これは、特徴ベクトルを作成する際に考慮すべきことですか? それとも、私が提供するトレーニング セットに基づいて、この大きな (または小さな) 値に対するベクトル制御を評価するために使用する統計テストはありますか? ベクトルを正規化するために特に推奨する sci-kit Learn で利用可能な方法はありますか?
ご協力ありがとうございました!