blob: 5bb9684acf39d02ddcf58cb6ee8ba50df68e74c0 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_121) on Fri Apr 14 22:11:37 PDT 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.mahout.ep (Mahout Map-Reduce 0.13.0 API)</title>
<meta name="date" content="2017-04-14">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="org.apache.mahout.ep (Mahout Map-Reduce 0.13.0 API)";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/mahout/driver/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../org/apache/mahout/math/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/mahout/ep/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.apache.mahout.ep</h1>
<div class="docSummary">
<div class="block">Provides basic evolutionary optimization using <a href="http://arxiv.org/abs/0803.3838">recorded-step</a>
mutation.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/mahout/ep/EvolutionaryProcess.Function.html" title="interface in org.apache.mahout.ep">EvolutionaryProcess.Function</a>&lt;T&gt;</td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/mahout/ep/Payload.html" title="interface in org.apache.mahout.ep">Payload</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">Payloads for evolutionary state must be copyable and updatable.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/mahout/ep/EvolutionaryProcess.html" title="class in org.apache.mahout.ep">EvolutionaryProcess</a>&lt;T extends <a href="../../../../org/apache/mahout/ep/Payload.html" title="interface in org.apache.mahout.ep">Payload</a>&lt;U&gt;,U&gt;</td>
<td class="colLast">
<div class="block">Allows evolutionary optimization where the state function can't be easily
packaged for the optimizer to execute.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/mahout/ep/Mapping.html" title="class in org.apache.mahout.ep">Mapping</a></td>
<td class="colLast">
<div class="block">Provides coordinate tranformations so that evolution can proceed on the entire space of
reals but have the output limited and squished in convenient (and safe) ways.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/mahout/ep/Mapping.Exponential.html" title="class in org.apache.mahout.ep">Mapping.Exponential</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/mahout/ep/Mapping.Identity.html" title="class in org.apache.mahout.ep">Mapping.Identity</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/mahout/ep/Mapping.LogLimit.html" title="class in org.apache.mahout.ep">Mapping.LogLimit</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/mahout/ep/Mapping.SoftLimit.html" title="class in org.apache.mahout.ep">Mapping.SoftLimit</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/mahout/ep/State.html" title="class in org.apache.mahout.ep">State</a>&lt;T extends <a href="../../../../org/apache/mahout/ep/Payload.html" title="interface in org.apache.mahout.ep">Payload</a>&lt;U&gt;,U&gt;</td>
<td class="colLast">
<div class="block">Records evolutionary state and provides a mutation operation for recorded-step meta-mutation.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package org.apache.mahout.ep Description">Package org.apache.mahout.ep Description</h2>
<div class="block"><p>Provides basic evolutionary optimization using <a href="http://arxiv.org/abs/0803.3838">recorded-step</a>
mutation.</p>
<p>With this style of optimization, we can optimize a function <code>f: R^n -&gt; R</code> by stochastic
hill-climbing with some of the benefits of conjugate gradient style history encoded in the mutation function.
This mutation function will adapt to allow weakly directed search rather than using the somewhat more
conventional symmetric Gaussian.</p>
<p>With recorded-step mutation, the meta-mutation parameters are all auto-encoded in the current state of each point.
This avoids the classic problem of having more mutation rate parameters than are in the original state and then
requiring even more parameters to describe the meta-mutation rate. Instead, we store the previous point and one
omni-directional mutation component. Mutation is performed by first mutating along the line formed by the previous
and current points and then adding a scaled symmetric Gaussian. The magnitude of the omni-directional mutation is
then mutated using itself as a scale.</p>
<p>Because it is convenient to not restrict the parameter space, this package also provides convenient parameter
mapping methods. These mapping methods map the set of reals to a finite open interval (a,b) in such a way that
<code>lim_{x-&gt;-\inf} f(x) = a</code> and <code>lim_{x-&gt;\inf} f(x) = b</code>. The linear mapping is defined so that
<code>f(0) = (a+b)/2</code> and the exponential mapping requires that a and b are both positive and has
<code>f(0) = sqrt(ab)</code>. The linear mapping is useful for values that must stay roughly within a range but
which are roughly uniform within the center of that range. The exponential
mapping is useful for values that must stay within a range but whose distribution is roughly exponential near
geometric mean of the end-points. An identity mapping is also supplied.</p></div>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/mahout/driver/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../org/apache/mahout/math/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/mahout/ep/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2017 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>