ニューラルネットワークは科学者によって多く使用され、プログラマーによってはあまり使用されないため、科学者を対象とし、ニューラルネットワークに優れたライブラリを提供するプログラミング言語を選択してください。
Pythonは科学者によって広く使用されているため、合理的な選択です。最初に2つのディストリビューションは
http://www.pythonxy.com/
http://code.enthought.com/
これらのPythonディストリビューションには、標準のPythonライブラリにはないが、科学者が行うプログラミングの種類に非常に役立つ多くのアドオンモジュールが含まれています。Pythonパッケージインデックスを検索すると、ニューラルネットワークについて学習しているだけの場合は問題ない可能性のあるいくつかのニューラルネットワークパッケージが見つかります。
http://pypi.python.org/pypi?:action=search&term=neural&submit=search
ただし、ニューラルネットワークで本格的な作業をしている場合は、高速ニューラルネットワークライブラリのようなものが必要になります。これにはPythonバインディングが付属しているため、Pythonでプログラミングを行ったり、グラフ化、視覚化、データ操作などにさまざまなPythonモジュールを使用したりできます。ただし、ニューラルネットワークは、FANNライブラリから最適化されたコンパイル済みコードを使用して実行されます。両方の長所。
つまり、実際のニューラルネットワークコードを実行するには、JavaではなくCが必要です。CライブラリはJavaとうまく統合できないため、Cライブラリとスムーズに統合できる言語を選択してください。Pythonはそれを実行し、アルゴリズムを説明するために必要なコード行がはるかに少ないため、Javaよりも生産性が高くなります。一部の人々は、Javaの10倍の生産性の向上を発見しました。
Rについて言及したのは、おそらくそれが使用する必要のある統計関数を持っているためか、Rコードを記述できる人がいるためです。繰り返しになりますが、PythonとRのどちらを選択するかは、どちらか一方の決定ではありません。両方を使用できます。
RPYライブラリを使用すると、PythonプログラムがRライブラリとコードにアクセスできます。これを使用すると、Cで記述されたFANNライブラリを使用するのと同じように、Pythonでメインプログラムを記述し、Rをライブラリを提供するツールとして扱います。
https://rpy2.github.io/
RプログラムがPythonで記述されたライブラリにアクセスできるように、両方の方法で機能するRSPythonと呼ばれる別のモジュールがあります。これは、専門家のRプログラマーがあなたを助けてくれる場合に役立ちます。
http://www.omegahat.org/RSPython/
そして、それだけではありません。Pythonを活用して、Javaプログラミングを簡素化できます。Javaニューラルネットワークエンジンを使用している場合でも、Java VMで実行され、コードで任意のJavaライブラリとクラスを使用できるJythonバージョンを使用して、ほとんどのプログラムをPythonで記述できます。また、高速のFANNライブラリは、Javaプログラムのバインディングを提供するため、引き続き使用できます。
私があなたの仕事にPythonをお勧めする主な理由は、Pythonが非常に多くの科学者によって使用されているためです。そのため、2つの科学指向のディストリビューションが利用可能です。2つ目の理由は、Pythonは初心者プログラマーにとって非常に簡単に始められることです。ニューラルネットワークの探索では、おそらくより単純なシミュレーションから始めて、より多くのデータ操作と結果の分析を伴うより複雑なシミュレーションに取り組むでしょう。Pythonを使用すると、独自のコードライブラリを構築し、Pythonのエキスパートになることができるため、ニューラルネットワークの問題により多くの注意を向けることができます。少しのJava、少しのC ++、少しのRでバウンスすると、ニューラルネットワークに費やす時間を減らすことができます。その戦略は、プログラミングのキャリアを望んでいる人にとっては良いかもしれません。
ニューラルネットワークの作業が特殊なハードウェア、いわゆるニューロモルフィックチップにまで及ぶ場合でも、NIHのこの論文が示すように、Pythonを活用できます。
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2701676/