web-dev-qa-db-ja.com

方法:パターン認識

パターン認識についてもっと知りたいです。これはある程度広い分野であることを知っているので、対処したい特定の種類の問題をリストします。

  • ランダムに見えるバイトのセットからパターンを見つける。
  • 画像内の既知の形状(円や四角など)を認識します。
  • 位置のストリームが与えられた場合の動きパターンに気づく(Vector3)

これは私にとって個人的な実験の新しい領域であり、正直に言うと、どこから始めればよいのかわかりません:-)シルバープラッターで提供される答えを探していませんが、検索します上記の問題ドメインの概念を理解し始めることができる用語やオンラインリソースはすばらしいでしょう。

ありがとう!

ps:追加のクレジットとして、上記のリソースがC#でのコード例/ディスカッションを提供する場合、それは非常に重要です:-)ですが、そうする必要はありません

41
Joel Martinez

非表示のマルコフモデルは、見るのに最適な場所です。 人工ニューラルネットワーク も同様です。

編集:あなたは NeuronDotNet を見ることができます、それはオープンソースであり、コードをざっと見ることができます。

編集2: [〜#〜] itk [〜#〜] を確認することもできます。これもオープンソースであり、これらのタイプのアルゴリズムの多くを実装しています。

編集3:これはかなり良い ニューラルネットの概要 です。それは多くの基本をカバーし、ソースコードが含まれます(ただしC++では)。彼は教師なし学習アルゴリズムを実装しました。ネットワークをトレーニングするために教師あり 逆伝播アルゴリズム を探していると思います。

編集4:別の good intro は、非常に重い数学を回避しますが、掘り下げたい場合は、下部にその詳細の多くへの参照を提供します。擬似コード、適切な図、およびバックプロパゲーションの詳細な説明が含まれています。

29
Gabe

OpenCVには、画像のパターン認識のための関数がいくつかあります。

あなたはこれを見たいかもしれません: http://opencv.willowgarage.com/documentation/pattern_recognition.html 。 (リンク切れ:新しいドキュメントで最も近いものは http://opencv.willowgarage.com/documentation/cpp/ml__machine_learning.html ですが、これは、初心者-他の回答を参照してください)

ただし、openCVは直感的に使用できないため、Matlabから始めることもお勧めします。

4
levesque

これは、「電子機器についてもっと知りたいのですが、どこから始めればよいか教えてもらえますか?」というようなものです。パターン認識は全分野です。数千冊とは言わないまでも数百冊の本が出ており、どの大学でもこれについて大学院レベルで少なくともいくつか(おそらく10以上)のコースを持っています。何十年にもわたって出版されてきたこれに特化した多数のジャーナルがあります...会議..

あなたはウィキペディアから始めるかもしれません。

http://en.wikipedia.org/wiki/Pattern_recognition

4
Larry Watanabe

これは古い質問のようなものですが、関連性があるので、ここに投稿すると思いました:-)スタンフォード大学は、ここでオンライン機械学習クラスを提供し始めました- http://www.ml-class.org =

4
Joel Martinez

コンピュータビジョン関連のパターン認識に関する このページ の役立つリンクがたくさんあります。いくつかのリンクは現在壊れているようですが、あなたはそれが役に立つかもしれません。

2
Indy9000

誤ったパターンに注意してください!かなり大きなデータセットの場合、たとえコイン投げのデータセットであっても、パターンがあるように見えるサブセットが見つかります。検出されたパターンが本物であるという信頼性を評価するための統計的手法がなければ、パターン認識の優れたプロセスはありません。可能な場合は、ランダムデータに対してアルゴリズムを実行して、検出されたパターンを確認します。これらの実験は、ランダム(別名「null」)データで見つけることができるパターンの強度のベースラインを提供します。この種の手法は、調査結果の「誤った発見率」を評価するのに役立ちます。

1
Brian Risk

私はこれについての専門家ではありませんが、 隠しマルコフモデル について読むことから始めるのが良い方法です。

1

いくつかのMATLABツールボックスから始めることをお勧めします。 MATLABは、インタラクティブコンソールを備えているため、このようなものを試してみるのに特に便利な場所です。私が個人的に使用して本当に気に入った素晴らしいツールボックスは、PRTools( http://prtools.org );です。彼らはほとんどすべてのパターン認識ツールといくつかの他の機械学習ツール(ニューラルネットワークなど)の実装を持っています。しかし、MATLABの良い点は、他にも多くのツールボックスを試すことができることです(Mathworksの proprietary toolbox もあります)。

さまざまなツールを十分に使いこなせるようになったら(そして、どの分類子が問題に最適であるかがわかったら)、いつでも、別のアプリケーションに機械学習を実装することを考え始めることができます。

0
Gerard

matlabではパターン認識の学習が簡単です。

いくつかの例があり、使用する関数があります。

概念や実験を理解するのに役立ちます...

0
ufukgun