mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-05-12 11:37:18 +08:00
Documentation for c26eea874d
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||
<meta name="generator" content="Doxygen 1.12.0"/>
|
||||
<meta name="generator" content="Doxygen 1.13.2"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>TheAlgorithms/C++: machine_learning/kohonen_som_topology.cpp Source File</title>
|
||||
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
|
||||
@@ -60,7 +60,7 @@ window.MathJax = {
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.12.0 -->
|
||||
<!-- Generated by Doxygen 1.13.2 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
|
||||
@@ -124,7 +124,7 @@ $(function(){initNavTree('d4/def/kohonen__som__topology_8cpp_source.html','../..
|
||||
<div class="headertitle"><div class="title">kohonen_som_topology.cpp</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="../../d4/def/kohonen__som__topology_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<a href="../../d4/def/kohonen__som__topology_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
|
||||
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#define _USE_MATH_DEFINES </span><span class="comment">//< required for MS Visual C++</span></div>
|
||||
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <algorithm></span></div>
|
||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include <array></span></div>
|
||||
@@ -140,13 +140,13 @@ $(function(){initNavTree('d4/def/kohonen__som__topology_8cpp_source.html','../..
|
||||
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#ifdef _OPENMP </span><span class="comment">// check if OpenMP based parallellization is available</span></div>
|
||||
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#include <omp.h></span></div>
|
||||
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
|
||||
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span></div>
|
||||
<div class="foldopen" id="foldopen00053" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="../../d9/d66/group__machine__learning.html#gaf5ce14f026d6d231bef29161bac2b485"> 53</a></span><span class="keywordtype">double</span> <a class="code hl_function" href="../../d9/d66/group__machine__learning.html#gaf5ce14f026d6d231bef29161bac2b485">_random</a>(<span class="keywordtype">double</span> a, <span class="keywordtype">double</span> b) {</div>
|
||||
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">return</span> ((b - a) * (std::rand() % 100) / 100.f) + a;</div>
|
||||
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
|
||||
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span></div>
|
||||
<div class="foldopen" id="foldopen00065" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="../../d9/d66/group__machine__learning.html#gabc90175770bf0d5853c466e14993a08c"> 65</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d9/d66/group__machine__learning.html#gabc90175770bf0d5853c466e14993a08c">save_2d_data</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *fname,</div>
|
||||
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">const</span> std::vector<std::valarray<double>> &X) {</div>
|
||||
@@ -180,7 +180,7 @@ $(function(){initNavTree('d4/def/kohonen__som__topology_8cpp_source.html','../..
|
||||
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
|
||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span></div>
|
||||
<div class="foldopen" id="foldopen00105" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="../../d9/d66/group__machine__learning.html#ga60f9186ccb682724a8792a2bf81e9b9e"> 105</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d9/d66/group__machine__learning.html#ga60f9186ccb682724a8792a2bf81e9b9e">get_min_2d</a>(<span class="keyword">const</span> std::vector<std::valarray<double>> &X, <span class="keywordtype">double</span> *val,</div>
|
||||
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span> *x_idx, <span class="keywordtype">int</span> *y_idx) {</div>
|
||||
@@ -201,10 +201,10 @@ $(function(){initNavTree('d4/def/kohonen__som__topology_8cpp_source.html','../..
|
||||
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> }</div>
|
||||
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
|
||||
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span></div>
|
||||
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d8/d77/namespacemachine__learning.html">machine_learning</a> {</div>
|
||||
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="../../d8/d77/namespacemachine__learning.html#a7220dbb7fa896d83bfb7a50e4fce1786"> 129</a></span><span class="keyword">constexpr</span> <span class="keywordtype">double</span> <a class="code hl_variable" href="../../d8/d77/namespacemachine__learning.html#a7220dbb7fa896d83bfb7a50e4fce1786">MIN_DISTANCE</a> = 1e-4;</div>
|
||||
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
|
||||
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span></div>
|
||||
<div class="foldopen" id="foldopen00142" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="../../d8/d77/namespacemachine__learning.html#aa72a53c88203fde278f1fe6c3afe5b07"> 142</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d8/d77/namespacemachine__learning.html#aa72a53c88203fde278f1fe6c3afe5b07">save_u_matrix</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *fname,</div>
|
||||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="keyword">const</span> std::vector<std::vector<std::valarray<double>>> &W) {</div>
|
||||
@@ -254,7 +254,7 @@ $(function(){initNavTree('d4/def/kohonen__som__topology_8cpp_source.html','../..
|
||||
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> </div>
|
||||
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span></div>
|
||||
<div class="foldopen" id="foldopen00200" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="../../d8/d77/namespacemachine__learning.html#ae868ad43698a1d69ba46ea3827d7d2c3"> 200</a></span><span class="keywordtype">double</span> <a class="code hl_function" href="../../d8/d77/namespacemachine__learning.html#ae868ad43698a1d69ba46ea3827d7d2c3">update_weights</a>(<span class="keyword">const</span> std::valarray<double> &X,</div>
|
||||
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> std::vector<std::vector<std::valarray<double>>> *W,</div>
|
||||
@@ -317,7 +317,7 @@ $(function(){initNavTree('d4/def/kohonen__som__topology_8cpp_source.html','../..
|
||||
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">return</span> d_min;</div>
|
||||
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> </div>
|
||||
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span></div>
|
||||
<div class="foldopen" id="foldopen00269" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"><a class="line" href="../../d8/d77/namespacemachine__learning.html#ac43d294e21a0c4fa33c53757df054576"> 269</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d77/namespacemachine__learning.html#ac43d294e21a0c4fa33c53757df054576">kohonen_som</a>(<span class="keyword">const</span> std::vector<std::valarray<double>> &X,</div>
|
||||
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> std::vector<std::vector<std::valarray<double>>> *W,</div>
|
||||
@@ -369,7 +369,8 @@ $(function(){initNavTree('d4/def/kohonen__som__topology_8cpp_source.html','../..
|
||||
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> </div>
|
||||
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span><span class="keyword">using </span><a class="code hl_function" href="../../d8/d77/namespacemachine__learning.html#ac43d294e21a0c4fa33c53757df054576">machine_learning::kohonen_som</a>;</div>
|
||||
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span><span class="keyword">using </span><a class="code hl_function" href="../../d8/d77/namespacemachine__learning.html#aa72a53c88203fde278f1fe6c3afe5b07">machine_learning::save_u_matrix</a>;</div>
|
||||
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> </div>
|
||||
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span></div>
|
||||
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span></div>
|
||||
<div class="foldopen" id="foldopen00330" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"><a class="line" href="../../d4/def/kohonen__som__topology_8cpp.html#a48efb079040c7aaa3a4917a0e486cba9"> 330</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#a48efb079040c7aaa3a4917a0e486cba9">test_2d_classes</a>(std::vector<std::valarray<double>> *<a class="code hl_variable" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>) {</div>
|
||||
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> <span class="keyword">const</span> <span class="keywordtype">int</span> N = <a class="code hl_variable" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>->size();</div>
|
||||
@@ -402,7 +403,7 @@ $(function(){initNavTree('d4/def/kohonen__som__topology_8cpp_source.html','../..
|
||||
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> }</div>
|
||||
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> </div>
|
||||
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span></div>
|
||||
<div class="foldopen" id="foldopen00369" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"><a class="line" href="../../d4/def/kohonen__som__topology_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0"> 369</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0">test1</a>() {</div>
|
||||
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <span class="keywordtype">int</span> j = 0, N = 300;</div>
|
||||
@@ -432,12 +433,12 @@ $(function(){initNavTree('d4/def/kohonen__som__topology_8cpp_source.html','../..
|
||||
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> </div>
|
||||
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#a48efb079040c7aaa3a4917a0e486cba9">test_2d_classes</a>(&X); <span class="comment">// create test data around circumference of a circle</span></div>
|
||||
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> <a class="code hl_function" href="../../d9/d66/group__machine__learning.html#gabc90175770bf0d5853c466e14993a08c">save_2d_data</a>(<span class="stringliteral">"test1.csv"</span>, X); <span class="comment">// save test data points</span></div>
|
||||
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> save_u_matrix(<span class="stringliteral">"w11.csv"</span>, W); <span class="comment">// save initial random weights</span></div>
|
||||
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> kohonen_som(X, &W, 1e-4); <span class="comment">// train the SOM</span></div>
|
||||
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> save_u_matrix(<span class="stringliteral">"w12.csv"</span>, W); <span class="comment">// save the resultant weights</span></div>
|
||||
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#aa72a53c88203fde278f1fe6c3afe5b07">save_u_matrix</a>(<span class="stringliteral">"w11.csv"</span>, W); <span class="comment">// save initial random weights</span></div>
|
||||
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#ac43d294e21a0c4fa33c53757df054576">kohonen_som</a>(X, &W, 1e-4); <span class="comment">// train the SOM</span></div>
|
||||
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#aa72a53c88203fde278f1fe6c3afe5b07">save_u_matrix</a>(<span class="stringliteral">"w12.csv"</span>, W); <span class="comment">// save the resultant weights</span></div>
|
||||
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> </div>
|
||||
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span></div>
|
||||
<div class="foldopen" id="foldopen00411" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"><a class="line" href="../../d4/def/kohonen__som__topology_8cpp.html#a1302662a56ebf67a21249270b017297e"> 411</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#a1302662a56ebf67a21249270b017297e">test_3d_classes1</a>(std::vector<std::valarray<double>> *<a class="code hl_variable" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>) {</div>
|
||||
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> N = <a class="code hl_variable" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>->size();</div>
|
||||
@@ -471,7 +472,7 @@ $(function(){initNavTree('d4/def/kohonen__som__topology_8cpp_source.html','../..
|
||||
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> }</div>
|
||||
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> </div>
|
||||
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span></div>
|
||||
<div class="foldopen" id="foldopen00451" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"><a class="line" href="../../d4/def/kohonen__som__topology_8cpp.html#a0283886819c7c140a023582b7269e2d0"> 451</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#a0283886819c7c140a023582b7269e2d0">test2</a>() {</div>
|
||||
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> <span class="keywordtype">int</span> j = 0, N = 300;</div>
|
||||
@@ -501,12 +502,12 @@ $(function(){initNavTree('d4/def/kohonen__som__topology_8cpp_source.html','../..
|
||||
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> </div>
|
||||
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#a1302662a56ebf67a21249270b017297e">test_3d_classes1</a>(&X); <span class="comment">// create test data around circumference of a circle</span></div>
|
||||
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> <a class="code hl_function" href="../../d9/d66/group__machine__learning.html#gabc90175770bf0d5853c466e14993a08c">save_2d_data</a>(<span class="stringliteral">"test2.csv"</span>, X); <span class="comment">// save test data points</span></div>
|
||||
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> save_u_matrix(<span class="stringliteral">"w21.csv"</span>, W); <span class="comment">// save initial random weights</span></div>
|
||||
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> kohonen_som(X, &W, 1e-4); <span class="comment">// train the SOM</span></div>
|
||||
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> save_u_matrix(<span class="stringliteral">"w22.csv"</span>, W); <span class="comment">// save the resultant weights</span></div>
|
||||
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#aa72a53c88203fde278f1fe6c3afe5b07">save_u_matrix</a>(<span class="stringliteral">"w21.csv"</span>, W); <span class="comment">// save initial random weights</span></div>
|
||||
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#ac43d294e21a0c4fa33c53757df054576">kohonen_som</a>(X, &W, 1e-4); <span class="comment">// train the SOM</span></div>
|
||||
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#aa72a53c88203fde278f1fe6c3afe5b07">save_u_matrix</a>(<span class="stringliteral">"w22.csv"</span>, W); <span class="comment">// save the resultant weights</span></div>
|
||||
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> </div>
|
||||
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span></div>
|
||||
<div class="foldopen" id="foldopen00493" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"><a class="line" href="../../d4/def/kohonen__som__topology_8cpp.html#a4b7ab643f6a5002f991837de46f70653"> 493</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#a4b7ab643f6a5002f991837de46f70653">test_3d_classes2</a>(std::vector<std::valarray<double>> *<a class="code hl_variable" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>) {</div>
|
||||
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> N = <a class="code hl_variable" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>->size();</div>
|
||||
@@ -544,7 +545,7 @@ $(function(){initNavTree('d4/def/kohonen__som__topology_8cpp_source.html','../..
|
||||
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> }</div>
|
||||
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> </div>
|
||||
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span></div>
|
||||
<div class="foldopen" id="foldopen00537" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"><a class="line" href="../../d4/def/kohonen__som__topology_8cpp.html#a6d0455dd5c30adda100e95f0423c786e"> 537</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#a6d0455dd5c30adda100e95f0423c786e">test3</a>() {</div>
|
||||
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> <span class="keywordtype">int</span> j = 0, N = 500;</div>
|
||||
@@ -574,18 +575,18 @@ $(function(){initNavTree('d4/def/kohonen__som__topology_8cpp_source.html','../..
|
||||
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span> </div>
|
||||
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"> 563</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#a4b7ab643f6a5002f991837de46f70653">test_3d_classes2</a>(&X); <span class="comment">// create test data around circumference of a circle</span></div>
|
||||
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span> <a class="code hl_function" href="../../d9/d66/group__machine__learning.html#gabc90175770bf0d5853c466e14993a08c">save_2d_data</a>(<span class="stringliteral">"test3.csv"</span>, X); <span class="comment">// save test data points</span></div>
|
||||
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span> save_u_matrix(<span class="stringliteral">"w31.csv"</span>, W); <span class="comment">// save initial random weights</span></div>
|
||||
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span> kohonen_som(X, &W, 1e-4); <span class="comment">// train the SOM</span></div>
|
||||
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span> save_u_matrix(<span class="stringliteral">"w32.csv"</span>, W); <span class="comment">// save the resultant weights</span></div>
|
||||
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#aa72a53c88203fde278f1fe6c3afe5b07">save_u_matrix</a>(<span class="stringliteral">"w31.csv"</span>, W); <span class="comment">// save initial random weights</span></div>
|
||||
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#ac43d294e21a0c4fa33c53757df054576">kohonen_som</a>(X, &W, 1e-4); <span class="comment">// train the SOM</span></div>
|
||||
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#aa72a53c88203fde278f1fe6c3afe5b07">save_u_matrix</a>(<span class="stringliteral">"w32.csv"</span>, W); <span class="comment">// save the resultant weights</span></div>
|
||||
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span> </div>
|
||||
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span></div>
|
||||
<div class="foldopen" id="foldopen00577" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"><a class="line" href="../../d4/def/kohonen__som__topology_8cpp.html#a2256c10b16edba377b64a44b6c656908"> 577</a></span><span class="keywordtype">double</span> <a class="code hl_function" href="../../d4/def/kohonen__som__topology_8cpp.html#a2256c10b16edba377b64a44b6c656908">get_clock_diff</a>(clock_t start_t, clock_t end_t) {</div>
|
||||
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span> <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(end_t - start_t) / CLOCKS_PER_SEC;</div>
|
||||
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span> </div>
|
||||
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span></div>
|
||||
<div class="foldopen" id="foldopen00582" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"><a class="line" href="../../d4/def/kohonen__som__topology_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 582</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv) {</div>
|
||||
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span><span class="preprocessor">#ifdef _OPENMP</span></div>
|
||||
@@ -632,6 +633,8 @@ $(function(){initNavTree('d4/def/kohonen__som__topology_8cpp_source.html','../..
|
||||
<div class="ttc" id="akohonen__som__topology_8cpp_html_a48efb079040c7aaa3a4917a0e486cba9"><div class="ttname"><a href="../../d4/def/kohonen__som__topology_8cpp.html#a48efb079040c7aaa3a4917a0e486cba9">test_2d_classes</a></div><div class="ttdeci">void test_2d_classes(std::vector< std::valarray< double > > *data)</div><div class="ttdef"><b>Definition</b> <a href="#l00330">kohonen_som_topology.cpp:330</a></div></div>
|
||||
<div class="ttc" id="akohonen__som__topology_8cpp_html_a4b7ab643f6a5002f991837de46f70653"><div class="ttname"><a href="../../d4/def/kohonen__som__topology_8cpp.html#a4b7ab643f6a5002f991837de46f70653">test_3d_classes2</a></div><div class="ttdeci">void test_3d_classes2(std::vector< std::valarray< double > > *data)</div><div class="ttdef"><b>Definition</b> <a href="#l00493">kohonen_som_topology.cpp:493</a></div></div>
|
||||
<div class="ttc" id="akohonen__som__topology_8cpp_html_a6d0455dd5c30adda100e95f0423c786e"><div class="ttname"><a href="../../d4/def/kohonen__som__topology_8cpp.html#a6d0455dd5c30adda100e95f0423c786e">test3</a></div><div class="ttdeci">void test3()</div><div class="ttdef"><b>Definition</b> <a href="#l00537">kohonen_som_topology.cpp:537</a></div></div>
|
||||
<div class="ttc" id="akohonen__som__topology_8cpp_html_aa72a53c88203fde278f1fe6c3afe5b07"><div class="ttname"><a href="../../d4/def/kohonen__som__topology_8cpp.html#aa72a53c88203fde278f1fe6c3afe5b07">save_u_matrix</a></div><div class="ttdeci">int save_u_matrix(const char *fname, const std::vector< std::vector< std::valarray< double > > > &W)</div><div class="ttdef"><b>Definition</b> <a href="#l00142">kohonen_som_topology.cpp:142</a></div></div>
|
||||
<div class="ttc" id="akohonen__som__topology_8cpp_html_ac43d294e21a0c4fa33c53757df054576"><div class="ttname"><a href="../../d4/def/kohonen__som__topology_8cpp.html#ac43d294e21a0c4fa33c53757df054576">kohonen_som</a></div><div class="ttdeci">void kohonen_som(const std::vector< std::valarray< double > > &X, std::vector< std::vector< std::valarray< double > > > *W, double alpha_min)</div><div class="ttdef"><b>Definition</b> <a href="#l00269">kohonen_som_topology.cpp:269</a></div></div>
|
||||
<div class="ttc" id="anamespacemachine__learning_html"><div class="ttname"><a href="../../d8/d77/namespacemachine__learning.html">machine_learning</a></div><div class="ttdoc">A* search algorithm</div></div>
|
||||
<div class="ttc" id="anamespacemachine__learning_html_a6f1c98c016ad34ff3d9f39372161bd35"><div class="ttname"><a href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35">machine_learning::sum</a></div><div class="ttdeci">T sum(const std::vector< std::valarray< T > > &A)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d95/vector__ops_8hpp_source.html#l00232">vector_ops.hpp:232</a></div></div>
|
||||
<div class="ttc" id="anamespacemachine__learning_html_a7220dbb7fa896d83bfb7a50e4fce1786"><div class="ttname"><a href="../../d8/d77/namespacemachine__learning.html#a7220dbb7fa896d83bfb7a50e4fce1786">machine_learning::MIN_DISTANCE</a></div><div class="ttdeci">constexpr double MIN_DISTANCE</div><div class="ttdef"><b>Definition</b> <a href="#l00129">kohonen_som_topology.cpp:129</a></div></div>
|
||||
@@ -644,7 +647,7 @@ $(function(){initNavTree('d4/def/kohonen__som__topology_8cpp_source.html','../..
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="../../dir_3343723ae086de42ee4ca9774da3a13f.html">machine_learning</a></li><li class="navelem"><a class="el" href="../../d4/def/kohonen__som__topology_8cpp.html">kohonen_som_topology.cpp</a></li>
|
||||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
|
||||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user