Files
mlpack/doc/html/classmlpack_1_1nn_1_1SparseAutoencoder.html
T

865 lines
48 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>mlpack: mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra-stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">mlpack
&#160;<span id="projectnumber">master</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacemlpack.html">mlpack</a></li><li class="navelem"><a class="el" href="namespacemlpack_1_1nn.html">nn</a></li><li class="navelem"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">SparseAutoencoder</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classmlpack_1_1nn_1_1SparseAutoencoder-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A sparse autoencoder is a neural network whose aim to learn compressed representations of the data, typically for dimensionality reduction, with a constraint on the activity of the neurons in the network.
<a href="classmlpack_1_1nn_1_1SparseAutoencoder.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad379594f83f6cb4c42269ada1449b28b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#ad379594f83f6cb4c42269ada1449b28b">SparseAutoencoder</a> (const arma::mat &amp;data, const size_t <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#a529226bc5ab4906b3f0af1c081fc46e0">visibleSize</a>, const size_t <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#afc447ba7a9904ec25d1b7e12b95dcc00">hiddenSize</a>, const double <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#acd9e03beffadd0a2be11bd72f0e0a593">lambda</a>=0.0001, const double <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#ad7493b113fc0585bf94cc2fabcafbee2">beta</a>=3, const double <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#a20a6d4a33fa571ec6062fa65e0dab2b8">rho</a>=0.01)</td></tr>
<tr class="memdesc:ad379594f83f6cb4c42269ada1449b28b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct the sparse autoencoder model with the given training data. <a href="#ad379594f83f6cb4c42269ada1449b28b">More...</a><br /></td></tr>
<tr class="separator:ad379594f83f6cb4c42269ada1449b28b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19066e100db4c4d4748ac1574b993df0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#a19066e100db4c4d4748ac1574b993df0">SparseAutoencoder</a> (OptimizerType&lt; <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoderFunction.html">SparseAutoencoderFunction</a> &gt; &amp;optimizer)</td></tr>
<tr class="memdesc:a19066e100db4c4d4748ac1574b993df0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct the sparse autoencoder model with the given training data. <a href="#a19066e100db4c4d4748ac1574b993df0">More...</a><br /></td></tr>
<tr class="separator:a19066e100db4c4d4748ac1574b993df0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac226d403f39a50066c2baaed164e9928"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#ac226d403f39a50066c2baaed164e9928">Beta</a> (const double b)</td></tr>
<tr class="memdesc:ac226d403f39a50066c2baaed164e9928"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the KL divergence parameter. <a href="#ac226d403f39a50066c2baaed164e9928">More...</a><br /></td></tr>
<tr class="separator:ac226d403f39a50066c2baaed164e9928"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71119d36c88bfb32e1e79844880b5151"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#a71119d36c88bfb32e1e79844880b5151">Beta</a> () const </td></tr>
<tr class="memdesc:a71119d36c88bfb32e1e79844880b5151"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the KL divergence parameter. <a href="#a71119d36c88bfb32e1e79844880b5151">More...</a><br /></td></tr>
<tr class="separator:a71119d36c88bfb32e1e79844880b5151"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf0c2f96e5c9d062c2172166fe3f97de"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#acf0c2f96e5c9d062c2172166fe3f97de">GetNewFeatures</a> (arma::mat &amp;data, arma::mat &amp;features)</td></tr>
<tr class="memdesc:acf0c2f96e5c9d062c2172166fe3f97de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transforms the provided data into the representation learned by the sparse autoencoder. <a href="#acf0c2f96e5c9d062c2172166fe3f97de">More...</a><br /></td></tr>
<tr class="separator:acf0c2f96e5c9d062c2172166fe3f97de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0a6316ebf98fca173e3d6eef1e663bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#ae0a6316ebf98fca173e3d6eef1e663bf">HiddenSize</a> (const size_t hidden)</td></tr>
<tr class="memdesc:ae0a6316ebf98fca173e3d6eef1e663bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets size of the hidden layer. <a href="#ae0a6316ebf98fca173e3d6eef1e663bf">More...</a><br /></td></tr>
<tr class="separator:ae0a6316ebf98fca173e3d6eef1e663bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab19aede380b2d940411c31e91c94bcc4"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#ab19aede380b2d940411c31e91c94bcc4">HiddenSize</a> () const </td></tr>
<tr class="memdesc:ab19aede380b2d940411c31e91c94bcc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the size of the hidden layer. <a href="#ab19aede380b2d940411c31e91c94bcc4">More...</a><br /></td></tr>
<tr class="separator:ab19aede380b2d940411c31e91c94bcc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefa60fd1fafc5de36b3748e98964ec41"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#aefa60fd1fafc5de36b3748e98964ec41">Lambda</a> (const double l)</td></tr>
<tr class="memdesc:aefa60fd1fafc5de36b3748e98964ec41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the L2-regularization parameter. <a href="#aefa60fd1fafc5de36b3748e98964ec41">More...</a><br /></td></tr>
<tr class="separator:aefa60fd1fafc5de36b3748e98964ec41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefc446629ae17dd765057a3a828792fd"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#aefc446629ae17dd765057a3a828792fd">Lambda</a> () const </td></tr>
<tr class="memdesc:aefc446629ae17dd765057a3a828792fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the L2-regularization parameter. <a href="#aefc446629ae17dd765057a3a828792fd">More...</a><br /></td></tr>
<tr class="separator:aefc446629ae17dd765057a3a828792fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a033c62a32fb5d84ab8b78459cf745b64"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#a033c62a32fb5d84ab8b78459cf745b64">Rho</a> (const double r)</td></tr>
<tr class="memdesc:a033c62a32fb5d84ab8b78459cf745b64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the sparsity parameter. <a href="#a033c62a32fb5d84ab8b78459cf745b64">More...</a><br /></td></tr>
<tr class="separator:a033c62a32fb5d84ab8b78459cf745b64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02f3ae8b0af824280a221b4032a450dd"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#a02f3ae8b0af824280a221b4032a450dd">Rho</a> () const </td></tr>
<tr class="memdesc:a02f3ae8b0af824280a221b4032a450dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the sparsity parameter. <a href="#a02f3ae8b0af824280a221b4032a450dd">More...</a><br /></td></tr>
<tr class="separator:a02f3ae8b0af824280a221b4032a450dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ee241219a3382b7c93b0dcea61fba7a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#a6ee241219a3382b7c93b0dcea61fba7a">Sigmoid</a> (const arma::mat &amp;x, arma::mat &amp;output) const </td></tr>
<tr class="memdesc:a6ee241219a3382b7c93b0dcea61fba7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the elementwise sigmoid of the passed matrix, where the sigmoid function of a real number 'x' is [1 / (1 + exp(-x))]. <a href="#a6ee241219a3382b7c93b0dcea61fba7a">More...</a><br /></td></tr>
<tr class="separator:a6ee241219a3382b7c93b0dcea61fba7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb23b66c9aebec148cae8849e0e280d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#afb23b66c9aebec148cae8849e0e280d6">VisibleSize</a> (const size_t visible)</td></tr>
<tr class="memdesc:afb23b66c9aebec148cae8849e0e280d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets size of the visible layer. <a href="#afb23b66c9aebec148cae8849e0e280d6">More...</a><br /></td></tr>
<tr class="separator:afb23b66c9aebec148cae8849e0e280d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af393b28a274675ca7489619bf53d9309"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#af393b28a274675ca7489619bf53d9309">VisibleSize</a> () const </td></tr>
<tr class="memdesc:af393b28a274675ca7489619bf53d9309"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets size of the visible layer. <a href="#af393b28a274675ca7489619bf53d9309">More...</a><br /></td></tr>
<tr class="separator:af393b28a274675ca7489619bf53d9309"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:ad7493b113fc0585bf94cc2fabcafbee2"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#ad7493b113fc0585bf94cc2fabcafbee2">beta</a></td></tr>
<tr class="memdesc:ad7493b113fc0585bf94cc2fabcafbee2"><td class="mdescLeft">&#160;</td><td class="mdescRight">KL divergence parameter. <a href="#ad7493b113fc0585bf94cc2fabcafbee2">More...</a><br /></td></tr>
<tr class="separator:ad7493b113fc0585bf94cc2fabcafbee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc447ba7a9904ec25d1b7e12b95dcc00"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#afc447ba7a9904ec25d1b7e12b95dcc00">hiddenSize</a></td></tr>
<tr class="memdesc:afc447ba7a9904ec25d1b7e12b95dcc00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the hidden layer. <a href="#afc447ba7a9904ec25d1b7e12b95dcc00">More...</a><br /></td></tr>
<tr class="separator:afc447ba7a9904ec25d1b7e12b95dcc00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd9e03beffadd0a2be11bd72f0e0a593"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#acd9e03beffadd0a2be11bd72f0e0a593">lambda</a></td></tr>
<tr class="memdesc:acd9e03beffadd0a2be11bd72f0e0a593"><td class="mdescLeft">&#160;</td><td class="mdescRight">L2-regularization parameter. <a href="#acd9e03beffadd0a2be11bd72f0e0a593">More...</a><br /></td></tr>
<tr class="separator:acd9e03beffadd0a2be11bd72f0e0a593"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a806addcafdd2ee7740ba1dc235b03585"><td class="memItemLeft" align="right" valign="top">arma::mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#a806addcafdd2ee7740ba1dc235b03585">parameters</a></td></tr>
<tr class="memdesc:a806addcafdd2ee7740ba1dc235b03585"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters after optimization. <a href="#a806addcafdd2ee7740ba1dc235b03585">More...</a><br /></td></tr>
<tr class="separator:a806addcafdd2ee7740ba1dc235b03585"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20a6d4a33fa571ec6062fa65e0dab2b8"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#a20a6d4a33fa571ec6062fa65e0dab2b8">rho</a></td></tr>
<tr class="memdesc:a20a6d4a33fa571ec6062fa65e0dab2b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sparsity parameter. <a href="#a20a6d4a33fa571ec6062fa65e0dab2b8">More...</a><br /></td></tr>
<tr class="separator:a20a6d4a33fa571ec6062fa65e0dab2b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a529226bc5ab4906b3f0af1c081fc46e0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#a529226bc5ab4906b3f0af1c081fc46e0">visibleSize</a></td></tr>
<tr class="memdesc:a529226bc5ab4906b3f0af1c081fc46e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the visible layer. <a href="#a529226bc5ab4906b3f0af1c081fc46e0">More...</a><br /></td></tr>
<tr class="separator:a529226bc5ab4906b3f0af1c081fc46e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt;<br />
class mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt;</h3>
<p>A sparse autoencoder is a neural network whose aim to learn compressed representations of the data, typically for dimensionality reduction, with a constraint on the activity of the neurons in the network. </p>
<p>Sparse autoencoders can be stacked together to learn a hierarchy of features, which provide a better representation of the data for classification. This is a method used in the recently developed field of deep learning. More technical details about the model can be found on the following webpage:</p>
<p><a href="http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial">http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial</a></p>
<p>An example of how to use the interface is shown below:</p>
<div class="fragment"><div class="line">arma::mat data; <span class="comment">// Data matrix.</span></div><div class="line"><span class="keyword">const</span> <span class="keywordtype">size_t</span> vSize = 64; <span class="comment">// Size of visible layer, depends on the data.</span></div><div class="line"><span class="keyword">const</span> <span class="keywordtype">size_t</span> hSize = 25; <span class="comment">// Size of hidden layer, depends on requirements.</span></div><div class="line"></div><div class="line"><span class="comment">// Train the model using default options.</span></div><div class="line"><a class="code" href="classmlpack_1_1nn_1_1SparseAutoencoder.html#ad379594f83f6cb4c42269ada1449b28b">SparseAutoencoder</a> encoder1(data, vSize, hSize);</div><div class="line"></div><div class="line"><span class="keyword">const</span> <span class="keywordtype">size_t</span> numBasis = 5; <span class="comment">// Parameter required for L-BFGS algorithm.</span></div><div class="line"><span class="keyword">const</span> <span class="keywordtype">size_t</span> numIterations = 100; <span class="comment">// Maximum number of iterations.</span></div><div class="line"></div><div class="line"><span class="comment">// Use an instantiated optimizer for the training.</span></div><div class="line">SparseAutoencoderFunction saf(data, vSize, hSize);</div><div class="line">L_BFGS&lt;SparseAutoencoderFunction&gt; optimizer(saf, numBasis, numIterations);</div><div class="line">SparseAutoencoder&lt;L_BFGS&gt; encoder2(optimizer);</div><div class="line"></div><div class="line">arma::mat features1, features2; <span class="comment">// Matrices for storing new representations.</span></div><div class="line"></div><div class="line"><span class="comment">// Get new representations from the trained models.</span></div><div class="line">encoder1.GetNewFeatures(data, features1);</div><div class="line">encoder2.GetNewFeatures(data, features2);</div></div><!-- fragment --><p>This implementation allows the use of arbitrary mlpack optimizers via the OptimizerType template parameter.</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">OptimizerType</td><td>The optimizer to use; by default this is L-BFGS. Any mlpack optimizer can be used here. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00068">68</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad379594f83f6cb4c42269ada1449b28b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::<a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">SparseAutoencoder</a> </td>
<td>(</td>
<td class="paramtype">const arma::mat &amp;&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>visibleSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>hiddenSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const double&#160;</td>
<td class="paramname"><em>lambda</em> = <code>0.0001</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const double&#160;</td>
<td class="paramname"><em>beta</em> = <code>3</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const double&#160;</td>
<td class="paramname"><em>rho</em> = <code>0.01</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct the sparse autoencoder model with the given training data. </p>
<p>This will train the model. The parameters 'lambda', 'beta' and 'rho' can be set optionally. Changing these parameters will have an effect on regularization and sparsity of the model.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Input data with each column as one example. </td></tr>
<tr><td class="paramname">visibleSize</td><td>Size of input vector expected at the visible layer. </td></tr>
<tr><td class="paramname">hiddenSize</td><td>Size of input vector expected at the hidden layer. </td></tr>
<tr><td class="paramname">lambda</td><td>L2-regularization parameter. </td></tr>
<tr><td class="paramname">beta</td><td>KL divergence parameter. </td></tr>
<tr><td class="paramname">rho</td><td>Sparsity parameter. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a19066e100db4c4d4748ac1574b993df0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::<a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">SparseAutoencoder</a> </td>
<td>(</td>
<td class="paramtype">OptimizerType&lt; <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoderFunction.html">SparseAutoencoderFunction</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>optimizer</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct the sparse autoencoder model with the given training data. </p>
<p>This will train the model. This overload takes an already instantiated optimizer and uses it to train the model. The optimizer should hold an instantiated <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoderFunction.html" title="This is a class for the sparse autoencoder objective function. ">SparseAutoencoderFunction</a> object for the function to operate upon. This option should be preferred when the optimizer options are to be changed.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">optimizer</td><td>Instantiated optimizer with instantiated error function. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ac226d403f39a50066c2baaed164e9928"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::Beta </td>
<td>(</td>
<td class="paramtype">const double&#160;</td>
<td class="paramname"><em>b</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the KL divergence parameter. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00160">160</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
<p>References <a class="el" href="sparse__autoencoder_8hpp_source.html#l00193">mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt;::beta</a>.</p>
</div>
</div>
<a class="anchor" id="a71119d36c88bfb32e1e79844880b5151"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::Beta </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the KL divergence parameter. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00166">166</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
<p>References <a class="el" href="sparse__autoencoder_8hpp_source.html#l00193">mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt;::beta</a>.</p>
</div>
</div>
<a class="anchor" id="acf0c2f96e5c9d062c2172166fe3f97de"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::GetNewFeatures </td>
<td>(</td>
<td class="paramtype">arma::mat &amp;&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">arma::mat &amp;&#160;</td>
<td class="paramname"><em>features</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Transforms the provided data into the representation learned by the sparse autoencoder. </p>
<p>The function basically performs a feedforward computation using the learned weights, and returns the hidden layer activations.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Matrix of the provided data. </td></tr>
<tr><td class="paramname">features</td><td>The hidden layer representation of the provided data. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ae0a6316ebf98fca173e3d6eef1e663bf"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::HiddenSize </td>
<td>(</td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>hidden</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets size of the hidden layer. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00136">136</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="ab19aede380b2d940411c31e91c94bcc4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::HiddenSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the size of the hidden layer. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00142">142</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
<p>References <a class="el" href="sparse__autoencoder_8hpp_source.html#l00189">mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt;::hiddenSize</a>.</p>
</div>
</div>
<a class="anchor" id="aefa60fd1fafc5de36b3748e98964ec41"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::Lambda </td>
<td>(</td>
<td class="paramtype">const double&#160;</td>
<td class="paramname"><em>l</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the L2-regularization parameter. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00148">148</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
<p>References <a class="el" href="sparse__autoencoder_8hpp_source.html#l00191">mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt;::lambda</a>.</p>
</div>
</div>
<a class="anchor" id="aefc446629ae17dd765057a3a828792fd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::Lambda </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the L2-regularization parameter. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00154">154</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
<p>References <a class="el" href="sparse__autoencoder_8hpp_source.html#l00191">mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt;::lambda</a>.</p>
</div>
</div>
<a class="anchor" id="a033c62a32fb5d84ab8b78459cf745b64"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::Rho </td>
<td>(</td>
<td class="paramtype">const double&#160;</td>
<td class="paramname"><em>r</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the sparsity parameter. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00172">172</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
<p>References <a class="el" href="sparse__autoencoder_8hpp_source.html#l00195">mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt;::rho</a>.</p>
</div>
</div>
<a class="anchor" id="a02f3ae8b0af824280a221b4032a450dd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::Rho </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the sparsity parameter. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00178">178</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
<p>References <a class="el" href="sparse__autoencoder_8hpp_source.html#l00195">mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt;::rho</a>.</p>
</div>
</div>
<a class="anchor" id="a6ee241219a3382b7c93b0dcea61fba7a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::Sigmoid </td>
<td>(</td>
<td class="paramtype">const arma::mat &amp;&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">arma::mat &amp;&#160;</td>
<td class="paramname"><em>output</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the elementwise sigmoid of the passed matrix, where the sigmoid function of a real number 'x' is [1 / (1 + exp(-x))]. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>Matrix of real values for which we require the sigmoid activation. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00118">118</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="afb23b66c9aebec148cae8849e0e280d6"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::VisibleSize </td>
<td>(</td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>visible</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets size of the visible layer. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00124">124</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="af393b28a274675ca7489619bf53d9309"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::VisibleSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets size of the visible layer. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00130">130</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
<p>References <a class="el" href="sparse__autoencoder_8hpp_source.html#l00187">mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt;::visibleSize</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ad7493b113fc0585bf94cc2fabcafbee2"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::beta</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>KL divergence parameter. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00193">193</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
<p>Referenced by <a class="el" href="sparse__autoencoder_8hpp_source.html#l00160">mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt;::Beta()</a>.</p>
</div>
</div>
<a class="anchor" id="afc447ba7a9904ec25d1b7e12b95dcc00"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::hiddenSize</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Size of the hidden layer. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00189">189</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
<p>Referenced by <a class="el" href="sparse__autoencoder_8hpp_source.html#l00142">mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt;::HiddenSize()</a>.</p>
</div>
</div>
<a class="anchor" id="acd9e03beffadd0a2be11bd72f0e0a593"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::lambda</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>L2-regularization parameter. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00191">191</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
<p>Referenced by <a class="el" href="sparse__autoencoder_8hpp_source.html#l00148">mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt;::Lambda()</a>.</p>
</div>
</div>
<a class="anchor" id="a806addcafdd2ee7740ba1dc235b03585"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">arma::mat <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::parameters</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Parameters after optimization. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00185">185</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="a20a6d4a33fa571ec6062fa65e0dab2b8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::rho</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sparsity parameter. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00195">195</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
<p>Referenced by <a class="el" href="sparse__autoencoder_8hpp_source.html#l00172">mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt;::Rho()</a>.</p>
</div>
</div>
<a class="anchor" id="a529226bc5ab4906b3f0af1c081fc46e0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename &gt; class OptimizerType = mlpack::optimization::L_BFGS&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classmlpack_1_1nn_1_1SparseAutoencoder.html">mlpack::nn::SparseAutoencoder</a>&lt; OptimizerType &gt;::visibleSize</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Size of the visible layer. </p>
<p>Definition at line <a class="el" href="sparse__autoencoder_8hpp_source.html#l00187">187</a> of file <a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a>.</p>
<p>Referenced by <a class="el" href="sparse__autoencoder_8hpp_source.html#l00130">mlpack::nn::SparseAutoencoder&lt; OptimizerType &gt;::VisibleSize()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/mlpack/methods/sparse_autoencoder/<a class="el" href="sparse__autoencoder_8hpp_source.html">sparse_autoencoder.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
<script type="text/javascript">
var x = document.getElementsByClassName("formulaDsp");
var i;
for (i = 0; i < x.length; i++)
{
x[i].width /= 4;
}
</script>
</html>