<?php $isip_window_title = "ISIP Homepage"; ?>
<?php include("/data/isip/www/templates/documentation/header/header.html"); ?>

<!--#set var="isip_page_title" value="NeuralNetwork" -->
<?php include("/data/isip/www/templates/documentation/body/index_class.html"); ?>
<?php include("/data/isip/www/templates/documentation/body/bar.html"); ?>

<a name="name">
<b>

name:
<a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h">NeuralNetwork</a>

</b>
<br><br>

<a name="synopsis">
<b>synopsis:</b>
<br><br>

<blockquote>
<pre>

g++ [flags ...] file ... -l /isip/tools/lib/$ISIP_BINARY/lib_pr.a

#include &lt;NeuralNetwork.h&gt;

boolean setEpochs(long arg);
long getEpochs();
boolean setLearningRate(float arg);
float getLearningRate();
boolean setMomentum(float arg);
float getMomentum();
boolean setBias(float arg);
float getBias();
boolean init(long epochs, long units, long layers = DEF_HIDDEN_LAYERS, float bias = DEF_BIAS, float rate = DEF_ETA, float momentum = DEF_MOMENTUM);
boolean loadFeatures(String& arg);
boolean loadOutputs(String& arg);
boolean loadTestFeatures(String& arg);
boolean loadTestOutputs(String& arg);
boolean train(String& train, String& output, String& model);
boolean test(String& model, String& test, String& output);
boolean writeModel(String& arg);
</pre>
</blockquote>

<a name="quick_start">
<b>quick start:</b>
<br><br>

<blockquote>
<pre>

none.

</pre>
</blockquote>

<a name="description">
<b>description:</b>
<br><br>

A class that implements a massively distributed processor
made up of simple processing units, which has a natural propensity for
storing experiential knowladge and making it available for use.<br><br>

References:<br><br>

[1] Elaine, Rich and Knight, "Artificial Intelligence", Second Edition,
    McGraw Hill, New York, 1991.<br><br>

[2] S. Haykin, "Neural Networks", Second Edition, Prentice Hall,
    New Jersey, 1999.

<br><br>

<a name="dependencies">
<b>dependencies:</b>
<br><br>

<ul>
  <li> <a href="../../math/scalar/String/">String.h</a>
  <li> <a href="../../math/vector/VectorDouble/">VectorDouble.h</a>
  <li> <a href="../../dstr/Vector/">Vector.h</a>
</ul>

<a name="constants">
<b>public constants:</b>
<br><br>

<ul>
  <li> define class name:

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/nnet_00.cc&constant=CLASS_NAME">static const String CLASS_NAME;</a></pre>

  <li> define i/o constants:
       
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/nnet_00.cc&constant=DEF_PARAM">static const String DEF_PARAM;</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/nnet_00.cc&constant=DEF_COMMENT_TAG">static const String DEF_COMMENT_TAG;</a></pre>

  <li> define public constants:
       
       <pre>static const float DEF_ETA = 0.35;</pre>

       <pre>static const float DEF_BIAS = 1.0;</pre>

       <pre>static const float DEF_MOMENTUM = 0.1;</pre>

       <pre>static const long DEF_EPOCHS = 1;</pre>

       <pre>static const long DEF_HIDDEN_UNITS = 1;</pre>

       <pre>static const long DEF_HIDDEN_LAYERS = 1;</pre>

       <pre>Vector&lt;VectorFloat&gt; features_d;</pre>

       <pre>Vector&lt;VectorFloat&gt; outputs_d;</pre>

       <pre>Vector&lt;VectorFloat&gt; test_features_d;</pre>

       <pre>Vector&lt;VectorFloat&gt; test_outputs_d;</pre>

</ul>

<a name="error">
<b>error codes:</b>
<br><br>

<ul>
  <li> none.

</ul>

<a name="protected">
<b>protected data:</b>
<br><br>

<ul>
  <li> declare the debugging parameters:

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/nnet_00.cc&static=debug_level_d">static Integral::DEBUG debug_level_d;</a></pre>

  <li> declare the memory manager:

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/nnet_00.cc&static=mgr_d">static MemoryManager mgr_d;</a></pre>

</ul>

<a name="public">
<b>required public methods:</b>
<br><br>

<ul>
  <li> static methods:

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=name&instance=0">static const String& name();</a></pre>

  <li> debug methods:

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/nnet_02.cc&method=diagnose&instance=0">static boolean diagnose(Integral::DEBUG debug_level);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=setDebug&instance=0">static boolean setDebug(Integral::DEBUG level);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=debug&instance=0">boolean debug(const unichar* msg) const;</a></pre>

  <li> destructor/constructor(s):

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=destructor&instance=0">~NeuralNetwork();</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=default+constructor&instance=0">NeuralNetwork();</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=copy+constructor&instance=0">NeuralNetwork(const NeuralNetwork& arg);</a></pre>

  <li> assign methods:

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=assign&instance=0">boolean assign(const NeuralNetwork& copy_node);</a></pre>

  <li> operator= method:

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=operator%3D&instance=0">NeuralNetwork& operator= (const NeuralNetwork& arg);</a></pre>

  <li> i/o methods:

       <pre>not present.</pre>

  <li> equality methods:

       <pre>not present.</pre>

  <li> memory management methods:

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=new&instance=0">static void* operator new(size_t size);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=new\[\]&instance=0">static void* operator new[](size_t size);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=delete&instance=0">static void operator delete(void* ptr);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=delete\[\]&instance=0">static void operator delete[](void* ptr);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=setGrowSize&instance=0">static boolean setGrowSize(long grow_size);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=clear&instance=0">boolean clear(Integral::CMODE cmode = Integral::DEF_CMODE);</a></pre>

</ul>

<a name="specific">
<b>class-specific public methods:</b>
<br><br>

<ul>
  <li> declare class specific methods:

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=setEpochs&instance=0">boolean setEpochs(long arg);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=getEpochs&instance=0">long getEpochs();</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=setLearningRate&instance=0">boolean setLearningRate(float arg);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=getLearningRate&instance=0">float getLearningRate();</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=setMomentum&instance=0">boolean setMomentum(float arg);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=getMomentum&instance=0">float getMomentum();</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=setBias&instance=0">boolean setBias(float arg);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/NeuralNetwork.h&method=getBias&instance=0">float getBias();</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/nnet_05.cc&method=init&instance=0">boolean init(long epochs, long units, long layers = DEF_HIDDEN_LAYERS, float bias = DEF_BIAS, float rate = DEF_ETA, float momentum = DEF_MOMENTUM);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/nnet_05.cc&method=loadFeatures&instance=0">boolean loadFeatures(String& arg);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/nnet_05.cc&method=loadOutputs&instance=0">boolean loadOutputs(String& arg);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/nnet_05.cc&method=loadTestFeatures&instance=0">boolean loadTestFeatures(String& arg);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/nnet_05.cc&method=loadTestOutputs&instance=0">boolean loadTestOutputs(String& arg);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/nnet_05.cc&method=train&instance=0">boolean train(String& train, String& output, String& model);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/nnet_05.cc&method=test&instance=0">boolean test(String& model, String& test, String& output);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/NeuralNetwork/nnet_05.cc&method=writeModel&instance=0">boolean writeModel(String& arg);</a></pre>

</ul>

<a name="private">
<b>private data:</b>
<br><br>

<ul>
  <li> declare private data:

       <pre>float bias_d;</pre>

       <pre>float eta_d;</pre>

       <pre>float momentum_d;</pre>

       <pre>long epochs_d;</pre>

       <pre>MatrixFloat w1_d;</pre>

       <pre>MatrixFloat w2_d;</pre>

       <pre>Vector&lt;MatrixFloat&gt; h1_d;</pre>

       <pre>Vector&lt;VectorFloat&gt; hidden_layers_d;</pre>

       <pre>VectorFloat input_layer_d;</pre>

       <pre>VectorFloat output_layer_d;</pre>
</ul>

<a name="examples">
<b>examples:</b>
<br><br>

<ul>
  <li> none.

<pre>
</pre>
</ul>

<a name="notes">
<b>notes:</b>
<br><br>

<ul>
  <li> none.
</ul>

<!--#include virtual="/hse/ies/templates/documentation/footer/footer.html" -->
