2016-11-16 5 views
1

Accord.NETの使用私はNaiveBayesクラシファイアを作成しました。それは、画像処理結果の6つまたはそれ以上のセットに基づいて画素を分類する。私の画像は5MPなので、50枚の画像のトレーニングセットは、非常に大きなトレーニングデータセットを作成します。naivebayesクラシファイアを漸進的にトレーニングするにはどうすればよいですか?

6ピクセルあたりのint配列* 500万ピクセル* 50イメージ。

メモリにすべてのデータを保存しようとするのではなく、NaiveBayesクラシファイアを段階的にトレーニングする方法はありますか? Learn()を複数回呼び出すと、追加するのではなく、古いデータを上書きします。

答えて

0

Accord.NETを使用してNaive Bayesモデルを段階的にトレーニングすることはできません。

しかし、Naive Bayesが行うことは、データにいくつかのディストリビューションを適合させることであり、データの次元が非常に少ないため、むしろデータのサブサンプルでモデルを学習しようとする可能性があります一度にすべてのものよりも。

画像を読み込んでトレーニングセットを作成するときに、各画像のピクセルのうちx%をランダムに破棄することができます。 xのさまざまな値に対してクラシファイアの精度をプロットして、モデルのメモリと精度の最適なバランスを見つけることもできます(ヒント:このような小さなモデルとこの大量のトレーニングデータの場合、あなたがあなたのデータの50%を落としたとしても違いがあります)。

関連する問題