Skip to content

Commit

Permalink
build based on 3766b6f
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Dec 23, 2023
1 parent 67c95a4 commit 565124f
Show file tree
Hide file tree
Showing 25 changed files with 355 additions and 352 deletions.
2 changes: 1 addition & 1 deletion dev/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documenter":{"julia_version":"1.9.4","generation_timestamp":"2023-12-19T01:01:18","documenter_version":"1.2.1"}}
{"documenter":{"julia_version":"1.9.4","generation_timestamp":"2023-12-23T15:08:21","documenter_version":"1.2.1"}}
4 changes: 2 additions & 2 deletions dev/api/esn/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

train_data = rand(10, 100) # 10 features, 100 time steps

esn = ESN(train_data, reservoir=RandSparseReservoir(200), washout=10)</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/SciML/ReservoirComputing.jl/blob/ba0c0d5306aa3fb3228fb008fcce9e0c604a6073/src/esn/echostatenetwork.jl#L64-L92">source</a></section></article><h2 id="Variations"><a class="docs-heading-anchor" href="#Variations">Variations</a><a id="Variations-1"></a><a class="docs-heading-anchor-permalink" href="#Variations" title="Permalink"></a></h2><p>In addition to the standard <code>ESN</code> model, there are variations that allow for deeper customization of the underlying model. Currently, there are two available variations: <code>Default</code> and <code>Hybrid</code>. These variations provide different ways to configure the ESN. Here&#39;s the documentation for the variations:</p><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="ReservoirComputing.Default" href="#ReservoirComputing.Default"><code>ReservoirComputing.Default</code></a><span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Default()</code></pre><p>The <code>Default</code> struct specifies the use of the standard model in Echo State Networks (ESNs). It requires no parameters and is used when no specific variations or customizations of the ESN model are needed. This struct is ideal for straightforward applications where the default ESN settings are sufficient.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/SciML/ReservoirComputing.jl/blob/ba0c0d5306aa3fb3228fb008fcce9e0c604a6073/src/esn/echostatenetwork.jl#L16-L22">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="ReservoirComputing.Hybrid" href="#ReservoirComputing.Hybrid"><code>ReservoirComputing.Hybrid</code></a><span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Hybrid(prior_model, u0, tspan, datasize)</code></pre><p>Constructs a <code>Hybrid</code> variation of Echo State Networks (ESNs) integrating a knowledge-based model (<code>prior_model</code>) with ESNs for advanced training and prediction in chaotic systems. </p><p><strong>Parameters</strong></p><ul><li><code>prior_model</code>: A knowledge-based model function for integration with ESNs.</li><li><code>u0</code>: Initial conditions for the model.</li><li><code>tspan</code>: Time span as a tuple, indicating the duration for model operation.</li><li><code>datasize</code>: The size of the data to be processed.</li></ul><p><strong>Returns</strong></p><ul><li>A <code>Hybrid</code> struct instance representing the combined ESN and knowledge-based model.</li></ul><p>This method is effective for chaotic processes as highlighted in <sup class="footnote-reference"><a id="citeref-Pathak" href="#footnote-Pathak">[Pathak]</a></sup>.</p><p>Reference: <sup class="footnote-reference"><a id="citeref-Pathak" href="#footnote-Pathak">[Pathak]</a></sup>: Jaideep Pathak et al. &quot;Hybrid Forecasting of Chaotic Processes: Using Machine Learning in Conjunction with a Knowledge-Based Model&quot; (2018).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/SciML/ReservoirComputing.jl/blob/ba0c0d5306aa3fb3228fb008fcce9e0c604a6073/src/esn/echostatenetwork.jl#L33-L54">source</a></section></article><p>The <code>Hybrid</code> variation is the most complex option and offers additional customization. Note that more variations may be added in the future to provide even greater flexibility.</p><h2 id="Training"><a class="docs-heading-anchor" href="#Training">Training</a><a id="Training-1"></a><a class="docs-heading-anchor-permalink" href="#Training" title="Permalink"></a></h2><p>To train an ESN model, you can use the <code>train</code> function. It takes the ESN model, training data, and other optional parameters as input and returns a trained model. Here&#39;s the documentation for the train function:</p><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="ReservoirComputing.train" href="#ReservoirComputing.train"><code>ReservoirComputing.train</code></a><span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">train(esn::AbstractEchoStateNetwork, target_data, training_method = StandardRidge(0.0))</code></pre><p>Trains an Echo State Network (ESN) using the provided target data and a specified training method.</p><p><strong>Parameters</strong></p><ul><li><code>esn::AbstractEchoStateNetwork</code>: The ESN instance to be trained.</li><li><code>target_data</code>: Supervised training data for the ESN.</li><li><code>training_method</code>: The method for training the ESN (default: <code>StandardRidge(0.0)</code>).</li></ul><p><strong>Returns</strong></p><ul><li>The trained ESN model. Its type and structure depend on <code>training_method</code> and the ESN&#39;s implementation.</li></ul><p><strong>Returns</strong></p><p>The trained ESN model. The exact type and structure of the return value depends on the <code>training_method</code> and the specific ESN implementation.</p><pre><code class="language-julia hljs">using ReservoirComputing
esn = ESN(train_data, reservoir=RandSparseReservoir(200), washout=10)</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/SciML/ReservoirComputing.jl/blob/3766b6f9be40cbbf4695423b7c3c093e526f64eb/src/esn/echostatenetwork.jl#L64-L92">source</a></section></article><h2 id="Variations"><a class="docs-heading-anchor" href="#Variations">Variations</a><a id="Variations-1"></a><a class="docs-heading-anchor-permalink" href="#Variations" title="Permalink"></a></h2><p>In addition to the standard <code>ESN</code> model, there are variations that allow for deeper customization of the underlying model. Currently, there are two available variations: <code>Default</code> and <code>Hybrid</code>. These variations provide different ways to configure the ESN. Here&#39;s the documentation for the variations:</p><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="ReservoirComputing.Default" href="#ReservoirComputing.Default"><code>ReservoirComputing.Default</code></a><span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Default()</code></pre><p>The <code>Default</code> struct specifies the use of the standard model in Echo State Networks (ESNs). It requires no parameters and is used when no specific variations or customizations of the ESN model are needed. This struct is ideal for straightforward applications where the default ESN settings are sufficient.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/SciML/ReservoirComputing.jl/blob/3766b6f9be40cbbf4695423b7c3c093e526f64eb/src/esn/echostatenetwork.jl#L16-L22">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="ReservoirComputing.Hybrid" href="#ReservoirComputing.Hybrid"><code>ReservoirComputing.Hybrid</code></a><span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Hybrid(prior_model, u0, tspan, datasize)</code></pre><p>Constructs a <code>Hybrid</code> variation of Echo State Networks (ESNs) integrating a knowledge-based model (<code>prior_model</code>) with ESNs for advanced training and prediction in chaotic systems. </p><p><strong>Parameters</strong></p><ul><li><code>prior_model</code>: A knowledge-based model function for integration with ESNs.</li><li><code>u0</code>: Initial conditions for the model.</li><li><code>tspan</code>: Time span as a tuple, indicating the duration for model operation.</li><li><code>datasize</code>: The size of the data to be processed.</li></ul><p><strong>Returns</strong></p><ul><li>A <code>Hybrid</code> struct instance representing the combined ESN and knowledge-based model.</li></ul><p>This method is effective for chaotic processes as highlighted in <sup class="footnote-reference"><a id="citeref-Pathak" href="#footnote-Pathak">[Pathak]</a></sup>.</p><p>Reference: <sup class="footnote-reference"><a id="citeref-Pathak" href="#footnote-Pathak">[Pathak]</a></sup>: Jaideep Pathak et al. &quot;Hybrid Forecasting of Chaotic Processes: Using Machine Learning in Conjunction with a Knowledge-Based Model&quot; (2018).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/SciML/ReservoirComputing.jl/blob/3766b6f9be40cbbf4695423b7c3c093e526f64eb/src/esn/echostatenetwork.jl#L33-L54">source</a></section></article><p>The <code>Hybrid</code> variation is the most complex option and offers additional customization. Note that more variations may be added in the future to provide even greater flexibility.</p><h2 id="Training"><a class="docs-heading-anchor" href="#Training">Training</a><a id="Training-1"></a><a class="docs-heading-anchor-permalink" href="#Training" title="Permalink"></a></h2><p>To train an ESN model, you can use the <code>train</code> function. It takes the ESN model, training data, and other optional parameters as input and returns a trained model. Here&#39;s the documentation for the train function:</p><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="ReservoirComputing.train" href="#ReservoirComputing.train"><code>ReservoirComputing.train</code></a><span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">train(esn::AbstractEchoStateNetwork, target_data, training_method = StandardRidge(0.0))</code></pre><p>Trains an Echo State Network (ESN) using the provided target data and a specified training method.</p><p><strong>Parameters</strong></p><ul><li><code>esn::AbstractEchoStateNetwork</code>: The ESN instance to be trained.</li><li><code>target_data</code>: Supervised training data for the ESN.</li><li><code>training_method</code>: The method for training the ESN (default: <code>StandardRidge(0.0)</code>).</li></ul><p><strong>Returns</strong></p><ul><li>The trained ESN model. Its type and structure depend on <code>training_method</code> and the ESN&#39;s implementation.</li></ul><p><strong>Returns</strong></p><p>The trained ESN model. The exact type and structure of the return value depends on the <code>training_method</code> and the specific ESN implementation.</p><pre><code class="language-julia hljs">using ReservoirComputing

# Initialize an ESN instance and target data
esn = ESN(train_data, reservoir=RandSparseReservoir(200), washout=10)
Expand All @@ -13,4 +13,4 @@
trained_esn = train(esn, target_data)

# Train the ESN using a custom training method
trained_esn = train(esn, target_data, training_method=StandardRidge(1.0))</code></pre><p><strong>Notes</strong></p><ul><li>When using a <code>Hybrid</code> variation, the function extends the state matrix with data from the physical model included in the <code>variation</code>.</li><li>The training is handled by a lower-level <code>_train</code> function which takes the new state matrix and performs the actual training using the specified <code>training_method</code>.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/SciML/ReservoirComputing.jl/blob/ba0c0d5306aa3fb3228fb008fcce9e0c604a6073/src/esn/echostatenetwork.jl#L209-L246">source</a></section></article><p>With these components and variations, you can configure and train ESN models for various time series and sequential data prediction tasks.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../predict/">« Prediction Types</a><a class="docs-footer-nextpage" href="../esn_layers/">ESN Layers »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.2.1 on <span class="colophon-date" title="Tuesday 19 December 2023 01:01">Tuesday 19 December 2023</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
trained_esn = train(esn, target_data, training_method=StandardRidge(1.0))</code></pre><p><strong>Notes</strong></p><ul><li>When using a <code>Hybrid</code> variation, the function extends the state matrix with data from the physical model included in the <code>variation</code>.</li><li>The training is handled by a lower-level <code>_train</code> function which takes the new state matrix and performs the actual training using the specified <code>training_method</code>.</li></ul></div><a class="docs-sourcelink" target="_blank" href="https://github.com/SciML/ReservoirComputing.jl/blob/3766b6f9be40cbbf4695423b7c3c093e526f64eb/src/esn/echostatenetwork.jl#L209-L246">source</a></section></article><p>With these components and variations, you can configure and train ESN models for various time series and sequential data prediction tasks.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../predict/">« Prediction Types</a><a class="docs-footer-nextpage" href="../esn_layers/">ESN Layers »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.2.1 on <span class="colophon-date" title="Saturday 23 December 2023 15:08">Saturday 23 December 2023</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit 565124f

Please sign in to comment.