質問
私は数学者ではありません。私は良い数学パズルを楽しんでいますが、自分の弱点を心から認めています。とはいえ、私は常にニューラルネットワークに興味があり、それらをゼロから実装するのに十分理解している一方で、数学的な証明しか見つけられない概念を理解する必要があるときに壁にぶつかります。実用的な推論を説明するために式の代わりにコードを使用した、ニューラルネットワークに関するプログラマーズガイドはどこにありますか?
解決
もう1つの選択肢は、非数学、非プログラミングの説明です。本 Blondie24:AIの端で遊ぶには、ニューラルに関する非常に優れた説明が含まれています。ネットワーク。著者が開発したチェッカープレイAIについてです。プログラミング参照なしでは完全に ではありませんが、ソリューションのコードに入ることなくアルゴリズムがどのように機能するかを説明するのに非常に役立ちます。
他のヒント
残念ながら、良い「プログラマーソース」が単一かどうかわかりません。それはあなたにすべての概念を与えるでしょう。 ニューラルシステムと適応システム:シミュレーションによる基礎が気に入りました。
「プログラマーの理解」を得る最良の方法ニューラルネットワークの問題は、コードを調べることではなく、問題と正しい結果にあります。したがって、数学を見たくない場合は、特定の問題を調べることをお勧めします。たとえば、非線形アクティベーション関数が必要な理由の例としてXOR問題を検討し、変数の数と可能な値を見て、ニューラルネットワークが特定のサイズとトポロジである必要がある理由を理解し、データをトレーニング/テスト体制に分割し、オーバーフィットが危険な理由を調べるための調査を行いますデータでコードを調べます。
また、電話を切るのではなく、さらに読むことをお勧めします。フィードフォワードネットワークの特定のプラクティスは、リカレントおよび建設的なニューラルネットワークで一般化が見られると、より明確になります。さらに、ベイジアンネットワーク、ファジーコグニティブマップ、SOM、ボルツマンマシン、シミュレーテッドアニーリング、強化学習にはすべて直感があります。
これはあなたの質問に答えるのですか?
PascalまたはDelphiで少し理解する必要がありますが、この概要< ThinkQuestの/ a>は、プログラミングの観点から非常に役立ちます。また、いくつかの困難と、数学が少し威圧的に見える理由についても説明します。 (私も数学者ではありません。)
私はこの種のことにかなり興味があり(まだほとんど)、すぐにフォローできるいくつかのウォークスルーを探していました。
少なくとも少し助けになる希望。
私は個人的に使用しています:
C ++での実用的なニューラルネットワークレシピ
筆者の意見では、C ++のより強力な機能を完全に利用しているわけではありません。多くの場合、クラスを持つ従来のCに似ています。この本はもう少し古くなっています。
ただし、ニューラルネットワークで使用されるアルゴリズムとテクニックの説明が必要な場合は、インテリジェントな素人が理解できる方法で説明します。そうすれば、これらのことを自分で試してみることができます。試してみてください。ここではあまりへそを注視することはありません。
ニューラルネットワークのプログラミングに必要なすべての主要事項-エラー信号を取得するために実際の出力と目的の出力を比較し、このエラー信号を逆伝播アルゴリズムと組み合わせて変更する方法ネットワークリンク接続の強さ、これを反復的に行うことにより、ニューラルネットワークがタスクを徐々に「学習」します。
ほぼこのタイトルで記事を作成しました。この記事では、データがニューラルネットワークにどのように表現されるか、およびサポートベクターマシンなどの他の機械学習方法について説明します。
http://www.heatonresearch.com/content/ニューラルネットワークを使用した非数学的な紹介