Files
mlpack/doc/html/classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html
T

838 lines
42 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::regression::SoftmaxRegressionFunction Class 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_1regression.html">regression</a></li><li class="navelem"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html">SoftmaxRegressionFunction</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">mlpack::regression::SoftmaxRegressionFunction Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<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:a04fb165933a254fa25c59a2c7abb93cd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a04fb165933a254fa25c59a2c7abb93cd">SoftmaxRegressionFunction</a> (const arma::mat &amp;<a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a2e3f74b4fcf2b741173be496b6529714">data</a>, const arma::Row&lt; size_t &gt; &amp;labels, const size_t <a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a101ba2df474ecdc8df13a578894812a6">numClasses</a>, const double <a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a670dad5b9bcd03bf0af094a1a4ef3d7f">lambda</a>=0.0001, const bool <a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#aa1347374266670a5662bde98c7554b9f">fitIntercept</a>=false)</td></tr>
<tr class="memdesc:a04fb165933a254fa25c59a2c7abb93cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct the Softmax Regression objective function with the given parameters. <a href="#a04fb165933a254fa25c59a2c7abb93cd">More...</a><br /></td></tr>
<tr class="separator:a04fb165933a254fa25c59a2c7abb93cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a019e8fc0180563709261da7a2873ce"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a9a019e8fc0180563709261da7a2873ce">Evaluate</a> (const arma::mat &amp;parameters) const </td></tr>
<tr class="memdesc:a9a019e8fc0180563709261da7a2873ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the objective function of the softmax regression model using the given parameters. <a href="#a9a019e8fc0180563709261da7a2873ce">More...</a><br /></td></tr>
<tr class="separator:a9a019e8fc0180563709261da7a2873ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af33aac8a050be127b82f40ff60cf7981"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#af33aac8a050be127b82f40ff60cf7981">FeatureSize</a> () const </td></tr>
<tr class="memdesc:af33aac8a050be127b82f40ff60cf7981"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the features size of the training data. <a href="#af33aac8a050be127b82f40ff60cf7981">More...</a><br /></td></tr>
<tr class="separator:af33aac8a050be127b82f40ff60cf7981"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b8f1ae12cb6aed7031b1c532a6fbd6f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a2b8f1ae12cb6aed7031b1c532a6fbd6f">FitIntercept</a> () const </td></tr>
<tr class="memdesc:a2b8f1ae12cb6aed7031b1c532a6fbd6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the intercept flag. <a href="#a2b8f1ae12cb6aed7031b1c532a6fbd6f">More...</a><br /></td></tr>
<tr class="separator:a2b8f1ae12cb6aed7031b1c532a6fbd6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff612342ba94ce27464f9b094b27d9e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#aff612342ba94ce27464f9b094b27d9e9">GetGroundTruthMatrix</a> (const arma::Row&lt; size_t &gt; &amp;labels, arma::sp_mat &amp;<a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a6f41ab9a1064fc773375e0aa94095120">groundTruth</a>)</td></tr>
<tr class="memdesc:aff612342ba94ce27464f9b094b27d9e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs the ground truth label matrix with the passed labels. <a href="#aff612342ba94ce27464f9b094b27d9e9">More...</a><br /></td></tr>
<tr class="separator:aff612342ba94ce27464f9b094b27d9e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab380449ee1fef938ff483abf91c88b2d"><td class="memItemLeft" align="right" valign="top">const arma::mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#ab380449ee1fef938ff483abf91c88b2d">GetInitialPoint</a> () const </td></tr>
<tr class="memdesc:ab380449ee1fef938ff483abf91c88b2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the initial point for the optimization. <a href="#ab380449ee1fef938ff483abf91c88b2d">More...</a><br /></td></tr>
<tr class="separator:ab380449ee1fef938ff483abf91c88b2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e5db78a1d8bdcd2fd34bba2a119a6ec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a8e5db78a1d8bdcd2fd34bba2a119a6ec">GetProbabilitiesMatrix</a> (const arma::mat &amp;parameters, arma::mat &amp;probabilities) const </td></tr>
<tr class="memdesc:a8e5db78a1d8bdcd2fd34bba2a119a6ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate the probabilities matrix with the passed parameters. <a href="#a8e5db78a1d8bdcd2fd34bba2a119a6ec">More...</a><br /></td></tr>
<tr class="separator:a8e5db78a1d8bdcd2fd34bba2a119a6ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dbfb5cd32ab9e770fb965dc778adde4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a6dbfb5cd32ab9e770fb965dc778adde4">Gradient</a> (const arma::mat &amp;parameters, arma::mat &amp;gradient) const </td></tr>
<tr class="memdesc:a6dbfb5cd32ab9e770fb965dc778adde4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the gradient values of the objective function given the current set of parameters. <a href="#a6dbfb5cd32ab9e770fb965dc778adde4">More...</a><br /></td></tr>
<tr class="separator:a6dbfb5cd32ab9e770fb965dc778adde4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef36a1980d482c89e57e5a39c36e0758"><td class="memItemLeft" align="right" valign="top">const arma::mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#aef36a1980d482c89e57e5a39c36e0758">InitializeWeights</a> ()</td></tr>
<tr class="memdesc:aef36a1980d482c89e57e5a39c36e0758"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the parameters of the model to suitable values. <a href="#aef36a1980d482c89e57e5a39c36e0758">More...</a><br /></td></tr>
<tr class="separator:aef36a1980d482c89e57e5a39c36e0758"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4406833a9268b8729d53e7ff3a46d21"><td class="memItemLeft" align="right" valign="top">double &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#ab4406833a9268b8729d53e7ff3a46d21">Lambda</a> ()</td></tr>
<tr class="memdesc:ab4406833a9268b8729d53e7ff3a46d21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the regularization parameter. <a href="#ab4406833a9268b8729d53e7ff3a46d21">More...</a><br /></td></tr>
<tr class="separator:ab4406833a9268b8729d53e7ff3a46d21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9e4a31b2e3df431f3d4fa78cbbc1d67"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#aa9e4a31b2e3df431f3d4fa78cbbc1d67">Lambda</a> () const </td></tr>
<tr class="memdesc:aa9e4a31b2e3df431f3d4fa78cbbc1d67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the regularization parameter. <a href="#aa9e4a31b2e3df431f3d4fa78cbbc1d67">More...</a><br /></td></tr>
<tr class="separator:aa9e4a31b2e3df431f3d4fa78cbbc1d67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8103ebfe7f88389b2345e80375947f8b"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a8103ebfe7f88389b2345e80375947f8b">NumClasses</a> () const </td></tr>
<tr class="memdesc:a8103ebfe7f88389b2345e80375947f8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of classes. <a href="#a8103ebfe7f88389b2345e80375947f8b">More...</a><br /></td></tr>
<tr class="separator:a8103ebfe7f88389b2345e80375947f8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a9d6309e92e85eb0d027cf3f4b4fabb80"><td class="memItemLeft" align="right" valign="top">static const arma::mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a9d6309e92e85eb0d027cf3f4b4fabb80">InitializeWeights</a> (const size_t featureSize, const size_t <a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a101ba2df474ecdc8df13a578894812a6">numClasses</a>, const bool <a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#aa1347374266670a5662bde98c7554b9f">fitIntercept</a>=false)</td></tr>
<tr class="memdesc:a9d6309e92e85eb0d027cf3f4b4fabb80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize Softmax Regression weights (trainable parameters) with the given parameters. <a href="#a9d6309e92e85eb0d027cf3f4b4fabb80">More...</a><br /></td></tr>
<tr class="separator:a9d6309e92e85eb0d027cf3f4b4fabb80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a172e40489a847002a43abe1e4351f58a"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a172e40489a847002a43abe1e4351f58a">InitializeWeights</a> (arma::mat &amp;weights, const size_t featureSize, const size_t <a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a101ba2df474ecdc8df13a578894812a6">numClasses</a>, const bool <a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#aa1347374266670a5662bde98c7554b9f">fitIntercept</a>=false)</td></tr>
<tr class="memdesc:a172e40489a847002a43abe1e4351f58a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize Softmax Regression weights (trainable parameters) with the given parameters. <a href="#a172e40489a847002a43abe1e4351f58a">More...</a><br /></td></tr>
<tr class="separator:a172e40489a847002a43abe1e4351f58a"><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:a2e3f74b4fcf2b741173be496b6529714"><td class="memItemLeft" align="right" valign="top">const arma::mat &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a2e3f74b4fcf2b741173be496b6529714">data</a></td></tr>
<tr class="memdesc:a2e3f74b4fcf2b741173be496b6529714"><td class="mdescLeft">&#160;</td><td class="mdescRight">Training data matrix. <a href="#a2e3f74b4fcf2b741173be496b6529714">More...</a><br /></td></tr>
<tr class="separator:a2e3f74b4fcf2b741173be496b6529714"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1347374266670a5662bde98c7554b9f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#aa1347374266670a5662bde98c7554b9f">fitIntercept</a></td></tr>
<tr class="memdesc:aa1347374266670a5662bde98c7554b9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intercept term flag. <a href="#aa1347374266670a5662bde98c7554b9f">More...</a><br /></td></tr>
<tr class="separator:aa1347374266670a5662bde98c7554b9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f41ab9a1064fc773375e0aa94095120"><td class="memItemLeft" align="right" valign="top">arma::sp_mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a6f41ab9a1064fc773375e0aa94095120">groundTruth</a></td></tr>
<tr class="memdesc:a6f41ab9a1064fc773375e0aa94095120"><td class="mdescLeft">&#160;</td><td class="mdescRight">Label matrix for the provided data. <a href="#a6f41ab9a1064fc773375e0aa94095120">More...</a><br /></td></tr>
<tr class="separator:a6f41ab9a1064fc773375e0aa94095120"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb264cabc7ece311ce0a4fc716ac06a0"><td class="memItemLeft" align="right" valign="top">arma::mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#acb264cabc7ece311ce0a4fc716ac06a0">initialPoint</a></td></tr>
<tr class="memdesc:acb264cabc7ece311ce0a4fc716ac06a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initial parameter point. <a href="#acb264cabc7ece311ce0a4fc716ac06a0">More...</a><br /></td></tr>
<tr class="separator:acb264cabc7ece311ce0a4fc716ac06a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a670dad5b9bcd03bf0af094a1a4ef3d7f"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a670dad5b9bcd03bf0af094a1a4ef3d7f">lambda</a></td></tr>
<tr class="memdesc:a670dad5b9bcd03bf0af094a1a4ef3d7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">L2-regularization constant. <a href="#a670dad5b9bcd03bf0af094a1a4ef3d7f">More...</a><br /></td></tr>
<tr class="separator:a670dad5b9bcd03bf0af094a1a4ef3d7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101ba2df474ecdc8df13a578894812a6"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlpack_1_1regression_1_1SoftmaxRegressionFunction.html#a101ba2df474ecdc8df13a578894812a6">numClasses</a></td></tr>
<tr class="memdesc:a101ba2df474ecdc8df13a578894812a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of classes. <a href="#a101ba2df474ecdc8df13a578894812a6">More...</a><br /></td></tr>
<tr class="separator:a101ba2df474ecdc8df13a578894812a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="softmax__regression__function_8hpp_source.html#l00021">21</a> of file <a class="el" href="softmax__regression__function_8hpp_source.html">softmax_regression_function.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a04fb165933a254fa25c59a2c7abb93cd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">mlpack::regression::SoftmaxRegressionFunction::SoftmaxRegressionFunction </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 arma::Row&lt; size_t &gt; &amp;&#160;</td>
<td class="paramname"><em>labels</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>numClasses</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 bool&#160;</td>
<td class="paramname"><em>fitIntercept</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct the Softmax Regression objective function with the given parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Input training data, each column associate with one sample </td></tr>
<tr><td class="paramname">labels</td><td>Labels associated with the feature data. </td></tr>
<tr><td class="paramname">inputSize</td><td>Size of the input feature vector. </td></tr>
<tr><td class="paramname">numClasses</td><td>Number of classes for classification. </td></tr>
<tr><td class="paramname">lambda</td><td>L2-regularization constant. </td></tr>
<tr><td class="paramname">fitIntercept</td><td>Intercept term flag. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a9a019e8fc0180563709261da7a2873ce"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double mlpack::regression::SoftmaxRegressionFunction::Evaluate </td>
<td>(</td>
<td class="paramtype">const arma::mat &amp;&#160;</td>
<td class="paramname"><em>parameters</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Evaluates the objective function of the softmax regression model using the given parameters. </p>
<p>The cost function has terms for the log likelihood error and the regularization cost. The objective function takes a low value when the model generalizes well for the given training data, while having small parameter values.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">parameters</td><td>Current values of the model parameters. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="af33aac8a050be127b82f40ff60cf7981"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t mlpack::regression::SoftmaxRegressionFunction::FeatureSize </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 features size of the training data. </p>
<p>Definition at line <a class="el" href="softmax__regression__function_8hpp_source.html#l00121">121</a> of file <a class="el" href="softmax__regression__function_8hpp_source.html">softmax_regression_function.hpp</a>.</p>
<p>References <a class="el" href="softmax__regression__function_8hpp_source.html#l00147">fitIntercept</a>, and <a class="el" href="softmax__regression__function_8hpp_source.html#l00141">initialPoint</a>.</p>
</div>
</div>
<a class="anchor" id="a2b8f1ae12cb6aed7031b1c532a6fbd6f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool mlpack::regression::SoftmaxRegressionFunction::FitIntercept </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 intercept flag. </p>
<p>Definition at line <a class="el" href="softmax__regression__function_8hpp_source.html#l00133">133</a> of file <a class="el" href="softmax__regression__function_8hpp_source.html">softmax_regression_function.hpp</a>.</p>
<p>References <a class="el" href="softmax__regression__function_8hpp_source.html#l00147">fitIntercept</a>.</p>
</div>
</div>
<a class="anchor" id="aff612342ba94ce27464f9b094b27d9e9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mlpack::regression::SoftmaxRegressionFunction::GetGroundTruthMatrix </td>
<td>(</td>
<td class="paramtype">const arma::Row&lt; size_t &gt; &amp;&#160;</td>
<td class="paramname"><em>labels</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">arma::sp_mat &amp;&#160;</td>
<td class="paramname"><em>groundTruth</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs the ground truth label matrix with the passed labels. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">labels</td><td>Labels associated with the training data. </td></tr>
<tr><td class="paramname">groundTruth</td><td>Pointer to arma::mat which stores the computed matrix. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab380449ee1fef938ff483abf91c88b2d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const arma::mat&amp; mlpack::regression::SoftmaxRegressionFunction::GetInitialPoint </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>Return the initial point for the optimization. </p>
<p>Definition at line <a class="el" href="softmax__regression__function_8hpp_source.html#l00115">115</a> of file <a class="el" href="softmax__regression__function_8hpp_source.html">softmax_regression_function.hpp</a>.</p>
<p>References <a class="el" href="softmax__regression__function_8hpp_source.html#l00141">initialPoint</a>.</p>
</div>
</div>
<a class="anchor" id="a8e5db78a1d8bdcd2fd34bba2a119a6ec"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mlpack::regression::SoftmaxRegressionFunction::GetProbabilitiesMatrix </td>
<td>(</td>
<td class="paramtype">const arma::mat &amp;&#160;</td>
<td class="paramname"><em>parameters</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">arma::mat &amp;&#160;</td>
<td class="paramname"><em>probabilities</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Evaluate the probabilities matrix with the passed parameters. </p>
<p>probabilities(i, j) = exp( * data_j) / sum_k(exp( * data_j)). It represents the probability of data_j belongs to class i.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">parameters</td><td>Current values of the model parameters. </td></tr>
<tr><td class="paramname">probabilities</td><td>Pointer to arma::mat which stores the probabilities. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a6dbfb5cd32ab9e770fb965dc778adde4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mlpack::regression::SoftmaxRegressionFunction::Gradient </td>
<td>(</td>
<td class="paramtype">const arma::mat &amp;&#160;</td>
<td class="paramname"><em>parameters</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">arma::mat &amp;&#160;</td>
<td class="paramname"><em>gradient</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Evaluates the gradient values of the objective function given the current set of parameters. </p>
<p>The function calculates the probabilities for each class given the parameters, and computes the gradients based on the difference from the ground truth.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">parameters</td><td>Current values of the model parameters. </td></tr>
<tr><td class="paramname">gradient</td><td>Matrix where gradient values will be stored. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aef36a1980d482c89e57e5a39c36e0758"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const arma::mat mlpack::regression::SoftmaxRegressionFunction::InitializeWeights </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes the parameters of the model to suitable values. </p>
</div>
</div>
<a class="anchor" id="a9d6309e92e85eb0d027cf3f4b4fabb80"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static const arma::mat mlpack::regression::SoftmaxRegressionFunction::InitializeWeights </td>
<td>(</td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>featureSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>numClasses</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>fitIntercept</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize Softmax Regression weights (trainable parameters) with the given parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">featureSize</td><td>The number of features in the training set. </td></tr>
<tr><td class="paramname">numClasses</td><td>Number of classes for classification. </td></tr>
<tr><td class="paramname">fitIntercept</td><td>If true, an intercept is fitted. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Initialized model weights. </dd></dl>
</div>
</div>
<a class="anchor" id="a172e40489a847002a43abe1e4351f58a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void mlpack::regression::SoftmaxRegressionFunction::InitializeWeights </td>
<td>(</td>
<td class="paramtype">arma::mat &amp;&#160;</td>
<td class="paramname"><em>weights</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>featureSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>numClasses</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>fitIntercept</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize Softmax Regression weights (trainable parameters) with the given parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">weights</td><td>This will be filled with the initialized model weights. </td></tr>
<tr><td class="paramname">featureSize</td><td>The number of features in the training set. </td></tr>
<tr><td class="paramname">numClasses</td><td>Number of classes for classification. </td></tr>
<tr><td class="paramname">fitIntercept</td><td>Intercept term flag. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab4406833a9268b8729d53e7ff3a46d21"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double&amp; mlpack::regression::SoftmaxRegressionFunction::Lambda </td>
<td>(</td>
<td class="paramname"></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 regularization parameter. </p>
<p>Definition at line <a class="el" href="softmax__regression__function_8hpp_source.html#l00128">128</a> of file <a class="el" href="softmax__regression__function_8hpp_source.html">softmax_regression_function.hpp</a>.</p>
<p>References <a class="el" href="softmax__regression__function_8hpp_source.html#l00145">lambda</a>.</p>
</div>
</div>
<a class="anchor" id="aa9e4a31b2e3df431f3d4fa78cbbc1d67"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double mlpack::regression::SoftmaxRegressionFunction::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 regularization parameter. </p>
<p>Definition at line <a class="el" href="softmax__regression__function_8hpp_source.html#l00130">130</a> of file <a class="el" href="softmax__regression__function_8hpp_source.html">softmax_regression_function.hpp</a>.</p>
<p>References <a class="el" href="softmax__regression__function_8hpp_source.html#l00145">lambda</a>.</p>
</div>
</div>
<a class="anchor" id="a8103ebfe7f88389b2345e80375947f8b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t mlpack::regression::SoftmaxRegressionFunction::NumClasses </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 number of classes. </p>
<p>Definition at line <a class="el" href="softmax__regression__function_8hpp_source.html#l00118">118</a> of file <a class="el" href="softmax__regression__function_8hpp_source.html">softmax_regression_function.hpp</a>.</p>
<p>References <a class="el" href="softmax__regression__function_8hpp_source.html#l00143">numClasses</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a2e3f74b4fcf2b741173be496b6529714"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const arma::mat&amp; mlpack::regression::SoftmaxRegressionFunction::data</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>Training data matrix. </p>
<p>Definition at line <a class="el" href="softmax__regression__function_8hpp_source.html#l00137">137</a> of file <a class="el" href="softmax__regression__function_8hpp_source.html">softmax_regression_function.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="aa1347374266670a5662bde98c7554b9f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool mlpack::regression::SoftmaxRegressionFunction::fitIntercept</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>Intercept term flag. </p>
<p>Definition at line <a class="el" href="softmax__regression__function_8hpp_source.html#l00147">147</a> of file <a class="el" href="softmax__regression__function_8hpp_source.html">softmax_regression_function.hpp</a>.</p>
<p>Referenced by <a class="el" href="softmax__regression__function_8hpp_source.html#l00121">FeatureSize()</a>, and <a class="el" href="softmax__regression__function_8hpp_source.html#l00133">FitIntercept()</a>.</p>
</div>
</div>
<a class="anchor" id="a6f41ab9a1064fc773375e0aa94095120"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">arma::sp_mat mlpack::regression::SoftmaxRegressionFunction::groundTruth</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>Label matrix for the provided data. </p>
<p>Definition at line <a class="el" href="softmax__regression__function_8hpp_source.html#l00139">139</a> of file <a class="el" href="softmax__regression__function_8hpp_source.html">softmax_regression_function.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="acb264cabc7ece311ce0a4fc716ac06a0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">arma::mat mlpack::regression::SoftmaxRegressionFunction::initialPoint</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>Initial parameter point. </p>
<p>Definition at line <a class="el" href="softmax__regression__function_8hpp_source.html#l00141">141</a> of file <a class="el" href="softmax__regression__function_8hpp_source.html">softmax_regression_function.hpp</a>.</p>
<p>Referenced by <a class="el" href="softmax__regression__function_8hpp_source.html#l00121">FeatureSize()</a>, and <a class="el" href="softmax__regression__function_8hpp_source.html#l00115">GetInitialPoint()</a>.</p>
</div>
</div>
<a class="anchor" id="a670dad5b9bcd03bf0af094a1a4ef3d7f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double mlpack::regression::SoftmaxRegressionFunction::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 constant. </p>
<p>Definition at line <a class="el" href="softmax__regression__function_8hpp_source.html#l00145">145</a> of file <a class="el" href="softmax__regression__function_8hpp_source.html">softmax_regression_function.hpp</a>.</p>
<p>Referenced by <a class="el" href="softmax__regression__function_8hpp_source.html#l00128">Lambda()</a>.</p>
</div>
</div>
<a class="anchor" id="a101ba2df474ecdc8df13a578894812a6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t mlpack::regression::SoftmaxRegressionFunction::numClasses</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>Number of classes. </p>
<p>Definition at line <a class="el" href="softmax__regression__function_8hpp_source.html#l00143">143</a> of file <a class="el" href="softmax__regression__function_8hpp_source.html">softmax_regression_function.hpp</a>.</p>
<p>Referenced by <a class="el" href="softmax__regression__function_8hpp_source.html#l00118">NumClasses()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/mlpack/methods/softmax_regression/<a class="el" href="softmax__regression__function_8hpp_source.html">softmax_regression_function.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>