複数のカテゴリの分類など、特定の問題に最適な学習ルールをどのように見つけますか?
遺伝的アルゴリズムの使用を考えていましたが、パフォーマンスに問題があることはわかっています。教科書の学習ルールを使用していない実例と、それらの学習ルールをどのように見つけたかを探しています。
複数のカテゴリの分類など、特定の問題に最適な学習ルールをどのように見つけますか?
遺伝的アルゴリズムの使用を考えていましたが、パフォーマンスに問題があることはわかっています。教科書の学習ルールを使用していない実例と、それらの学習ルールをどのように見つけたかを探しています。
ところでいい質問です。
分類アルゴリズムは、次の ような多くの特性を使用して分類できます。
したがって、複数のカテゴリを分類する問題については、 Online Logistic Regression (FROM SGD)を使用します。これは 、小規模から中規模のデータ サイズ(数千万未満のトレーニング例) に最適であり、非常に高速であるためです。
もう一つの例:
大量のテキスト データを分類する必要があるとします。ナイーブベイズはあなたの赤ちゃんです。テキスト分析を強く好むためです。そのSVMとSGDはより高速であり、私が経験したようにトレーニングがより簡単です。ただし、これらのルール「SVM と SGD」は、データ サイズが中または小であり、大ではないと見なされる場合に適用できます。
一般に、データ マイニング担当者は、 ML または単純なマイニング プロジェクトを開始するときに、上記の 4 つのポイントを自問します。
その後、何をしたかを確認するために、その AUC または関連する を測定する必要があります。1 つのプロジェクトで複数の分類子を使用する可能性があるためです。または、完璧な分類子を見つけたと思っても、一部の測定手法を使用しても結果が良くないように見えることがあります。そのため、質問をもう一度チェックして、どこが間違っているかを見つけます。
私が助けたことを願っています。
ベクトルx
をネットに入力すると、ネットはすべての重み (ベクトル) に依存する出力を与えますw
。出力と真の答えの間にエラーが発生します。平均誤差 ( e
) は の関数w
ですe = F(w)
。1 層 2 次元のネットワークがあると仮定すると、 のイメージは次のF
ようになります。
トレーニングについて話すとき、実際には をw
最小にする を見つけることについて話しているのですe
。つまり、関数の最小値を検索しています。訓練することは検索することです。
では、どのように検索方法を選択するかという質問です。私の提案は次のとおりです。の表面がどのようにF(w)
見えるかによって異なります。波状であるほど、よりランダム化された方法を使用する必要があります。これは、勾配降順に基づく単純な方法では、局所的な最小値にトラップされる可能性が高くなるためです。そのため、グローバルな最小値を見つける機会が失われます。逆に、 の表面がF(w)
大きな穴のように見える場合は、遺伝的アルゴリズムを忘れてください。この場合、単純な逆伝播または勾配降順に基づくものが非常に適しています。
表面がどのように見えるかをどのように知ることができますか? それは経験のスキルです。または、いくつかの をランダムにサンプリングし、サーフェスの直感的なビューを取得するためにw
計算することもできます。F(w)