|
|
|
|
@@ -195,21 +195,21 @@ Friends</h2></td></tr>
|
|
|
|
|
</table>
|
|
|
|
|
</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
<div class="fragment"><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  : <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda">eta</a>(<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda">eta</a>), <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3">accuracy</a>(<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3">accuracy</a>) {</div>
|
|
|
|
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">if</span> (<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda">eta</a> <= 0) {</div>
|
|
|
|
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> << <span class="stringliteral">"learning rate should be positive and nonzero"</span></div>
|
|
|
|
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a>(EXIT_FAILURE);</div>
|
|
|
|
|
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  }</div>
|
|
|
|
|
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a> = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<double></a>(</div>
|
|
|
|
|
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  num_features +</div>
|
|
|
|
|
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  1); <span class="comment">// additional weight is for the constant bias term</span></div>
|
|
|
|
|
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="comment">// initialize with random weights in the range [-50, 49]</span></div>
|
|
|
|
|
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++) <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>[i] = 1.<a class="code" href="../../d4/d32/fibonacci__fast_8cpp.html#a3ba232425d45f9e9c0b87a8cf7ab69d9">f</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="comment">// weights[i] = (static_cast<double>(std::rand() % 100) - 50);</span></div>
|
|
|
|
|
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  }</div>
|
|
|
|
|
<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  : <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda">eta</a>(<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda">eta</a>), <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3">accuracy</a>(<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3">accuracy</a>) {</div>
|
|
|
|
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">if</span> (<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda">eta</a> <= 0) {</div>
|
|
|
|
|
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> << <span class="stringliteral">"learning rate should be positive and nonzero"</span></div>
|
|
|
|
|
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a>(EXIT_FAILURE);</div>
|
|
|
|
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  }</div>
|
|
|
|
|
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a> = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<double></a>(</div>
|
|
|
|
|
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  num_features +</div>
|
|
|
|
|
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  1); <span class="comment">// additional weight is for the constant bias term</span></div>
|
|
|
|
|
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="comment">// initialize with random weights in the range [-50, 49]</span></div>
|
|
|
|
|
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++) <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>[i] = 1.<a class="code" href="../../d4/d32/fibonacci__fast_8cpp.html#a3ba232425d45f9e9c0b87a8cf7ab69d9">f</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="comment">// weights[i] = (static_cast<double>(std::rand() % 100) - 50);</span></div>
|
|
|
|
|
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div>
|
|
|
|
|
</div><!-- fragment --><div class="dynheader">
|
|
|
|
|
Here is the call graph for this function:</div>
|
|
|
|
|
<div class="dyncontent">
|
|
|
|
|
@@ -252,16 +252,16 @@ Here is the call graph for this function:</div>
|
|
|
|
|
<dl class="section return"><dt>Returns</dt><dd><code>true</code> size matches </dd>
|
|
|
|
|
<dd>
|
|
|
|
|
<code>false</code> size does not match </dd></dl>
|
|
|
|
|
<div class="fragment"><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">if</span> (x.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() != (<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() - 1)) {</div>
|
|
|
|
|
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> << __func__ << <span class="stringliteral">": "</span></div>
|
|
|
|
|
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  << <span class="stringliteral">"Number of features in x does not match the feature "</span></div>
|
|
|
|
|
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="stringliteral">"dimension in model!"</span></div>
|
|
|
|
|
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
|
|
|
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  }</div>
|
|
|
|
|
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
|
|
|
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  }</div>
|
|
|
|
|
<div class="fragment"><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">if</span> (x.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() != (<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() - 1)) {</div>
|
|
|
|
|
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> << __func__ << <span class="stringliteral">": "</span></div>
|
|
|
|
|
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  << <span class="stringliteral">"Number of features in x does not match the feature "</span></div>
|
|
|
|
|
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="stringliteral">"dimension in model!"</span></div>
|
|
|
|
|
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
|
|
|
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  }</div>
|
|
|
|
|
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
|
|
|
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  }</div>
|
|
|
|
|
</div><!-- fragment --><div class="dynheader">
|
|
|
|
|
Here is the call graph for this function:</div>
|
|
|
|
|
<div class="dyncontent">
|
|
|
|
|
@@ -312,23 +312,23 @@ Here is the call graph for this function:</div>
|
|
|
|
|
</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
<dl class="section return"><dt>Returns</dt><dd>correction factor </dd></dl>
|
|
|
|
|
<div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">if</span> (!<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56">check_size_match</a>(x))</div>
|
|
|
|
|
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span> 0;</div>
|
|
|
|
|
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="comment">/* output of the model with current weights */</span></div>
|
|
|
|
|
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordtype">int</span> p = <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3">predict</a>(x);</div>
|
|
|
|
|
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordtype">int</span> prediction_error = y - p; <span class="comment">// error in estimation</span></div>
|
|
|
|
|
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordtype">double</span> correction_factor = <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda">eta</a> * prediction_error;</div>
|
|
|
|
|
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="comment">/* update each weight, the last weight is the bias term */</span></div>
|
|
|
|
|
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < x.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++) {</div>
|
|
|
|
|
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>[i] += correction_factor * x[i];</div>
|
|
|
|
|
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  }</div>
|
|
|
|
|
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>[x.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>()] += correction_factor; <span class="comment">// update bias</span></div>
|
|
|
|
|
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">return</span> correction_factor;</div>
|
|
|
|
|
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  }</div>
|
|
|
|
|
<div class="fragment"><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">if</span> (!<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56">check_size_match</a>(x))</div>
|
|
|
|
|
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">return</span> 0;</div>
|
|
|
|
|
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="comment">/* output of the model with current weights */</span></div>
|
|
|
|
|
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordtype">int</span> p = <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3">predict</a>(x);</div>
|
|
|
|
|
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordtype">int</span> prediction_error = y - p; <span class="comment">// error in estimation</span></div>
|
|
|
|
|
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordtype">double</span> correction_factor = <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda">eta</a> * prediction_error;</div>
|
|
|
|
|
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="comment">/* update each weight, the last weight is the bias term */</span></div>
|
|
|
|
|
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < x.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++) {</div>
|
|
|
|
|
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>[i] += correction_factor * x[i];</div>
|
|
|
|
|
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  }</div>
|
|
|
|
|
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>[x.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>()] += correction_factor; <span class="comment">// update bias</span></div>
|
|
|
|
|
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">return</span> correction_factor;</div>
|
|
|
|
|
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  }</div>
|
|
|
|
|
</div><!-- fragment --><div class="dynheader">
|
|
|
|
|
Here is the call graph for this function:</div>
|
|
|
|
|
<div class="dyncontent">
|
|
|
|
|
@@ -380,35 +380,35 @@ template<int N> </div>
|
|
|
|
|
</table>
|
|
|
|
|
</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
<div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordtype">double</span> avg_pred_error = 1.f;</div>
|
|
|
|
|
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordtype">int</span> iter;</div>
|
|
|
|
|
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">for</span> (iter = 0; (iter < MAX_ITER) && (avg_pred_error > <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3">accuracy</a>);</div>
|
|
|
|
|
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  iter++) {</div>
|
|
|
|
|
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  avg_pred_error = 0.f;</div>
|
|
|
|
|
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="comment">// perform fit for each sample</span></div>
|
|
|
|
|
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < N; i++) {</div>
|
|
|
|
|
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordtype">double</span> err = <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a74e3c6c037b67895014414c5d75465e5">fit</a>(X[i], y[i]);</div>
|
|
|
|
|
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  avg_pred_error += std::abs(err);</div>
|
|
|
|
|
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div>
|
|
|
|
|
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  avg_pred_error /= N;</div>
|
|
|
|
|
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="comment">// Print updates every 200th iteration</span></div>
|
|
|
|
|
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="comment">// if (iter % 100 == 0)</span></div>
|
|
|
|
|
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\tIter "</span> << iter << <span class="stringliteral">": Training weights: "</span> << *<span class="keyword">this</span></div>
|
|
|
|
|
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  << <span class="stringliteral">"\tAvg error: "</span> << avg_pred_error << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  }</div>
|
|
|
|
|
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">if</span> (iter < MAX_ITER)</div>
|
|
|
|
|
<div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordtype">double</span> avg_pred_error = 1.f;</div>
|
|
|
|
|
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordtype">int</span> iter;</div>
|
|
|
|
|
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">for</span> (iter = 0; (iter < MAX_ITER) && (avg_pred_error > <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3">accuracy</a>);</div>
|
|
|
|
|
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  iter++) {</div>
|
|
|
|
|
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  avg_pred_error = 0.f;</div>
|
|
|
|
|
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="comment">// perform fit for each sample</span></div>
|
|
|
|
|
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < N; i++) {</div>
|
|
|
|
|
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordtype">double</span> err = <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a74e3c6c037b67895014414c5d75465e5">fit</a>(X[i], y[i]);</div>
|
|
|
|
|
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  avg_pred_error += std::abs(err);</div>
|
|
|
|
|
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  }</div>
|
|
|
|
|
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  avg_pred_error /= N;</div>
|
|
|
|
|
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="comment">// Print updates every 200th iteration</span></div>
|
|
|
|
|
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="comment">// if (iter % 100 == 0)</span></div>
|
|
|
|
|
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\tIter "</span> << iter << <span class="stringliteral">": Training weights: "</span> << *<span class="keyword">this</span></div>
|
|
|
|
|
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  << <span class="stringliteral">"\tAvg error: "</span> << avg_pred_error << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  }</div>
|
|
|
|
|
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Converged after "</span> << iter << <span class="stringliteral">" iterations."</span></div>
|
|
|
|
|
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">else</span></div>
|
|
|
|
|
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Did not converge after "</span> << iter << <span class="stringliteral">" iterations."</span></div>
|
|
|
|
|
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  }</div>
|
|
|
|
|
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">if</span> (iter < MAX_ITER)</div>
|
|
|
|
|
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Converged after "</span> << iter << <span class="stringliteral">" iterations."</span></div>
|
|
|
|
|
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">else</span></div>
|
|
|
|
|
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Did not converge after "</span> << iter << <span class="stringliteral">" iterations."</span></div>
|
|
|
|
|
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
|
|
|
|
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  }</div>
|
|
|
|
|
</div><!-- fragment -->
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
@@ -453,20 +453,20 @@ template<int N> </div>
|
|
|
|
|
</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
<dl class="section return"><dt>Returns</dt><dd>model prediction output </dd></dl>
|
|
|
|
|
<div class="fragment"><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">if</span> (!<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56">check_size_match</a>(x))</div>
|
|
|
|
|
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">return</span> 0;</div>
|
|
|
|
|
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordtype">double</span> y = <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/back.html">back</a>(); <span class="comment">// assign bias value</span></div>
|
|
|
|
|
<div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">if</span> (!<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56">check_size_match</a>(x))</div>
|
|
|
|
|
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">return</span> 0;</div>
|
|
|
|
|
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="comment">// for (int i = 0; i < x.size(); i++) y += x[i] * weights[i];</span></div>
|
|
|
|
|
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  y = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/inner_product.html">std::inner_product</a>(x.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), x.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(), <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), y);</div>
|
|
|
|
|
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">if</span> (out != <span class="keyword">nullptr</span>) <span class="comment">// if out variable is provided</span></div>
|
|
|
|
|
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  *out = y;</div>
|
|
|
|
|
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">return</span> activation(y); <span class="comment">// quantizer: apply ADALINE threshold function</span></div>
|
|
|
|
|
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  }</div>
|
|
|
|
|
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordtype">double</span> y = <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/back.html">back</a>(); <span class="comment">// assign bias value</span></div>
|
|
|
|
|
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="comment">// for (int i = 0; i < x.size(); i++) y += x[i] * weights[i];</span></div>
|
|
|
|
|
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  y = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/inner_product.html">std::inner_product</a>(x.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), x.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(), <a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), y);</div>
|
|
|
|
|
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">if</span> (out != <span class="keyword">nullptr</span>) <span class="comment">// if out variable is provided</span></div>
|
|
|
|
|
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  *out = y;</div>
|
|
|
|
|
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  </div>
|
|
|
|
|
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">return</span> activation(y); <span class="comment">// quantizer: apply ADALINE threshold function</span></div>
|
|
|
|
|
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  }</div>
|
|
|
|
|
</div><!-- fragment --><div class="dynheader">
|
|
|
|
|
Here is the call graph for this function:</div>
|
|
|
|
|
<div class="dyncontent">
|
|
|
|
|
@@ -511,16 +511,16 @@ Here is the call graph for this function:</div>
|
|
|
|
|
</table>
|
|
|
|
|
</div><div class="memdoc">
|
|
|
|
|
<p>Operator to print the weights of the model </p>
|
|
|
|
|
<div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  out << <span class="stringliteral">"<"</span>;</div>
|
|
|
|
|
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < ada.<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++) {</div>
|
|
|
|
|
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  out << ada.<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>[i];</div>
|
|
|
|
|
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">if</span> (i < ada.<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() - 1)</div>
|
|
|
|
|
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  out << <span class="stringliteral">", "</span>;</div>
|
|
|
|
|
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  }</div>
|
|
|
|
|
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  out << <span class="stringliteral">">"</span>;</div>
|
|
|
|
|
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">return</span> out;</div>
|
|
|
|
|
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  }</div>
|
|
|
|
|
<div class="fragment"><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  {</div>
|
|
|
|
|
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  out << <span class="stringliteral">"<"</span>;</div>
|
|
|
|
|
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < ada.<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++) {</div>
|
|
|
|
|
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  out << ada.<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>[i];</div>
|
|
|
|
|
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">if</span> (i < ada.<a class="code" href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">weights</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() - 1)</div>
|
|
|
|
|
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  out << <span class="stringliteral">", "</span>;</div>
|
|
|
|
|
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  }</div>
|
|
|
|
|
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  out << <span class="stringliteral">">"</span>;</div>
|
|
|
|
|
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">return</span> out;</div>
|
|
|
|
|
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  }</div>
|
|
|
|
|
</div><!-- fragment -->
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
@@ -533,23 +533,23 @@ Here is the call graph for this function:</div>
|
|
|
|
|
<div class="ttc" id="afibonacci__fast_8cpp_html_a3ba232425d45f9e9c0b87a8cf7ab69d9"><div class="ttname"><a href="../../d4/d32/fibonacci__fast_8cpp.html#a3ba232425d45f9e9c0b87a8cf7ab69d9">f</a></div><div class="ttdeci">uint64_t f[MAX]</div><div class="ttdef"><b>Definition:</b> fibonacci_fast.cpp:27</div></div>
|
|
|
|
|
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector< double ></a></div></div>
|
|
|
|
|
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
|
|
|
|
|
<div class="ttc" id="aclassmachine__learning_1_1adaline_html_a74e3c6c037b67895014414c5d75465e5"><div class="ttname"><a href="../../d6/d30/classmachine__learning_1_1adaline.html#a74e3c6c037b67895014414c5d75465e5">machine_learning::adaline::fit</a></div><div class="ttdeci">double fit(const std::vector< double > &x, const int &y)</div><div class="ttdef"><b>Definition:</b> adaline_learning.cpp:110</div></div>
|
|
|
|
|
<div class="ttc" id="aclassmachine__learning_1_1adaline_html_a74e3c6c037b67895014414c5d75465e5"><div class="ttname"><a href="../../d6/d30/classmachine__learning_1_1adaline.html#a74e3c6c037b67895014414c5d75465e5">machine_learning::adaline::fit</a></div><div class="ttdeci">double fit(const std::vector< double > &x, const int &y)</div><div class="ttdef"><b>Definition:</b> adaline_learning.cpp:112</div></div>
|
|
|
|
|
<div class="ttc" id="aback_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/back.html">std::vector::back</a></div><div class="ttdeci">T back(T... args)</div></div>
|
|
|
|
|
<div class="ttc" id="aclassmachine__learning_1_1adaline_html_ab11242d9ad5b03a75911e29b04f78fd3"><div class="ttname"><a href="../../d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3">machine_learning::adaline::predict</a></div><div class="ttdeci">int predict(const std::vector< double > &x, double *out=nullptr)</div><div class="ttdef"><b>Definition:</b> adaline_learning.cpp:90</div></div>
|
|
|
|
|
<div class="ttc" id="aclassmachine__learning_1_1adaline_html_ac8a9c2aaaa63b0f27ea176857e1e7d56"><div class="ttname"><a href="../../d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56">machine_learning::adaline::check_size_match</a></div><div class="ttdeci">bool check_size_match(const std::vector< double > &x)</div><div class="ttdef"><b>Definition:</b> adaline_learning.cpp:174</div></div>
|
|
|
|
|
<div class="ttc" id="aclassmachine__learning_1_1adaline_html_ab11242d9ad5b03a75911e29b04f78fd3"><div class="ttname"><a href="../../d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3">machine_learning::adaline::predict</a></div><div class="ttdeci">int predict(const std::vector< double > &x, double *out=nullptr)</div><div class="ttdef"><b>Definition:</b> adaline_learning.cpp:92</div></div>
|
|
|
|
|
<div class="ttc" id="aclassmachine__learning_1_1adaline_html_ac8a9c2aaaa63b0f27ea176857e1e7d56"><div class="ttname"><a href="../../d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56">machine_learning::adaline::check_size_match</a></div><div class="ttdeci">bool check_size_match(const std::vector< double > &x)</div><div class="ttdef"><b>Definition:</b> adaline_learning.cpp:176</div></div>
|
|
|
|
|
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a></div></div>
|
|
|
|
|
<div class="ttc" id="aclassmachine__learning_1_1adaline_html_a28160d17e492597a2f112e0d38551cda"><div class="ttname"><a href="../../d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda">machine_learning::adaline::eta</a></div><div class="ttdeci">const double eta</div><div class="ttdoc">learning rate of the algorithm</div><div class="ttdef"><b>Definition:</b> adaline_learning.cpp:185</div></div>
|
|
|
|
|
<div class="ttc" id="aclassmachine__learning_1_1adaline_html_a4cd8fe438032fedaa66f93bfd66f5492"><div class="ttname"><a href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">machine_learning::adaline::weights</a></div><div class="ttdeci">std::vector< double > weights</div><div class="ttdoc">weights of the neural network</div><div class="ttdef"><b>Definition:</b> adaline_learning.cpp:187</div></div>
|
|
|
|
|
<div class="ttc" id="aclassmachine__learning_1_1adaline_html_a28160d17e492597a2f112e0d38551cda"><div class="ttname"><a href="../../d6/d30/classmachine__learning_1_1adaline.html#a28160d17e492597a2f112e0d38551cda">machine_learning::adaline::eta</a></div><div class="ttdeci">const double eta</div><div class="ttdoc">learning rate of the algorithm</div><div class="ttdef"><b>Definition:</b> adaline_learning.cpp:187</div></div>
|
|
|
|
|
<div class="ttc" id="aclassmachine__learning_1_1adaline_html_a4cd8fe438032fedaa66f93bfd66f5492"><div class="ttname"><a href="../../d6/d30/classmachine__learning_1_1adaline.html#a4cd8fe438032fedaa66f93bfd66f5492">machine_learning::adaline::weights</a></div><div class="ttdeci">std::vector< double > weights</div><div class="ttdoc">weights of the neural network</div><div class="ttdef"><b>Definition:</b> adaline_learning.cpp:189</div></div>
|
|
|
|
|
<div class="ttc" id="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
|
|
|
|
|
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/begin.html">std::vector::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
|
|
|
|
|
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/end.html">std::vector::end</a></div><div class="ttdeci">T end(T... args)</div></div>
|
|
|
|
|
<div class="ttc" id="aclassmachine__learning_1_1adaline_html_aa23d60262f917f35836ef4b1c1d9f7d3"><div class="ttname"><a href="../../d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3">machine_learning::adaline::accuracy</a></div><div class="ttdeci">const double accuracy</div><div class="ttdoc">model fit convergence accuracy</div><div class="ttdef"><b>Definition:</b> adaline_learning.cpp:186</div></div>
|
|
|
|
|
<div class="ttc" id="aclassmachine__learning_1_1adaline_html_aa23d60262f917f35836ef4b1c1d9f7d3"><div class="ttname"><a href="../../d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3">machine_learning::adaline::accuracy</a></div><div class="ttdeci">const double accuracy</div><div class="ttdoc">model fit convergence accuracy</div><div class="ttdef"><b>Definition:</b> adaline_learning.cpp:188</div></div>
|
|
|
|
|
<div class="ttc" id="aexit_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a></div><div class="ttdeci">T exit(T... args)</div></div>
|
|
|
|
|
<!-- start footer part -->
|
|
|
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
|
|
|
<ul>
|
|
|
|
|
<li class="navelem"><a class="el" href="../../d8/d77/namespacemachine__learning.html">machine_learning</a></li><li class="navelem"><a class="el" href="../../d6/d30/classmachine__learning_1_1adaline.html">adaline</a></li>
|
|
|
|
|
<li class="footer">Generated on Sun Jun 21 2020 19:43:38 for Algorithms_in_C++ by
|
|
|
|
|
<li class="footer">Generated on Mon Jun 22 2020 11:53:41 for Algorithms_in_C++ by
|
|
|
|
|
<a href="http://www.doxygen.org/index.html">
|
|
|
|
|
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.18 </li>
|
|
|
|
|
</ul>
|
|
|
|
|
|