Encog(エンコグ) はJava, .Net, and C++用の機械学習フレームワーク. Encogはベイジアンネットワーク, 隠れマルコフモデルやサポートベクターマシーンなどの様々な学習アルゴリズムをサポートしている。 しかし、Encogの真価はニューラルネットワークアルゴリズムにある。Encogはニューラルネットワークのための正規化やデータ処理のためのサポートクラスを用意している。 Encogは、多くの異なる技術を使用してトレーニングをおこなう。マルチコアマシン上で最適なトレーニングのパフォーマンスを可能にするために、マルチスレッディングが使用される。 EncogのC++バージョンは、性能向上のためにOpenCL互換性GPUに処理をさせることができる。
Encogは医療D. Heider, J. Verheyen, D. Hoffmann https://www.biomedcentral.com/content/pdf/1471-2105-11-37.pdf Predicting Bevirimat resistance of HIV-1 from genotype や金融予測J. Heaton https://www.devx.com/opensource/Article/44014/1954 Basic Market Forecasting with Encog Neural Networksを含む様々な用途で利用が可能である。 また、ニューラルネットワークのモデリングやトレーニングを支援するためのGUIワークベンチも用意されている。 Encogは2008年から開発が続けられている。https://www.heatonresearch.com/encog Description of Encog Project.
ニューラルネットワークモデル 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