Encog

Encog（エンコグ） はJava, .Net, and C++用の機械学習フレームワーク.
Encogはベイジアンネットワーク, 隠れマルコフモデルやサポートベクターマシーンなどの様々な学習アルゴリズムをサポートしている。
しかし、Encogの真価はニューラルネットワークアルゴリズムにある。Encogはニューラルネットワークのための正規化やデータ処理のためのサポートクラスを用意している。
Encogは、多くの異なる技術を使用してトレーニングをおこなう。マルチコアマシン上で最適なトレーニングのパフォーマンスを可能にするために、マルチスレッディングが使用される。
EncogのC++バージョンは、性能向上のためにOpenCL互換性GPUに処理をさせることができる。

Encogは医療 や金融予測を含む様々な用途で利用が可能である。
また、ニューラルネットワークのモデリングやトレーニングを支援するためのGUIワークベンチも用意されている。
Encogは2008年から開発が続けられている。

ニューラルネットワークモデル 
 ADALINE Neural Network
 Adaptive Resonance Theory 1 (ART1)
 Bidirectional Associative Memory (BAM)
 Boltzmann Machine
 Counterpropagation Neural Network (CPN)
 Elman Recurrent Neural Network
 Neuroevolution of augmenting topologies (NEAT)
 Feedforward Neural Network (Perceptron)
 Hopfield Neural Network
 Jordan Recurrent Neural Network
 Radial Basis Function Network
 Recurrent Self Organizing Map (RSOM)
 Self Organizing Map (Kohonen)

学習技術 
 バックプロパゲーション
 Resilient Propagation (RProp)
 Scaled Conjugate Gradient (SCG)
 Levenberg–Marquardt algorithm
 Manhattan Update Rule Propagation
 Competitive Learning
 ホップフィールド学習
 Genetic Algorithm Training
 Instar Training
 Outstar Training
 ADALINE Training

関連項目 
 JOONE: another neural network programmed in Java
 FANN, a neural network written in C with bindings to most other languages.

脚注

外部リンク 
 Encog Homepage
 Encog for Java (Google Code)
 Encog for .Net (Google Code)
 Basic Market Forecasting with Encog Neural Networks (DevX Article)
 An Introduction to Encog Neural Networks for Java (Code Project)
 Benchmarking and Comparing Encog, Neuroph and JOONE Neural Networks

人工ニューラルネットワーク
Neural network software
Data mining and machine learning software
Free science software
Software programmed in Java
Free data analysis software