<?xml version='1.0'?>
<!DOCTYPE art SYSTEM 'http://www.biomedcentral.com/xml/article.dtd'>
<art>
<ui>1471-2156-12-87</ui>
<ji>1471-2156</ji>
<fm>
<dochead>Methodology article</dochead>
<bibl>
<title><p>Predicting complex quantitative traits with Bayesian neural networks: a case study with Jersey cows and wheat</p></title>
<aug>
<au id="A1"><snm>Gianola</snm><fnm>Daniel</fnm><insr iid="I1"/><insr iid="I2"/><insr iid="I3"/><email>gianola@ansci.wisc.edu</email></au>
<au ca="yes" id="A2"><snm>Okut</snm><fnm>Hayrettin</fnm><insr iid="I1"/><insr iid="I4"/><email>okut@wisc.edu</email></au>
<au id="A3"><snm>Weigel</snm><mi>A</mi><fnm>Kent</fnm><insr iid="I2"/><email>kweigel@facstaff.wisc.edu</email></au>
<au id="A4"><snm>Rosa</snm><mi>JM</mi><fnm>Guilherme</fnm><insr iid="I1"/><insr iid="I3"/><email>grosa@wisc.edu</email></au>
</aug>
<insg>
<ins id="I1"><p>Dept. of Animal Sciences, University of Wisconsin, Madison, 53706, USA</p></ins>
<ins id="I2"><p>Dept. of Dairy Science, University of Wisconsin, Madison, 53706, USA</p></ins>
<ins id="I3"><p>Dept. of Biostatistics and Medical Informatics, University of Wisconsin, Madison, 53706, USA</p></ins>
<ins id="I4"><p>Dept. of Animal Sciences, Biometry and Genetics Branch, University of Yuzuncu Yil, Van, 65080, Turkey</p></ins>
</insg>
<source>BMC Genetics</source>
<issn>1471-2156</issn>
<pubdate>2011</pubdate>
<volume>12</volume>
<issue>1</issue>
<fpage>87</fpage>
<url>http://www.biomedcentral.com/1471-2156/12/87</url>
<xrefbib><pubidlist><pubid idtype="doi">10.1186/1471-2156-12-87</pubid><pubid idtype="pmpid">21981731</pubid></pubidlist></xrefbib></bibl>
<history><rec><date><day>22</day><month>7</month><year>2011</year></date></rec><acc><date><day>7</day><month>10</month><year>2011</year></date></acc><pub><date><day>7</day><month>10</month><year>2011</year></date></pub></history><cpyrt><year>2011</year><collab>Gianola et al; licensee BioMed Central Ltd.</collab><note>This is an Open Access article distributed under the terms of the Creative Commons Attribution License (<url>http://creativecommons.org/licenses/by/2.0</url>), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</note></cpyrt>
<abs>
<sec><st><p>Abstract</p></st>
<sec><st><p>Background</p></st>
<p>In the study of associations between genomic data and complex phenotypes there may be relationships that are not amenable to parametric statistical modeling. Such associations have been investigated mainly using single-marker and Bayesian linear regression models that differ in their distributions, but that assume additive inheritance while ignoring interactions and non-linearity. When interactions have been included in the model, their effects have entered linearly. There is a growing interest in non-parametric methods for predicting quantitative traits based on reproducing kernel Hilbert spaces regressions on markers and radial basis functions. Artificial neural networks (ANN) provide an alternative, because these act as universal approximators of complex functions and can capture non-linear relationships between predictors and responses, with the interplay among variables learned adaptively. ANNs are interesting candidates for analysis of traits affected by cryptic forms of gene action.</p>
</sec>
<sec><st><p>Results</p></st>
<p>We investigated various Bayesian ANN architectures using for predicting phenotypes in two data sets consisting of milk production in Jersey cows and yield of inbred lines of wheat. For the Jerseys, predictor variables were derived from pedigree and molecular marker (35,798 single nucleotide polymorphisms, SNPS) information on 297 individually cows. The wheat data represented 599 lines, each genotyped with 1,279 markers. The ability of predicting fat, milk and protein yield was low when using pedigrees, but it was better when SNPs were employed, irrespective of the ANN trained. Predictive ability was even better in wheat because the trait was a mean, as opposed to an individual phenotype in cows. Non-linear neural networks outperformed a linear model in predictive ability in both data sets, but more clearly in wheat.</p>
</sec>
<sec><st><p>Conclusion</p></st>
<p>Results suggest that neural networks may be useful for predicting complex traits using high-dimensional genomic information, a situation where the number of unknowns exceeds sample size. ANNs can capture nonlinearities, adaptively. This may be useful when prediction of phenotypes is crucial.</p>
</sec>
</sec>
</abs>
</fm>
<bdy>
<sec><st><p>Background</p></st>
<p>Challenges in the study of associations between genomic variables (e.g., molecular markers) and complex phenotypes include the possible existence of cryptic relationships that may not be amenable to parametric statistical modeling, as well as the high dimensionality of the data, illustrated by the growing number of single nucleotide polymorphisms, now close to 10 million in humans <url>http://www.genome.gov/11511175</url>. These associations have been investigated primarily using na&#239;ve single-marker regressions and, more recently, with Bayesian linear regression models of various types <abbrgrp><abbr bid="B1">1</abbr><abbr bid="B2">2</abbr><abbr bid="B3">3</abbr></abbrgrp> but that assume additive inheritance almost invariably, while typically ignoring interactions and non-linearity. Taking into account these phenomena may enhance the ability of predicting outcomes, and this is relevant in genome-assisted management of livestock and plants and in individualized medicine.</p>
<p>There has been a growing interest in the use of non-parametric methods for prediction of quantitative traits based on reproducing kernel Hilbert spaces regressions on markers <abbrgrp><abbr bid="B2">2</abbr><abbr bid="B4">4</abbr><abbr bid="B5">5</abbr><abbr bid="B6">6</abbr><abbr bid="B7">7</abbr></abbrgrp> and radial basis functions models <abbrgrp><abbr bid="B8">8</abbr></abbrgrp> or related approaches <abbrgrp><abbr bid="B9">9</abbr></abbrgrp>. Artificial neural networks (ANN) provide an interesting alternative because these learning machines can act as universal approximators of complex functions <abbrgrp><abbr bid="B10">10</abbr><abbr bid="B11">11</abbr></abbrgrp>. ANNs can capture non-linear relationships between predictors and responses and learn about functional forms in an adaptive manner, because a series of transformations called activation functions are driven by parameters. ANNs can be viewed as a computer based system composed of many processing elements (neurons) operating in parallel <abbrgrp><abbr bid="B12">12</abbr></abbrgrp>, and also as a schematic of Kolmogorov's theorem for representation of multivariate functions <abbrgrp><abbr bid="B13">13</abbr></abbrgrp>. An ANN is determined by the network structure, represented by the number of layers and of neurons, by the strength of the connections (akin to non-parametric regression coefficients) between inputs, neurons and outputs, and by the type of processing performed at each neuron, represented by a linear or non-linear transformation: the activation function. Neural networks have the potential of accommodating complex relationships between input and response variables, as well as of difficult to model interactions among inputs. For these reasons, ANNs are interesting candidates for the analysis of complex traits affected by cryptic forms of gene X gene interaction, and many algorithms for training (fitting) such networks are now available <abbrgrp><abbr bid="B14">14</abbr></abbrgrp>.</p>
<p>In this study we investigated the performance of several ANN architectures using Bayesian regularization (a method for coping with the "small <it>n</it>, large <it>p</it>" problem that arises in statistical models including a massive number of explanatory variables) when predicting milk production traits in a sample of Jersey cows or mean grain yield in hundreds of inbred wheat lines. The architectures considered differed in terms of number of neurons and activation functions used, and the input (predictor) variables were derived from pedigree and molecular marker information on the corresponding samples. The paper begins with a brief account of Bayesian regularized neural networks, of their connection with linear random regression models often used in quantitative genetics, and of how Bayesian regularization is made. Subsequently, it is shown how a neural network treatment of genomic data can enhance predictive ability over and above that using pedigree information (in Jerseys) or linear Bayesian regression on markers (in both cows and wheat), which is representative of a standard approach in quantitative genomics.</p>
</sec>
<sec><st><p>Methods</p></st>
<p>For clarity of presentation the methodology is presented first, as the main objective of the paper was to cast neural networks in a quantitative genetics predictive context. Subsequently, a description of the two sets of data used to illustrate how the Bayesian neural networks were run is provided. As stated, the first data set consisted of milk, protein and fat yield in dairy cows. The second set represented 599 lines of wheat, with mean grain yield as target trait.</p>
<sec><st><p>Excursus: Feed-Forward Neural Networks</p></st>
<p>To illustrate, consider a network with three layers, as shown in Figure <figr fid="F1">1</figr> for the Jersey cow data. In the left-most layer, there are input variables, 297 in Figure <figr fid="F1">1</figr>, or transformations thereof (called features) that enter into the network as predictors. In the middle ("hidden") layer there is a varying number of neurons; 5 are shown in Figure <figr fid="F1">1</figr>, but the number used is a model selection issue, with this addressed via an evaluation of predictive performance. In the right-most layer, there is a single ("output") node, at least for quantitative response variables. Each input (or feature) connects to each neuron with a strength represented by an unknown coefficient <it>w</it>. The collected input into a given neuron can be transformed (or not, in which case one speaks of an identity or linear activation function), and this activated net input is emitted to the output layer with a strength represented by another unknown coefficient. A similar process takes place for every neuron.</p>
<fig id="F1"><title><p>Figure 1</p></title><caption><p>Illustration of the neural networks used</p></caption><text>
   <p><b>Illustration of the neural networks used</b>. In the Jersey data there were 297 elements of pedigree or genomic relationship matrices used as inputs (the <it>p's</it>) for each target trait. In the Figure, each <it>p<sub>k </sub></it><it>(k = 1,2,...,297) </it>is connected to 5 hidden neurons via coefficients <it>w<sub>j,k </sub></it>(<it>j </it>denotes neuron, <it>k </it>denotes input). Each hidden and output neuron has a bias parameter <inline-formula><m:math name="1471-2156-12-87-i53" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:msubsup>
   <m:mrow>
      <m:mi>b</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>j</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mrow>
         <m:mo class="MathClass-open">(</m:mo>
         <m:mrow>
            <m:mi>l</m:mi>
         </m:mrow>
         <m:mo class="MathClass-close">)</m:mo>
      </m:mrow>
   </m:mrow>
</m:msubsup>
</m:math></inline-formula>, <it>j </it>denotes neuron, <it>l </it>denotes layer). The variable <inline-formula><m:math name="1471-2156-12-87-i54" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:msub>
   <m:mrow>
      <m:mover accent="true">
         <m:mrow>
            <m:mi>t</m:mi>
         </m:mrow>
         <m:mo class="MathClass-op">^</m:mo>
      </m:mover>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
   </m:mrow>
</m:msub>
</m:math></inline-formula> represents the trait predicted value for datum <it>i</it>.</p>
</text><graphic file="1471-2156-12-87-1" hint_layout="single"/></fig>
<p>Algebraically, the process can be represented as follows. Let <it>t<sub>i </sub></it>(the target phenotype) be a quantitative trait measured in individual <it>i </it>(<it>i = </it>1,2,...,n) and let <it>p<sub>i </sub></it>= {<it>p<sub>ij</sub></it>} be a vector of inputs or explanatory variables, e.g., marker genotypes or any other covariate measured in each of such individuals, with allowance made for inclusion of a 1, corresponding to the indicator variable for an intercept in a regression model. Suppose there are <it>S </it>neurons in the hidden layer of the architecture. The input into neuron <it>k </it>(<it>k </it>= 1,2,...,<it>S</it>) prior to activation, as described subsequently, is the linear function <it>w'<sub>k </sub>p<sub>i</sub></it>, where <it>w'<sub>k </sub></it>={<it>w<sub>kj </sub></it>} is a vector of unknown connection strengths ("regressions") peculiar to neuron <it>k</it>, including an intercept (called "bias" in the machine learning literature) in <it>w'<sub>k</sub></it>. This input is transformed ("activated") using some linear or non-linear function <it>f(.)</it>, which can be neuron-specific or common to all neurons; this yields <it>f<sub>k</sub></it>(<it>w'<sub>k </sub>p<sub>i</sub></it>) (<it>k </it>= 1,2,...,S). Subsequently, the so activated emission from neuron <it>k </it>is sent to the output layer, with the collection of emissions over all neurons being <inline-formula><m:math name="1471-2156-12-87-i1" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mi>b</m:mi>
<m:mo class="MathClass-bin">+</m:mo>
<m:mi>c</m:mi>
<m:mi>g</m:mi>
<m:mfenced separators="" open="[" close="]">
   <m:mrow>
      <m:munderover accentunder="false" accent="false">
         <m:mrow>
            <m:mo class="MathClass-op">&#8721;</m:mo>
         </m:mrow>
         <m:mrow>
            <m:mi>k</m:mi>
            <m:mo class="MathClass-rel">=</m:mo>
            <m:mn>1</m:mn>
         </m:mrow>
         <m:mrow>
            <m:mi>s</m:mi>
         </m:mrow>
      </m:munderover>
      <m:msub>
         <m:mrow>
            <m:mi>w</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>k</m:mi>
         </m:mrow>
      </m:msub>
      <m:msub>
         <m:mrow>
            <m:mi>f</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>k</m:mi>
         </m:mrow>
      </m:msub>
      <m:mrow>
         <m:mo class="MathClass-open">(</m:mo>
         <m:mrow>
            <m:msub>
               <m:mrow>
                  <m:msup>
                     <m:mrow>
                        <m:mstyle class="text">
                           <m:mtext class="textsf" mathvariant="sans-serif">w</m:mtext>
                        </m:mstyle>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>&#8242;</m:mi>
                     </m:mrow>
                  </m:msup>
               </m:mrow>
               <m:mrow>
                  <m:mi>k</m:mi>
               </m:mrow>
            </m:msub>
            <m:msub>
               <m:mrow>
                  <m:mstyle class="text">
                     <m:mtext class="textsf" mathvariant="sans-serif">p</m:mtext>
                  </m:mstyle>
               </m:mrow>
               <m:mrow>
                  <m:mi>i</m:mi>
               </m:mrow>
            </m:msub>
         </m:mrow>
         <m:mo class="MathClass-close">)</m:mo>
      </m:mrow>
   </m:mrow>
</m:mfenced>
</m:math>
</inline-formula>, where <it>b </it>is an overall bias parameter, <it>c </it>is a regression on an activated emission, <it>g(.) </it>is another activation function, possibly non-linear, and <it>w<sub>1</sub>,w<sub>2</sub>,...,w<sub>S </sub></it>are regressions on each of the activated emissions <it>f<sub>k</sub></it>(w'<sub>k </sub>p<sub>i</sub>). The link between the response variable (phenotype) and the inputs is provided by the model</p>
<p><display-formula id="M1"><m:math name="1471-2156-12-87-i2" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:msub>
      <m:mrow>
         <m:mi>t</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mstyle class="text">
            <m:mtext class="textsf" mathvariant="sans-serif">i</m:mtext>
         </m:mstyle>
      </m:mrow>
   </m:msub>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mi>b</m:mi>
   <m:mo class="MathClass-bin">+</m:mo>
   <m:mi>c</m:mi>
   <m:mi>g</m:mi>
   <m:mfenced separators="" open="[" close="]">
      <m:mrow>
         <m:munderover accentunder="false" accent="false">
            <m:mrow>
               <m:mo mathsize="big">&#8721;</m:mo>
            </m:mrow>
            <m:mrow>
               <m:mi>k</m:mi>
               <m:mo class="MathClass-rel">=</m:mo>
               <m:mn>1</m:mn>
            </m:mrow>
            <m:mrow>
               <m:mi>s</m:mi>
            </m:mrow>
         </m:munderover>
         <m:msub>
            <m:mrow>
               <m:mi>w</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mstyle class="text">
                  <m:mtext class="textsf" mathvariant="sans-serif">k</m:mtext>
               </m:mstyle>
            </m:mrow>
         </m:msub>
         <m:msub>
            <m:mrow>
               <m:mi>f</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>k</m:mi>
            </m:mrow>
         </m:msub>
         <m:mrow>
            <m:mo class="MathClass-open">(</m:mo>
            <m:mrow>
               <m:msubsup>
                  <m:mrow>
                     <m:mstyle class="text">
                        <m:mtext class="textsf" mathvariant="sans-serif">w</m:mtext>
                     </m:mstyle>
                  </m:mrow>
                  <m:mrow>
                     <m:mstyle class="text">
                        <m:mtext class="textsf" mathvariant="sans-serif">k</m:mtext>
                     </m:mstyle>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>&#8242;</m:mi>
                  </m:mrow>
               </m:msubsup>
               <m:msub>
                  <m:mrow>
                     <m:mstyle class="text">
                        <m:mtext class="textsf" mathvariant="sans-serif">p</m:mtext>
                     </m:mstyle>
                  </m:mrow>
                  <m:mrow>
                     <m:mstyle class="text">
                        <m:mtext class="textsf" mathvariant="sans-serif">i</m:mtext>
                     </m:mstyle>
                  </m:mrow>
               </m:msub>
            </m:mrow>
            <m:mo class="MathClass-close">)</m:mo>
         </m:mrow>
      </m:mrow>
   </m:mfenced>
   <m:mo class="MathClass-bin">+</m:mo>
   <m:msub>
      <m:mrow>
         <m:mi>e</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mi>i</m:mi>
      </m:mrow>
   </m:msub>
   <m:mo class="MathClass-punc">;</m:mo>
   <m:mspace width="1em" class="quad"/>
   <m:mi>i</m:mi>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mn>1</m:mn>
   <m:mo class="MathClass-punc">,</m:mo>
   <m:mn>2</m:mn>
   <m:mo class="MathClass-punc">,</m:mo>
   <m:mo class="MathClass-op">&#8230;</m:mo>
   <m:mo class="MathClass-punc">,</m:mo>
   <m:mi>n</m:mi>
</m:mrow>
</m:math>
</display-formula></p>
<p>where <it>e<sub>i </sub></it>~ (0, <it>&#963;</it><sup>2</sup>) and <it>&#963;</it><sup>2 </sup>is a variance parameter. If <it>g</it>(.) is a linear or identity activation function, the model is a linear regression on the adaptive covariates <it>f<sub>k</sub></it>(<it>w'<sub>k </sub>p<sub>i</sub></it>); if, further, <it>f<sub>k</sub></it>(.), is also linear, the regression model is entirely linear. The term "adaptive" means that the covariates are functions of unknown parameters, the {<it>w<sub>kj</sub></it>} connection strengths, so the networks can "learn" the relationship between explanatory variables and phenotypes, as opposed to posing it arbitrarily, as it is the case in standard regression models. In this manner, this type of neural network can also be viewed as a regression model, but with the extent of non-linearity dictated by the type of activation functions used. Since the number of parameters increases linearly with the number of neurons, and the number of predictors given by the length of <it>p </it>(e.g., the number of markers) can amply exceed sample size, it is necessary to treat the connection strengths as random effects in which case the Bayesian connection is immediate <abbrgrp><abbr bid="B15">15</abbr><abbr bid="B16">16</abbr></abbrgrp>. This approach is called "Bayesian regularization".</p>
</sec>
<sec><st><p>Fisher's infinitesimal model viewed as a neural network</p></st>
<p>Let <it>t </it>represent an <it>n </it>&#215; 1 vector of phenotypic values and <b>u </b>~ (<b>0</b>, <b>A</b><it>&#963;</it><sup>2</sup><it>u </it>) be a vector of infinitesimal additive genetic effects, where <it>&#963;</it><sup>2</sup><it>u </it>is the additive genetic variance, <b><it>A = CC' </it></b>= {<it>a<sub>ij</sub></it>} is the numerator relationship matrix and <b><it>C </it></b>is its lower triangular Cholesky factor decomposition. Fisher's linear model on additive genetic effects (ignoring an overall mean and nuisance fixed effects, for simplicity) admits at least three representations:</p>
<p>I) <b>t </b>= <b>u </b>+ <b>e </b>= <b>Cz</b><it>&#963;<sub>u </sub></it>+ <b>e </b>= <b>Cu</b>* + <b>e</b>,</p>
<p>where <b>z </b>is a vector of independent standard normal deviates, <b>u</b>* = <b>z</b><it>&#963;<sub>u </sub></it>~ (<b>0</b>, <b>I</b><it>&#963;</it><sup>2</sup><it><sub>u</sub></it>) and <b>e </b>~ (<b>0</b>, <b>I</b><it>&#963;</it><sup>2</sup>) is a residual vector with <it>&#963;</it><sup>2 </sup>interpretable as environmental variance.</p>
<p>II) <b>t </b>= <b>AA</b><sup>-<b>1</b></sup><b>u </b>+ <b>e = Au</b>** + <b>e</b>,</p>
<p>where <b>u</b>** = <b>A</b><sup>-<b>1</b></sup><b>u </b>~ (<b>0, A</b><sup>-1 </sup><it>&#963;</it><sup>2</sup><it><sub>u</sub></it>), and</p>
<p>III) <b>t </b>= <b>A</b><sup>-<b>1 </b></sup><b>Au + e = A</b><sup>-<b>1</b></sup><b>u</b>*** + <b>e</b>,</p>
<p>where <b>u</b>*** = <b>Au ~ </b>(<b>0</b>, <b>A</b><sup>3</sup><it>&#963;</it><sup>2</sup><it>u</it>).</p>
<p>In each of these formulations Fisher's model can be viewed as a neural network with a single neuron in the middle layer, where <it>g(.) </it>is an identity or linear activation function. The respective representations for the three models given above are</p>
<p><display-formula><m:math name="1471-2156-12-87-i3" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:mtable class="gathered">
      <m:mtr>
         <m:mtd>
            <m:msub>
               <m:mrow>
                  <m:mi>t</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>i</m:mi>
               </m:mrow>
            </m:msub>
            <m:mo class="MathClass-rel">=</m:mo>
            <m:mi>b</m:mi>
            <m:mo class="MathClass-bin">+</m:mo>
            <m:mi>g</m:mi>
            <m:mrow>
               <m:mo class="MathClass-open">(</m:mo>
               <m:mrow>
                  <m:msubsup>
                     <m:mrow>
                        <m:mo mathsize="big">&#8721;</m:mo>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>j</m:mi>
                        <m:mo class="MathClass-rel">=</m:mo>
                        <m:mn>1</m:mn>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>n</m:mi>
                     </m:mrow>
                  </m:msubsup>
                  <m:msub>
                     <m:mrow>
                        <m:mi>c</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>i</m:mi>
                        <m:mi>j</m:mi>
                     </m:mrow>
                  </m:msub>
                  <m:msubsup>
                     <m:mrow>
                        <m:mi>u</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>j</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mo class="MathClass-bin">*</m:mo>
                     </m:mrow>
                  </m:msubsup>
               </m:mrow>
               <m:mo class="MathClass-close">)</m:mo>
            </m:mrow>
            <m:mo class="MathClass-bin">+</m:mo>
            <m:msub>
               <m:mrow>
                  <m:mi>e</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>i</m:mi>
               </m:mrow>
            </m:msub>
            <m:mo class="MathClass-punc">,</m:mo>
         </m:mtd>
      </m:mtr>
      <m:mtr>
         <m:mtd>
            <m:msub>
               <m:mrow>
                  <m:mi>t</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>i</m:mi>
               </m:mrow>
            </m:msub>
            <m:mo class="MathClass-rel">=</m:mo>
            <m:mi>b</m:mi>
            <m:mo class="MathClass-bin">+</m:mo>
            <m:mi>g</m:mi>
            <m:mrow>
               <m:mo class="MathClass-open">(</m:mo>
               <m:mrow>
                  <m:msubsup>
                     <m:mrow>
                        <m:mo mathsize="big">&#8721;</m:mo>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>j</m:mi>
                        <m:mo class="MathClass-rel">=</m:mo>
                        <m:mn>1</m:mn>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>n</m:mi>
                     </m:mrow>
                  </m:msubsup>
                  <m:msub>
                     <m:mrow>
                        <m:mi>a</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>i</m:mi>
                        <m:mi>j</m:mi>
                     </m:mrow>
                  </m:msub>
                  <m:msubsup>
                     <m:mrow>
                        <m:mi>u</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>j</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mo class="MathClass-bin">*</m:mo>
                        <m:mo class="MathClass-bin">*</m:mo>
                     </m:mrow>
                  </m:msubsup>
               </m:mrow>
               <m:mo class="MathClass-close">)</m:mo>
            </m:mrow>
            <m:mo class="MathClass-bin">+</m:mo>
            <m:msub>
               <m:mrow>
                  <m:mi>e</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>i</m:mi>
               </m:mrow>
            </m:msub>
            <m:mo class="MathClass-punc">,</m:mo>
         </m:mtd>
      </m:mtr>
      <m:mtr>
         <m:mtd/>
      </m:mtr>
   </m:mtable>
</m:mrow>
</m:math>
</display-formula></p>
<p>and</p>
<p><display-formula><m:math name="1471-2156-12-87-i4" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:msub>
      <m:mrow>
         <m:mi>t</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mi>i</m:mi>
      </m:mrow>
   </m:msub>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mi>b</m:mi>
   <m:mo class="MathClass-bin">+</m:mo>
   <m:mi>g</m:mi>
   <m:mrow>
      <m:mo class="MathClass-open">(</m:mo>
      <m:mrow>
         <m:msubsup>
            <m:mrow>
               <m:mo mathsize="big">&#8721;</m:mo>
            </m:mrow>
            <m:mrow>
               <m:mi>j</m:mi>
               <m:mo class="MathClass-rel">=</m:mo>
               <m:mn>1</m:mn>
            </m:mrow>
            <m:mrow>
               <m:mi>n</m:mi>
            </m:mrow>
         </m:msubsup>
         <m:msup>
            <m:mrow>
               <m:mi>a</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>i</m:mi>
               <m:mi>j</m:mi>
            </m:mrow>
         </m:msup>
         <m:msubsup>
            <m:mrow>
               <m:mi>u</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>j</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mo class="MathClass-bin">*</m:mo>
               <m:mo class="MathClass-bin">*</m:mo>
               <m:mo class="MathClass-bin">*</m:mo>
            </m:mrow>
         </m:msubsup>
      </m:mrow>
      <m:mo class="MathClass-close">)</m:mo>
   </m:mrow>
   <m:mo class="MathClass-bin">+</m:mo>
   <m:msub>
      <m:mrow>
         <m:mi>e</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mi>i</m:mi>
      </m:mrow>
   </m:msub>
   <m:mo class="MathClass-punc">.</m:mo>
</m:mrow>
</m:math>
</display-formula></p>
<p>Here, a bias parameter <it>b </it>is included for the sake of generality. Hence, the additive model can be viewed as a single-neuron network regression on either elements of the Cholesky decomposition of the numerator relationship matrix, on the relationships themselves or on the elements of the inverse of <b>A</b>, with the strengths of the connections represented by the corresponding entries of <b>u</b>*, <b>u</b>** and <b>u</b>***, respectively.</p>
<p>Is it possible to exploit knowledge of relationships in a fuller manner? Since a neural network is a universal approximator, the predictive performance of the classical infinitesimal linear model can be enhanced, at least potentially, by taking a model on, say, <it>S </it>neurons, while effecting non-linear transformations simultaneously. The rationale is that Fisher's model holds under some assumptions which may be violated, such as linkage equilibrium, e.g., entries of the numerator relationship matrix are expected values in the absence of selection and under linkage equilibrium. For instance, using the second representation above one could write</p>
<p><display-formula id="M2"><m:math name="1471-2156-12-87-i5" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:msub>
      <m:mrow>
         <m:mi>t</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mstyle class="text">
            <m:mtext class="textsf" mathvariant="sans-serif">i</m:mtext>
         </m:mstyle>
      </m:mrow>
   </m:msub>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mi>b</m:mi>
   <m:mo class="MathClass-bin">+</m:mo>
   <m:mi>c</m:mi>
   <m:mi>g</m:mi>
   <m:mfenced separators="" open="[" close="]">
      <m:mrow>
         <m:munderover accentunder="false" accent="false">
            <m:mrow>
               <m:mo mathsize="big">&#8721;</m:mo>
            </m:mrow>
            <m:mrow>
               <m:mi>k</m:mi>
               <m:mo class="MathClass-rel">=</m:mo>
               <m:mn>1</m:mn>
            </m:mrow>
            <m:mrow>
               <m:mi>s</m:mi>
            </m:mrow>
         </m:munderover>
         <m:msub>
            <m:mrow>
               <m:mi>w</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>k</m:mi>
            </m:mrow>
         </m:msub>
         <m:msub>
            <m:mrow>
               <m:mi>g</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>k</m:mi>
            </m:mrow>
         </m:msub>
         <m:mrow>
            <m:mo class="MathClass-open">(</m:mo>
            <m:mrow>
               <m:msub>
                  <m:mrow>
                     <m:mi>b</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>k</m:mi>
                  </m:mrow>
               </m:msub>
               <m:mo class="MathClass-bin">+</m:mo>
               <m:msubsup>
                  <m:mrow>
                     <m:mo mathsize="big"> &#8721;</m:mo>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>j</m:mi>
                     <m:mo class="MathClass-rel">=</m:mo>
                     <m:mn>1</m:mn>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>n</m:mi>
                  </m:mrow>
               </m:msubsup>
               <m:msub>
                  <m:mrow>
                     <m:mi>a</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>i</m:mi>
                     <m:mi>j</m:mi>
                  </m:mrow>
               </m:msub>
               <m:msubsup>
                  <m:mrow>
                     <m:mi>u</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>j</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mo class="MathClass-bin">*</m:mo>
                     <m:mo class="MathClass-bin">*</m:mo>
                     <m:mrow>
                        <m:mo class="MathClass-open">[</m:mo>
                        <m:mrow>
                           <m:mi>k</m:mi>
                        </m:mrow>
                        <m:mo class="MathClass-close">]</m:mo>
                     </m:mrow>
                  </m:mrow>
               </m:msubsup>
            </m:mrow>
            <m:mo class="MathClass-close">)</m:mo>
         </m:mrow>
      </m:mrow>
   </m:mfenced>
   <m:mo class="MathClass-bin">+</m:mo>
   <m:msub>
      <m:mrow>
         <m:mi>e</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mi>i</m:mi>
      </m:mrow>
   </m:msub>
   <m:mo class="MathClass-punc">;</m:mo>
   <m:mspace width="1em" class="quad"/>
   <m:mi>i</m:mi>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mn>1</m:mn>
   <m:mo class="MathClass-punc">,</m:mo>
   <m:mn>2</m:mn>
   <m:mo class="MathClass-punc">,</m:mo>
   <m:mo class="MathClass-op">&#8230;</m:mo>
   <m:mo class="MathClass-punc">,</m:mo>
   <m:mi>n</m:mi>
   <m:mo class="MathClass-punc">.</m:mo>
</m:mrow>
</m:math>
</display-formula></p>
<p>Here, the inputs are entries <it>a<sub>ij </sub></it>of the relationship matrix, connecting individual <it>i </it>to all other individuals in the genealogy; the <inline-formula><m:math name="1471-2156-12-87-i6" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:msubsup>
   <m:mrow>
      <m:mi>u</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>j</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mo class="MathClass-bin">*</m:mo>
      <m:mo class="MathClass-bin">*</m:mo>
      <m:mrow>
         <m:mo class="MathClass-open">[</m:mo>
         <m:mrow>
            <m:mi>k</m:mi>
         </m:mrow>
         <m:mo class="MathClass-close">]</m:mo>
      </m:mrow>
   </m:mrow>
</m:msubsup>
</m:math>
</inline-formula> coefficient is the connection strength for input <it>j </it>in neuron <it>k; b<sub>k </sub></it>is the bias parameter associated with neuron <it>k; g<sub>k </sub></it>is an activation function peculiar to neuron <it>k; w<sub>k </sub></it>is the connection strength between the activated emission from neuron <it>k </it>and the output layer, <it>b </it>is the outer layer bias parameter and <it>g(.) </it>is the outer activation function, which may be linear or non-linear, although it is typically taken as linear for quantitative responses. The nonlinear transformations modify the connection strengths between additive relationships and phenotypes in an adaptive manner, underlining the potential for an improvement in predictive ability.</p>
<p>Given the availability of dense markers in humans and animals, an alternative or complementary source of input that can be used in equation (2) consists of the elements of a marker-based relationship matrix, as in <abbrgrp><abbr bid="B17">17</abbr></abbrgrp>; in this case the <it>a<sub>ij </sub></it>coefficients are replaced by <it>g<sub>ij</sub></it>, i.e., elements of some genome or marker-derived relationship matrix <b>G</b>. As noted by <abbrgrp><abbr bid="B2">2</abbr></abbrgrp>, when <b>G </b>is proportional to <b>XX'</b>, where <b>X </b>is the incidence matrix of a linear regression model on markers, this is equivalent to Bayesian ridge regression. Of course, nothing precludes using both pedigree-derived and marker-derived inputs in the construction of a neural network.</p>
</sec>
<sec><st><p>Bayesian regularization</p></st>
<p>The objective in ANNs is to arrive at some configuration that fits the training data well but that it also has a reasonable ability of predicting yet to be seen observations. This can be achieved by placing constraints on the size of the network connection strengths, e.g., via shrinkage, and the process is known as regularization. A natural way of attaining this compromise between goodness of fit and predictive ability is by means of Bayesian methods <abbrgrp><abbr bid="B2">2</abbr><abbr bid="B11">11</abbr><abbr bid="B15">15</abbr><abbr bid="B18">18</abbr></abbrgrp>. In this section, an approach used often for Bayesian regularization in neural networks <abbrgrp><abbr bid="B18">18</abbr><abbr bid="B19">19</abbr></abbrgrp> is presented along the lines of the hierarchical models employed by quantitative geneticists <abbrgrp><abbr bid="B15">15</abbr></abbrgrp>.</p>
<p>Conditionally on <it>m </it>network parameters, the <it>n </it>phenotypes or outputs (represented as <it>D </it>for data) are assumed to be mutually independent, with density function (inputs p are omitted in the notation)</p>
<p><display-formula id="M3"><m:math name="1471-2156-12-87-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:mi>p</m:mi>
   <m:mrow>
      <m:mo class="MathClass-open">(</m:mo>
      <m:mrow>
         <m:mi>D</m:mi>
         <m:mo class="MathClass-rel">|</m:mo>
         <m:mi>b</m:mi>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:mstyle mathvariant="bold">
            <m:mi>w</m:mi>
         </m:mstyle>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:msup>
            <m:mrow>
               <m:mi>&#963;</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mn>2</m:mn>
            </m:mrow>
         </m:msup>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:mi>M</m:mi>
      </m:mrow>
      <m:mo class="MathClass-close">)</m:mo>
   </m:mrow>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:munderover accentunder="false" accent="false">
      <m:mrow>
         <m:mo mathsize="big"> &#8719;</m:mo>
      </m:mrow>
      <m:mrow>
         <m:mi>i</m:mi>
         <m:mo class="MathClass-rel">=</m:mo>
         <m:mn>1</m:mn>
      </m:mrow>
      <m:mrow>
         <m:mi>n</m:mi>
      </m:mrow>
   </m:munderover>
   <m:mi>N</m:mi>
   <m:mfenced separators="" open="(" close=")">
      <m:mrow>
         <m:msub>
            <m:mrow>
               <m:mi>t</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>i</m:mi>
            </m:mrow>
         </m:msub>
         <m:mo class="MathClass-rel">|</m:mo>
         <m:mi>b</m:mi>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:mstyle mathvariant="bold">
            <m:mi>w</m:mi>
         </m:mstyle>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:msup>
            <m:mrow>
               <m:mi>&#963;</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mn>2</m:mn>
            </m:mrow>
         </m:msup>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:mi>M</m:mi>
      </m:mrow>
   </m:mfenced>
</m:mrow>
</m:math>
</display-formula></p>
<p>where <it>N(.) </it>denotes a normal density; <it>b </it>is the outer bias parameter; <b>w </b>denotes all connection strength coefficients (including all neuron-specific biases); <it>&#963;<sup>2 </sup></it>is the residual variance and <it>M </it>represents a given neural network architecture (i.e., a choice of number of neurons and activation functions). The mean of this distribution is the conditional (given all regression coefficients) expectation function <inline-formula><m:math name="1471-2156-12-87-i8" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mi>b</m:mi>
<m:mo class="MathClass-bin">+</m:mo>
<m:mi>c</m:mi>
<m:mi>g</m:mi>
<m:mfenced separators="" open="[" close="]">
   <m:mrow>
      <m:munderover accentunder="false" accent="false">
         <m:mrow>
            <m:mo class="MathClass-op">&#8721;</m:mo>
         </m:mrow>
         <m:mrow>
            <m:mi>k</m:mi>
            <m:mo class="MathClass-rel">=</m:mo>
            <m:mn>1</m:mn>
         </m:mrow>
         <m:mrow>
            <m:mi>s</m:mi>
         </m:mrow>
      </m:munderover>
      <m:msub>
         <m:mrow>
            <m:mi>w</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>k</m:mi>
         </m:mrow>
      </m:msub>
      <m:msub>
         <m:mrow>
            <m:mi>g</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>k</m:mi>
         </m:mrow>
      </m:msub>
      <m:mrow>
         <m:mo class="MathClass-open">(</m:mo>
         <m:mrow>
            <m:msub>
               <m:mrow>
                  <m:mi>b</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>k</m:mi>
               </m:mrow>
            </m:msub>
            <m:mo class="MathClass-bin">+</m:mo>
            <m:msubsup>
               <m:mrow>
                  <m:mo class="MathClass-op"> &#8721;</m:mo>
               </m:mrow>
               <m:mrow>
                  <m:mi>j</m:mi>
                  <m:mo class="MathClass-rel">=</m:mo>
                  <m:mn>1</m:mn>
               </m:mrow>
               <m:mrow>
                  <m:mi>n</m:mi>
               </m:mrow>
            </m:msubsup>
            <m:msub>
               <m:mrow>
                  <m:mi>a</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>j</m:mi>
                  <m:mi>j</m:mi>
               </m:mrow>
            </m:msub>
            <m:msubsup>
               <m:mrow>
                  <m:mi>u</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>j</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mo class="MathClass-bin">*</m:mo>
                  <m:mo class="MathClass-bin">*</m:mo>
                  <m:mrow>
                     <m:mo class="MathClass-open">[</m:mo>
                     <m:mrow>
                        <m:mi>k</m:mi>
                     </m:mrow>
                     <m:mo class="MathClass-close">]</m:mo>
                  </m:mrow>
               </m:mrow>
            </m:msubsup>
         </m:mrow>
         <m:mo class="MathClass-close">)</m:mo>
      </m:mrow>
   </m:mrow>
</m:mfenced>
</m:math>
</inline-formula>, <it>i </it>= 1,2,...,<it>n</it>. The bias parameter <it>b </it>can be eliminated simply by taking deviations from the mean, or assigned a flat prior; for simplicity the first of the two options was employed in this study. The Bayesian approach used in regularized neural networks software (e.g., MATLAB) assigns the same normal prior distribution to each of the connection strengths, assumed independent a priori, such that <it>p</it>(<b>w</b>| <it>&#963;</it><sup>2</sup><it><sub>w</sub></it>) = <it>N</it>(0, <b>I</b><it>&#963;</it><sup>2</sup><it><sub>w</sub></it>), where <it>&#963;</it><sup>2</sup><it><sub>w </sub></it>is the variance of connection strengths. More general specifications can be posed, but currently available software (public or commercially) lacks flexibility for doing so. Assuming that the two variance parameters are known, the posterior density of the connection strengths is</p>
<p><display-formula id="M4"><m:math name="1471-2156-12-87-i9" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mi>P</m:mi>
<m:mrow>
   <m:mo class="MathClass-open">(</m:mo>
   <m:mrow>
      <m:mstyle mathvariant="bold">
         <m:mi>w</m:mi>
      </m:mstyle>
      <m:mo class="MathClass-rel">|</m:mo>
      <m:mi>D</m:mi>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:msup>
         <m:mrow>
            <m:mi>&#963;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
         </m:mrow>
      </m:msup>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:msubsup>
         <m:mrow>
            <m:mi>&#963;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mstyle mathvariant="bold">
               <m:mi>w</m:mi>
            </m:mstyle>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
         </m:mrow>
      </m:msubsup>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:mi>M</m:mi>
   </m:mrow>
   <m:mo class="MathClass-close">)</m:mo>
</m:mrow>
<m:mo class="MathClass-rel">=</m:mo>
<m:mfrac>
   <m:mrow>
      <m:mi>P</m:mi>
      <m:mrow>
         <m:mo class="MathClass-open">(</m:mo>
         <m:mrow>
            <m:mi>D</m:mi>
            <m:mo class="MathClass-rel">|</m:mo>
            <m:mstyle mathvariant="bold">
               <m:mi>w</m:mi>
            </m:mstyle>
            <m:mo class="MathClass-punc">,</m:mo>
            <m:msup>
               <m:mrow>
                  <m:mi>&#963;</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mn>2</m:mn>
               </m:mrow>
            </m:msup>
            <m:mo class="MathClass-punc">,</m:mo>
            <m:mi>M</m:mi>
         </m:mrow>
         <m:mo class="MathClass-close">)</m:mo>
      </m:mrow>
      <m:mi>P</m:mi>
      <m:mrow>
         <m:mo class="MathClass-open">(</m:mo>
         <m:mrow>
            <m:mstyle mathvariant="bold">
               <m:mi>w</m:mi>
            </m:mstyle>
            <m:mo class="MathClass-rel">|</m:mo>
            <m:msubsup>
               <m:mrow>
                  <m:mi>&#963;</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mstyle mathvariant="bold">
                     <m:mi>w</m:mi>
                  </m:mstyle>
               </m:mrow>
               <m:mrow>
                  <m:mn>2</m:mn>
               </m:mrow>
            </m:msubsup>
            <m:mo class="MathClass-punc">,</m:mo>
            <m:mi>M</m:mi>
         </m:mrow>
         <m:mo class="MathClass-close">)</m:mo>
      </m:mrow>
   </m:mrow>
   <m:mrow>
      <m:mi>P</m:mi>
      <m:mrow>
         <m:mo class="MathClass-open">(</m:mo>
         <m:mrow>
            <m:mi>D</m:mi>
            <m:mo class="MathClass-rel">|</m:mo>
            <m:msup>
               <m:mrow>
                  <m:mi>&#963;</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mn>2</m:mn>
               </m:mrow>
            </m:msup>
            <m:mo class="MathClass-punc">,</m:mo>
            <m:msubsup>
               <m:mrow>
                  <m:mi>&#963;</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mstyle mathvariant="bold">
                     <m:mi>w</m:mi>
                  </m:mstyle>
               </m:mrow>
               <m:mrow>
                  <m:mn>2</m:mn>
               </m:mrow>
            </m:msubsup>
            <m:mo class="MathClass-punc">,</m:mo>
            <m:mi>M</m:mi>
         </m:mrow>
         <m:mo class="MathClass-close">)</m:mo>
      </m:mrow>
   </m:mrow>
</m:mfrac>
<m:mo class="MathClass-punc">,</m:mo>
</m:math>
</display-formula></p>
<p>where the denominator is the marginal density of the data, that is</p>
<p><display-formula><m:math name="1471-2156-12-87-i10" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:mi>P</m:mi>
   <m:mrow>
      <m:mo class="MathClass-open">(</m:mo>
      <m:mrow>
         <m:mi>D</m:mi>
         <m:mo class="MathClass-rel">|</m:mo>
         <m:msup>
            <m:mrow>
               <m:mi>&#963;</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mn>2</m:mn>
            </m:mrow>
         </m:msup>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:msubsup>
            <m:mrow>
               <m:mi>&#963;</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>w</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mn>2</m:mn>
            </m:mrow>
         </m:msubsup>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:mi>M</m:mi>
      </m:mrow>
      <m:mo class="MathClass-close">)</m:mo>
   </m:mrow>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mo class="MathClass-op"> &#8747; </m:mo>
   <m:mi>P</m:mi>
   <m:mrow>
      <m:mo class="MathClass-open">(</m:mo>
      <m:mrow>
         <m:mi>D</m:mi>
         <m:mo class="MathClass-rel">|</m:mo>
         <m:mstyle mathvariant="bold">
            <m:mi>w</m:mi>
         </m:mstyle>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:msup>
            <m:mrow>
               <m:mi>&#963;</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mn>2</m:mn>
            </m:mrow>
         </m:msup>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:mi>M</m:mi>
      </m:mrow>
      <m:mo class="MathClass-close">)</m:mo>
   </m:mrow>
   <m:mi>P</m:mi>
   <m:mrow>
      <m:mo class="MathClass-open">(</m:mo>
      <m:mrow>
         <m:mstyle mathvariant="bold">
            <m:mi>w</m:mi>
         </m:mstyle>
         <m:mo class="MathClass-rel">|</m:mo>
         <m:msubsup>
            <m:mrow>
               <m:mi>&#963;</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>w</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mn>2</m:mn>
            </m:mrow>
         </m:msubsup>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:mi>M</m:mi>
      </m:mrow>
      <m:mo class="MathClass-close">)</m:mo>
   </m:mrow>
   <m:mi>d</m:mi>
   <m:mstyle mathvariant="bold">
      <m:mi>w</m:mi>
   </m:mstyle>
   <m:mo class="MathClass-punc">.</m:mo>
</m:mrow>
</m:math>
</display-formula></p>
<p>For a neural network with a least one non-linear activation function, the integral is expressible as</p>
<p><display-formula id="M5"><m:math name="1471-2156-12-87-i11" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mtable columnalign="left">
   <m:mtr>
      <m:mtd>
         <m:mi>p</m:mi>
         <m:mo stretchy="false">(</m:mo>
         <m:mi>D</m:mi>
         <m:mo>|</m:mo>
         <m:msup>
            <m:mi>&#963;</m:mi>
            <m:mn>2</m:mn>
         </m:msup>
         <m:mo>,</m:mo>
         <m:msubsup>
            <m:mi>&#963;</m:mi>
            <m:mi>w</m:mi>
            <m:mn>2</m:mn>
         </m:msubsup>
         <m:mo>,</m:mo>
         <m:mi>M</m:mi>
         <m:mo stretchy="false">)</m:mo>
         <m:mo>=</m:mo>
         <m:msup>
            <m:mrow>
               <m:mo>(</m:mo>
               <m:mrow>
                  <m:mfrac>
                     <m:mn>1</m:mn>
                     <m:mrow>
                        <m:mn>2</m:mn>
                        <m:mi>&#960;</m:mi>
                        <m:msup>
                           <m:mi>&#963;</m:mi>
                           <m:mn>2</m:mn>
                        </m:msup>
                     </m:mrow>
                  </m:mfrac>
               </m:mrow>
               <m:mo>)</m:mo>
            </m:mrow>
            <m:mrow>
               <m:mfrac>
                  <m:mi>n</m:mi>
                  <m:mn>2</m:mn>
               </m:mfrac>
            </m:mrow>
         </m:msup>
         <m:msup>
            <m:mrow>
               <m:mo>(</m:mo>
               <m:mrow>
                  <m:mfrac>
                     <m:mn>1</m:mn>
                     <m:mrow>
                        <m:mn>2</m:mn>
                        <m:mi>&#960;</m:mi>
                        <m:msub>
                           <m:mi>&#963;</m:mi>
                           <m:mi>w</m:mi>
                        </m:msub>
                        <m:msup>
                           <m:mrow/>
                           <m:mn>2</m:mn>
                        </m:msup>
                     </m:mrow>
                  </m:mfrac>
               </m:mrow>
               <m:mo>)</m:mo>
            </m:mrow>
            <m:mrow>
               <m:mfrac>
                  <m:mi>m</m:mi>
                  <m:mn>2</m:mn>
               </m:mfrac>
            </m:mrow>
         </m:msup>
         <m:mo>&#215;</m:mo>
      </m:mtd>
   </m:mtr>
   <m:mtr>
      <m:mtd>
         <m:mstyle displaystyle="true">
            <m:mrow>
               <m:mo>&#8747;</m:mo>
               <m:mrow>
                  <m:mtext>exp</m:mtext>
               </m:mrow>
            </m:mrow>
         </m:mstyle>
         <m:mrow>
            <m:mrow>
               <m:mrow>
                  <m:mo>[</m:mo>
                  <m:mrow>
                     <m:mo>&#8722;</m:mo>
                     <m:mfrac>
                        <m:mn>1</m:mn>
                        <m:mrow>
                           <m:mn>2</m:mn>
                           <m:msup>
                              <m:mi>&#963;</m:mi>
                              <m:mn>2</m:mn>
                           </m:msup>
                        </m:mrow>
                     </m:mfrac>
                     <m:mstyle displaystyle="true">
                        <m:munderover>
                           <m:mo>&#8721;</m:mo>
                           <m:mrow>
                              <m:mi>i</m:mi>
                              <m:mo>=</m:mo>
                              <m:mn>1</m:mn>
                           </m:mrow>
                           <m:mi>n</m:mi>
                        </m:munderover>
                        <m:mrow>
                           <m:mrow>
                              <m:mo>(</m:mo>
                              <m:mrow>
                                 <m:msub>
                                    <m:mi>t</m:mi>
                                    <m:mi>i</m:mi>
                                 </m:msub>
                                 <m:mo>&#8722;</m:mo>
                                 <m:mi>b</m:mi>
                                 <m:mo>&#8722;</m:mo>
                                 <m:mi>c</m:mi>
                                 <m:mi>g</m:mi>
                                 <m:mrow>
                                    <m:mo>[</m:mo>
                                    <m:mrow>
                                       <m:mstyle displaystyle="true">
                                          <m:munderover>
                                             <m:mo>&#8721;</m:mo>
                                             <m:mrow>
                                                <m:mi>k</m:mi>
                                                <m:mo>=</m:mo>
                                                <m:mn>1</m:mn>
                                             </m:mrow>
                                             <m:mi>s</m:mi>
                                          </m:munderover>
                                          <m:mrow>
                                             <m:msub>
                                                <m:mi>w</m:mi>
                                                <m:mi>k</m:mi>
                                             </m:msub>
                                          </m:mrow>
                                       </m:mstyle>
                                       <m:msub>
                                          <m:mi>g</m:mi>
                                          <m:mi>k</m:mi>
                                       </m:msub>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:msub>
                                          <m:mi>b</m:mi>
                                          <m:mi>k</m:mi>
                                       </m:msub>
                                       <m:mo>+</m:mo>
                                    </m:mrow>
                                 </m:mrow>
                              </m:mrow>
                           </m:mrow>
                           <m:mstyle displaystyle="true">
                              <m:msubsup>
                                 <m:mo>&#8721;</m:mo>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                    <m:mo>=</m:mo>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                                 <m:mi>n</m:mi>
                              </m:msubsup>
                              <m:mrow>
                                 <m:msub>
                                    <m:mi>a</m:mi>
                                    <m:mrow>
                                       <m:mi>i</m:mi>
                                       <m:mi>j</m:mi>
                                    </m:mrow>
                                 </m:msub>
                                 <m:msubsup>
                                    <m:mi>u</m:mi>
                                    <m:mi>j</m:mi>
                                    <m:mrow>
                                       <m:mo>*</m:mo>
                                       <m:mo>*</m:mo>
                                       <m:mo stretchy="false">[</m:mo>
                                       <m:mi>k</m:mi>
                                       <m:mo stretchy="false">]</m:mo>
                                    </m:mrow>
                                 </m:msubsup>
                                 <m:mo stretchy="false">)</m:mo>
                              </m:mrow>
                           </m:mstyle>
                        </m:mrow>
                     </m:mstyle>
                  </m:mrow>
                  <m:mo>]</m:mo>
               </m:mrow>
            </m:mrow>
            <m:mo>)</m:mo>
         </m:mrow>
         <m:mrow>
            <m:mrow>
               <m:mo>&#8722;</m:mo>
               <m:mfrac>
                  <m:mn>1</m:mn>
                  <m:mrow>
                     <m:mn>2</m:mn>
                     <m:msubsup>
                        <m:mi>&#963;</m:mi>
                        <m:mi>w</m:mi>
                        <m:mn>2</m:mn>
                     </m:msubsup>
                  </m:mrow>
               </m:mfrac>
               <m:mi>w</m:mi>
               <m:mstyle mathvariant="bold" mathsize="normal">
                  <m:mo>'</m:mo>
               </m:mstyle>
               <m:mi>w</m:mi>
            </m:mrow>
            <m:mo>]</m:mo>
         </m:mrow>
         <m:mi>d</m:mi>
         <m:mi>w</m:mi>
      </m:mtd>
   </m:mtr>
</m:mtable>
</m:math></display-formula></p>
<p>which does not have closed form, because of non-linearity. Recall that <it>b </it>can be set to 0 provided the observations are suitably centered.</p>
<p>Although a Bayesian neural network can be fitted using Markov chain Monte Carlo sampling, the computations are taxing because of the enormous non-linearities present coupled with the high-dimensionality of <b>w</b>, such as it is the case with genomic data. An alternative approach is based on computing conditional posterior modes of connection strengths, given some likelihood-based estimates of the variance parameters, i.e., as in best linear unbiased prediction (when viewed as a posterior mode) coupled with restricted maximum likelihood (where estimates of variances are the maximizers of a marginal likelihood). The conditional (given <it>&#963;</it><sup>2 </sup>and <inline-formula><m:math name="1471-2156-12-87-i12" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:msubsup>
   <m:mrow>
      <m:mi>&#963;</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>w</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mn>2</m:mn>
   </m:mrow>
</m:msubsup>
</m:math>
</inline-formula>) log-posterior density of <b>w </b>is from equation (4)</p>
<p><display-formula><m:math name="1471-2156-12-87-i13" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mi>L</m:mi>
<m:mrow>
   <m:mo class="MathClass-open">(</m:mo>
   <m:mrow>
      <m:mstyle mathvariant="bold">
         <m:mi>w</m:mi>
      </m:mstyle>
      <m:mo class="MathClass-rel">|</m:mo>
      <m:mi>D</m:mi>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:msup>
         <m:mrow>
            <m:mi>&#963;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
         </m:mrow>
      </m:msup>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:msubsup>
         <m:mrow>
            <m:mi>&#963;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>w</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
         </m:mrow>
      </m:msubsup>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:mi>M</m:mi>
   </m:mrow>
   <m:mo class="MathClass-close">)</m:mo>
</m:mrow>
<m:mo class="MathClass-rel">=</m:mo>
<m:mi>K</m:mi>
<m:mo class="MathClass-bin">+</m:mo>
<m:mo class="qopname"> log</m:mo>
<m:mi>P</m:mi>
<m:mrow>
   <m:mo class="MathClass-open">(</m:mo>
   <m:mrow>
      <m:mi>D</m:mi>
      <m:mo class="MathClass-rel">|</m:mo>
      <m:mstyle mathvariant="bold">
         <m:mi>w</m:mi>
      </m:mstyle>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:msup>
         <m:mrow>
            <m:mi>&#963;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
         </m:mrow>
      </m:msup>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:mi>M</m:mi>
   </m:mrow>
   <m:mo class="MathClass-close">)</m:mo>
</m:mrow>
<m:mo class="MathClass-bin">+</m:mo>
<m:mo class="qopname"> log</m:mo>
<m:mi>P</m:mi>
<m:mrow>
   <m:mo class="MathClass-open">(</m:mo>
   <m:mrow>
      <m:mstyle mathvariant="bold">
         <m:mi>w</m:mi>
      </m:mstyle>
      <m:mo class="MathClass-rel">|</m:mo>
      <m:msubsup>
         <m:mrow>
            <m:mi>&#963;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>w</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
         </m:mrow>
      </m:msubsup>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:mi>M</m:mi>
   </m:mrow>
   <m:mo class="MathClass-close">)</m:mo>
</m:mrow>
<m:mo class="MathClass-punc">.</m:mo>
</m:math>
</display-formula></p>
<p>Let <inline-formula><m:math name="1471-2156-12-87-i14" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mi>&#946;</m:mi>
<m:mo class="MathClass-rel">=</m:mo>
<m:mfrac>
   <m:mrow>
      <m:mn>1</m:mn>
   </m:mrow>
   <m:mrow>
      <m:mn>2</m:mn>
      <m:msup>
         <m:mrow>
            <m:mi>&#963;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
         </m:mrow>
      </m:msup>
   </m:mrow>
</m:mfrac>
</m:math>
</inline-formula> and <inline-formula><m:math name="1471-2156-12-87-i15" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mi>&#945;</m:mi>
<m:mo class="MathClass-rel">=</m:mo>
<m:mfrac>
   <m:mrow>
      <m:mn>1</m:mn>
   </m:mrow>
   <m:mrow>
      <m:mn>2</m:mn>
      <m:msubsup>
         <m:mrow>
            <m:mi>&#963;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>w</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
         </m:mrow>
      </m:msubsup>
   </m:mrow>
</m:mfrac>
</m:math>
</inline-formula> (a standard notation in neural networks literature), and</p>
<p><display-formula id="M6"><m:math name="1471-2156-12-87-i16" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mtable columnalign="left" class="align">
   <m:mtr>
      <m:mtd columnalign="right" class="align-odd">
         <m:mi>F</m:mi>
         <m:mrow>
            <m:mo class="MathClass-open">(</m:mo>
            <m:mrow>
               <m:mi>&#945;</m:mi>
               <m:mo class="MathClass-punc">,</m:mo>
               <m:mi>&#946;</m:mi>
            </m:mrow>
            <m:mo class="MathClass-close">)</m:mo>
         </m:mrow>
      </m:mtd>
      <m:mtd class="align-even">
         <m:mo class="MathClass-rel">=</m:mo>
         <m:mi>&#946;</m:mi>
         <m:munderover accentunder="false" accent="false">
            <m:mrow>
               <m:mo mathsize="big">&#8721;</m:mo>
            </m:mrow>
            <m:mrow>
               <m:mi>i</m:mi>
               <m:mo class="MathClass-rel">=</m:mo>
               <m:mn>1</m:mn>
            </m:mrow>
            <m:mrow>
               <m:mi>n</m:mi>
            </m:mrow>
         </m:munderover>
         <m:msup>
            <m:mrow>
               <m:mfenced separators="" open="(" close=")">
                  <m:mrow>
                     <m:msub>
                        <m:mrow>
                           <m:mi>t</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>i</m:mi>
                        </m:mrow>
                     </m:msub>
                     <m:mo class="MathClass-bin">-</m:mo>
                     <m:mi>b</m:mi>
                     <m:mo class="MathClass-bin">-</m:mo>
                     <m:mi>c</m:mi>
                     <m:mi>g</m:mi>
                     <m:mfenced separators="" open="[" close="]">
                        <m:mrow>
                           <m:munderover accentunder="false" accent="false">
                              <m:mrow>
                                 <m:mo mathsize="big">&#8721;</m:mo>
                              </m:mrow>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                                 <m:mo class="MathClass-rel">=</m:mo>
                                 <m:mn>1</m:mn>
                              </m:mrow>
                              <m:mrow>
                                 <m:mi>s</m:mi>
                              </m:mrow>
                           </m:munderover>
                           <m:msub>
                              <m:mrow>
                                 <m:mi>w</m:mi>
                              </m:mrow>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                              </m:mrow>
                           </m:msub>
                           <m:msub>
                              <m:mrow>
                                 <m:mi>g</m:mi>
                              </m:mrow>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                              </m:mrow>
                           </m:msub>
                           <m:mrow>
                              <m:mo class="MathClass-open">(</m:mo>
                              <m:mrow>
                                 <m:msub>
                                    <m:mrow>
                                       <m:mi>b</m:mi>
                                    </m:mrow>
                                    <m:mrow>
                                       <m:mi>k</m:mi>
                                    </m:mrow>
                                 </m:msub>
                                 <m:mo class="MathClass-bin">+</m:mo>
                                 <m:msubsup>
                                    <m:mrow>
                                       <m:mo mathsize="big"> &#8721;</m:mo>
                                    </m:mrow>
                                    <m:mrow>
                                       <m:mi>j</m:mi>
                                       <m:mo class="MathClass-rel">=</m:mo>
                                       <m:mn>1</m:mn>
                                    </m:mrow>
                                    <m:mrow>
                                       <m:mi>n</m:mi>
                                    </m:mrow>
                                 </m:msubsup>
                                 <m:msub>
                                    <m:mrow>
                                       <m:mi>a</m:mi>
                                    </m:mrow>
                                    <m:mrow>
                                       <m:mi>i</m:mi>
                                       <m:mi>j</m:mi>
                                    </m:mrow>
                                 </m:msub>
                                 <m:msubsup>
                                    <m:mrow>
                                       <m:mi>u</m:mi>
                                    </m:mrow>
                                    <m:mrow>
                                       <m:mi>j</m:mi>
                                    </m:mrow>
                                    <m:mrow>
                                       <m:mo class="MathClass-bin">*</m:mo>
                                       <m:mo class="MathClass-bin">*</m:mo>
                                       <m:mrow>
                                          <m:mo class="MathClass-open">[</m:mo>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                          </m:mrow>
                                          <m:mo class="MathClass-close">]</m:mo>
                                       </m:mrow>
                                    </m:mrow>
                                 </m:msubsup>
                              </m:mrow>
                              <m:mo class="MathClass-close">)</m:mo>
                           </m:mrow>
                        </m:mrow>
                     </m:mfenced>
                  </m:mrow>
               </m:mfenced>
            </m:mrow>
            <m:mrow>
               <m:mn>2</m:mn>
            </m:mrow>
         </m:msup>
         <m:mo class="MathClass-bin">+</m:mo>
         <m:mi>&#945;</m:mi>
         <m:mstyle mathvariant="bold">
            <m:msup>
               <m:mrow>
                  <m:mi>w</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>&#8242;</m:mi>
               </m:mrow>
            </m:msup>
            <m:mi>w</m:mi>
         </m:mstyle>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:mspace width="2em"/>
      </m:mtd>
      <m:mtd columnalign="right" class="align-label">
         <m:mstyle id="x1-2r1" class="label"/>
         <m:mstyle class="maketag">
            <m:mtext>(1)</m:mtext>
         </m:mstyle>
      </m:mtd>
   </m:mtr>
   <m:mtr>
      <m:mtd columnalign="right" class="align-odd"/>
      <m:mtd class="align-even">
         <m:mo class="MathClass-rel">=</m:mo>
         <m:mi>&#946;</m:mi>
         <m:msub>
            <m:mrow>
               <m:mi>E</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>D</m:mi>
            </m:mrow>
         </m:msub>
         <m:mo class="MathClass-bin">+</m:mo>
         <m:mi>&#945;</m:mi>
         <m:msub>
            <m:mrow>
               <m:mi>E</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>w</m:mi>
            </m:mrow>
         </m:msub>
         <m:mspace width="2em"/>
      </m:mtd>
      <m:mtd columnalign="right" class="align-label">
         <m:mstyle id="x1-3r2" class="label"/>
         <m:mstyle class="maketag">
            <m:mtext>(2)</m:mtext>
         </m:mstyle>
      </m:mtd>
   </m:mtr>
   <m:mtr>
      <m:mtd columnalign="right" class="align-odd"/>
      <m:mtd class="align-even">
         <m:mspace width="2em"/>
      </m:mtd>
      <m:mtd columnalign="right" class="align-label">
         <m:mstyle id="x1-4r3" class="label"/>
         <m:mstyle class="maketag">
            <m:mtext>(3)</m:mtext>
         </m:mstyle>
      </m:mtd>
   </m:mtr>
</m:mtable>
</m:math>
</display-formula></p>
<p>where</p>
<p><display-formula><m:math name="1471-2156-12-87-i17" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:msub>
      <m:mi>E</m:mi>
      <m:mi>D</m:mi>
   </m:msub>
   <m:mo>=</m:mo>
   <m:msup>
      <m:mrow>
         <m:mstyle displaystyle="true">
            <m:munderover>
               <m:mo>&#8721;</m:mo>
               <m:mrow>
                  <m:mi>i</m:mi>
                  <m:mo>=</m:mo>
                  <m:mn>1</m:mn>
               </m:mrow>
               <m:mi>n</m:mi>
            </m:munderover>
            <m:mrow>
               <m:mrow>
                  <m:mo>(</m:mo>
                  <m:mrow>
                     <m:msub>
                        <m:mi>t</m:mi>
                        <m:mi>i</m:mi>
                     </m:msub>
                     <m:mo>&#8722;</m:mo>
                     <m:mi>b</m:mi>
                     <m:mo>&#8722;</m:mo>
                     <m:mi>c</m:mi>
                     <m:mi>g</m:mi>
                     <m:mrow>
                        <m:mo>[</m:mo>
                        <m:mrow>
                           <m:mstyle displaystyle="true">
                              <m:munderover>
                                 <m:mo>&#8721;</m:mo>
                                 <m:mrow>
                                    <m:mi>k</m:mi>
                                    <m:mo>=</m:mo>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                                 <m:mi>s</m:mi>
                              </m:munderover>
                              <m:mrow>
                                 <m:msub>
                                    <m:mi>w</m:mi>
                                    <m:mi>k</m:mi>
                                 </m:msub>
                              </m:mrow>
                           </m:mstyle>
                           <m:msub>
                              <m:mi>g</m:mi>
                              <m:mi>k</m:mi>
                           </m:msub>
                           <m:mo stretchy="false">(</m:mo>
                           <m:msub>
                              <m:mi>b</m:mi>
                              <m:mi>k</m:mi>
                           </m:msub>
                           <m:mo>+</m:mo>
                           <m:mstyle displaystyle="true">
                              <m:msubsup>
                                 <m:mo>&#8721;</m:mo>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                    <m:mo>=</m:mo>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                                 <m:mi>n</m:mi>
                              </m:msubsup>
                              <m:mrow>
                                 <m:msub>
                                    <m:mi>a</m:mi>
                                    <m:mrow>
                                       <m:mi>i</m:mi>
                                       <m:mi>j</m:mi>
                                    </m:mrow>
                                 </m:msub>
                                 <m:msubsup>
                                    <m:mi>u</m:mi>
                                    <m:mi>j</m:mi>
                                    <m:mrow>
                                       <m:mo>*</m:mo>
                                       <m:mo>*</m:mo>
                                       <m:mo stretchy="false">[</m:mo>
                                       <m:mi>k</m:mi>
                                       <m:mo stretchy="false">]</m:mo>
                                    </m:mrow>
                                 </m:msubsup>
                              </m:mrow>
                           </m:mstyle>
                        </m:mrow>
                        <m:mo>]</m:mo>
                     </m:mrow>
                  </m:mrow>
                  <m:mo>)</m:mo>
               </m:mrow>
            </m:mrow>
         </m:mstyle>
      </m:mrow>
      <m:mn>2</m:mn>
   </m:msup>
   <m:mo>,</m:mo>
</m:mrow>
</m:math></display-formula></p>
<p>and <it>E<sub>w </sub></it>= <b>w'w</b>. It follows that maximizing <inline-formula><m:math name="1471-2156-12-87-i18" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mi>L</m:mi>
<m:mrow>
   <m:mo class="MathClass-open">(</m:mo>
   <m:mrow>
      <m:mstyle mathvariant="bold">
         <m:mi>w</m:mi>
      </m:mstyle>
      <m:mspace width="2.77695pt" class="tmspace"/>
      <m:mo class="MathClass-rel">|</m:mo>
      <m:mi>D</m:mi>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:msup>
         <m:mrow>
            <m:mi>&#963;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
         </m:mrow>
      </m:msup>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:msubsup>
         <m:mrow>
            <m:mi>&#963;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>w</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
         </m:mrow>
      </m:msubsup>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:mi>M</m:mi>
   </m:mrow>
   <m:mo class="MathClass-close">)</m:mo>
</m:mrow>
</m:math>
</inline-formula> is equivalent to minimizing <it>F</it>(<it>&#945;</it>, <it>&#946;</it>). This function is often referred to as a "penalized" sum of squares, and it embeds a compromise between goodness of fit, given by the sum of squares of the residuals <it>E<sub>D</sub></it>, and the degree of model complexity, given by the sum of squares of the network weights <it>E<sub>w</sub></it>. The value w = w<sup>MAP </sup>that maximizes <inline-formula><m:math name="1471-2156-12-87-i19" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mi>L</m:mi>
<m:mrow>
   <m:mo class="MathClass-open">(</m:mo>
   <m:mrow>
      <m:mstyle class="text">
         <m:mtext class="textsf" mathvariant="sans-serif">w</m:mtext>
      </m:mstyle>
      <m:mspace width="2.77695pt" class="tmspace"/>
      <m:mo class="MathClass-rel">|</m:mo>
      <m:mi>D</m:mi>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:msup>
         <m:mrow>
            <m:mi>&#963;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
         </m:mrow>
      </m:msup>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:msubsup>
         <m:mrow>
            <m:mi>&#963;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>w</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
         </m:mrow>
      </m:msubsup>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:mi>M</m:mi>
   </m:mrow>
   <m:mo class="MathClass-close">)</m:mo>
</m:mrow>
</m:math>
</inline-formula> is the mode of the conditional (given the variances) posterior density of the connection strengths; <b>MAP </b>stands for "<it>maximum a </it><it>posteriori</it>".</p>
<p>If the additive infinitesimal model is represented as a neural network, the coefficient of heritability is given by <inline-formula><m:math name="1471-2156-12-87-i20" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:msup>
   <m:mrow>
      <m:mi>h</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mn>2</m:mn>
   </m:mrow>
</m:msup>
<m:mo class="MathClass-rel">=</m:mo>
<m:mfrac>
   <m:mrow>
      <m:mn>1</m:mn>
   </m:mrow>
   <m:mrow>
      <m:mn>2</m:mn>
      <m:mi>&#945;</m:mi>
   </m:mrow>
</m:mfrac>
<m:mo class="MathClass-bin">&#8725;</m:mo>
<m:mfenced separators="" open="(" close=")">
   <m:mrow>
      <m:mfrac>
         <m:mrow>
            <m:mn>1</m:mn>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
            <m:mi>&#945;</m:mi>
         </m:mrow>
      </m:mfrac>
      <m:mo class="MathClass-bin">+</m:mo>
      <m:mfrac>
         <m:mrow>
            <m:mn>1</m:mn>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
            <m:mi>&#946;</m:mi>
         </m:mrow>
      </m:mfrac>
   </m:mrow>
</m:mfenced>
<m:mo class="MathClass-rel">=</m:mo>
<m:mfrac>
   <m:mrow>
      <m:mi>&#946;</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>&#945;</m:mi>
      <m:mo class="MathClass-bin">+</m:mo>
      <m:mi>&#946;</m:mi>
   </m:mrow>
</m:mfrac>
</m:math>
</inline-formula>. As it can be seen in equation (6), if &#945;&lt;&lt;&#946;, the fitting or training algorithm places more weight on goodness of fit. If &#945;&gt;&gt;&#946;, the algorithm emphasizes reduction in the values of <b>w </b>(shrinkage), which produces a less wiggly output function <abbrgrp><abbr bid="B20">20</abbr></abbrgrp>.</p>
<p>Given &#945; and &#946;, the w = w<sup>MAP </sup>estimates can be found via any non-linear maximization algorithm as in, e.g., the threshold and survival analysis models of quantitative genetics <abbrgrp><abbr bid="B21">21</abbr></abbrgrp>.</p>
</sec>
<sec><st><p>Tuning parameters &#945; and &#946;</p></st>
<p>A standard procedure used in neural networks (and in the software employed here) infers &#945; and &#946; by maximizing the marginal likelihood of the data in equation (5); this corresponds to what is often known as empirical Bayes. Because (5) does not have a closed form (except in linear neural networks), the marginal likelihood is approximated using a Laplacian integration done in the vicinity of the current value w = w<sup>MAP</sup>, which depends in turn on the values of the tuning parameters at which the expansion is made. This type of approach for non-linear mixed models has been used in animal breeding for almost two decades <abbrgrp><abbr bid="B22">22</abbr></abbrgrp>.</p>
<p>The Laplacian approximation to the marginal density in equation (5) leads to the representation</p>
<p><display-formula id="M7"><m:math name="1471-2156-12-87-i21" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mtable class="gathered">
   <m:mtr>
      <m:mtd>
         <m:mo class="qopname">log</m:mo>
         <m:mrow>
            <m:mo class="MathClass-open">[</m:mo>
            <m:mrow>
               <m:mi>p</m:mi>
               <m:mrow>
                  <m:mo class="MathClass-open">(</m:mo>
                  <m:mrow>
                     <m:mi>D</m:mi>
                     <m:mo class="MathClass-rel">|</m:mo>
                     <m:mi>&#945;</m:mi>
                     <m:mo class="MathClass-punc">,</m:mo>
                     <m:mi>&#946;</m:mi>
                     <m:mo class="MathClass-punc">,</m:mo>
                     <m:mi>M</m:mi>
                  </m:mrow>
                  <m:mo class="MathClass-close">)</m:mo>
               </m:mrow>
            </m:mrow>
            <m:mo class="MathClass-close">]</m:mo>
         </m:mrow>
         <m:mo class="MathClass-rel">&#8776;</m:mo>
         <m:mi>K</m:mi>
         <m:mo class="MathClass-bin">+</m:mo>
         <m:mfrac>
            <m:mrow>
               <m:mi>n</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mn>2</m:mn>
            </m:mrow>
         </m:mfrac>
         <m:mo class="qopname">log</m:mo>
         <m:mrow>
            <m:mo class="MathClass-open">(</m:mo>
            <m:mrow>
               <m:mi>&#946;</m:mi>
            </m:mrow>
            <m:mo class="MathClass-close">)</m:mo>
         </m:mrow>
         <m:mo class="MathClass-bin">+</m:mo>
         <m:mfrac>
            <m:mrow>
               <m:mi>m</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mn>2</m:mn>
            </m:mrow>
         </m:mfrac>
         <m:mo class="qopname">log</m:mo>
         <m:mrow>
            <m:mo class="MathClass-open">(</m:mo>
            <m:mrow>
               <m:mi>&#945;</m:mi>
            </m:mrow>
            <m:mo class="MathClass-close">)</m:mo>
         </m:mrow>
      </m:mtd>
   </m:mtr>
   <m:mtr>
      <m:mtd>
         <m:mspace width="1em" class="quad"/>
         <m:mspace width="1em" class="quad"/>
         <m:mspace width="1em" class="quad"/>
         <m:mspace width="1em" class="quad"/>
         <m:mspace width="1em" class="quad"/>
         <m:mspace width="1em" class="quad"/>
         <m:mspace width="1em" class="quad"/>
         <m:mspace width="1em" class="quad"/>
         <m:mspace width="1em" class="quad"/>
         <m:mspace width="1em" class="quad"/>
         <m:mspace width="1em" class="quad"/>
         <m:mspace width="1em" class="quad"/>
         <m:mspace width="1em" class="quad"/>
         <m:mspace width="1em" class="quad"/>
         <m:mspace width="1em" class="quad"/>
         <m:mo class="MathClass-bin">-</m:mo>
         <m:msub>
            <m:mrow>
               <m:mfenced separators="" open="|" close="|">
                  <m:mrow>
                     <m:mi>F</m:mi>
                     <m:mrow>
                        <m:mo class="MathClass-open">(</m:mo>
                        <m:mrow>
                           <m:mi>&#945;</m:mi>
                           <m:mo class="MathClass-punc">,</m:mo>
                           <m:mi>&#946;</m:mi>
                        </m:mrow>
                        <m:mo class="MathClass-close">)</m:mo>
                     </m:mrow>
                  </m:mrow>
               </m:mfenced>
            </m:mrow>
            <m:mrow>
               <m:mi>w</m:mi>
               <m:mo class="MathClass-rel">=</m:mo>
               <m:msubsup>
                  <m:mrow>
                     <m:mi>w</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mrow>
                        <m:mo class="MathClass-open">(</m:mo>
                        <m:mrow>
                           <m:mi>&#945;</m:mi>
                           <m:mo class="MathClass-punc">,</m:mo>
                           <m:mi>&#946;</m:mi>
                        </m:mrow>
                        <m:mo class="MathClass-close">)</m:mo>
                     </m:mrow>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>M</m:mi>
                     <m:mi>A</m:mi>
                     <m:mi>P</m:mi>
                  </m:mrow>
               </m:msubsup>
            </m:mrow>
         </m:msub>
         <m:mo class="MathClass-bin">-</m:mo>
         <m:mfrac>
            <m:mrow>
               <m:mn>1</m:mn>
            </m:mrow>
            <m:mrow>
               <m:mn>2</m:mn>
            </m:mrow>
         </m:mfrac>
         <m:mo class="qopname">log</m:mo>
         <m:msub>
            <m:mrow>
               <m:mfenced separators="" open="&#8741;" close="&#8741;">
                  <m:mrow>
                     <m:mstyle mathvariant="bold">
                        <m:mi>H</m:mi>
                     </m:mstyle>
                  </m:mrow>
               </m:mfenced>
            </m:mrow>
            <m:mrow>
               <m:mi>w</m:mi>
               <m:mo class="MathClass-rel">=</m:mo>
               <m:msubsup>
                  <m:mrow>
                     <m:mi>w</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mrow>
                        <m:mo class="MathClass-open">(</m:mo>
                        <m:mrow>
                           <m:mi>&#945;</m:mi>
                           <m:mo class="MathClass-punc">,</m:mo>
                           <m:mi>&#946;</m:mi>
                        </m:mrow>
                        <m:mo class="MathClass-close">)</m:mo>
                     </m:mrow>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>M</m:mi>
                     <m:mi>A</m:mi>
                     <m:mi>P</m:mi>
                  </m:mrow>
               </m:msubsup>
            </m:mrow>
         </m:msub>
      </m:mtd>
   </m:mtr>
   <m:mtr>
      <m:mtd/>
   </m:mtr>
</m:mtable>
</m:math>
</display-formula></p>
<p>where <it>K </it>is a constant and <inline-formula><m:math name="1471-2156-12-87-i22" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mstyle mathvariant="bold">
   <m:mi>H</m:mi>
</m:mstyle>
<m:mo class="MathClass-rel">=</m:mo>
<m:mfrac>
   <m:mrow>
      <m:msup>
         <m:mrow>
            <m:mi>&#8706;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
         </m:mrow>
      </m:msup>
   </m:mrow>
   <m:mrow>
      <m:mi>&#8706;</m:mi>
      <m:mstyle mathvariant="bold">
         <m:mi>w</m:mi>
      </m:mstyle>
      <m:mi>&#8706;</m:mi>
      <m:msup>
         <m:mrow>
            <m:mstyle mathvariant="bold">
               <m:mi>w</m:mi>
            </m:mstyle>
         </m:mrow>
         <m:mrow>
            <m:mi>&#8242;</m:mi>
         </m:mrow>
      </m:msup>
   </m:mrow>
</m:mfrac>
<m:mi>F</m:mi>
<m:mrow>
   <m:mo class="MathClass-open">(</m:mo>
   <m:mrow>
      <m:mi>&#945;</m:mi>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:mi>&#946;</m:mi>
   </m:mrow>
   <m:mo class="MathClass-close">)</m:mo>
</m:mrow>
</m:math>
</inline-formula> is the Hessian matrix. A grid search can be used to locate the &#945;, &#946; maximizers of the marginal likelihood in the training set. An alternative approach described by <abbrgrp><abbr bid="B18">18</abbr><abbr bid="B23">23</abbr></abbrgrp> involves the iteration (updating is from right to left, with <b>w</b><sup>MAP </sup>evaluated at the "old" values of the tuning parameters)</p>
<p><display-formula><m:math name="1471-2156-12-87-i23" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:msub>
      <m:mrow>
         <m:mi>&#945;</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mi>n</m:mi>
         <m:mi>e</m:mi>
         <m:mi>w</m:mi>
      </m:mrow>
   </m:msub>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mfrac>
      <m:mrow>
         <m:mi>m</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mn>2</m:mn>
         <m:mrow>
            <m:mo class="MathClass-open">(</m:mo>
            <m:mrow>
               <m:msup>
                  <m:mrow>
                     <m:msup>
                        <m:mrow>
                           <m:mstyle mathvariant="bold">
                              <m:mi>w</m:mi>
                           </m:mstyle>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>M</m:mi>
                           <m:mi>A</m:mi>
                           <m:mi>P</m:mi>
                        </m:mrow>
                     </m:msup>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>&#8242;</m:mi>
                  </m:mrow>
               </m:msup>
               <m:msup>
                  <m:mrow>
                     <m:mstyle mathvariant="bold">
                        <m:mi>w</m:mi>
                     </m:mstyle>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>M</m:mi>
                     <m:mi>A</m:mi>
                     <m:mi>P</m:mi>
                  </m:mrow>
               </m:msup>
               <m:mo class="MathClass-bin">+</m:mo>
               <m:mi>t</m:mi>
               <m:mi>r</m:mi>
               <m:msubsup>
                  <m:mrow>
                     <m:mstyle mathvariant="bold">
                        <m:mi>H</m:mi>
                     </m:mstyle>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>M</m:mi>
                     <m:mi>A</m:mi>
                     <m:mi>P</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mo class="MathClass-bin">-</m:mo>
                     <m:mn>1</m:mn>
                  </m:mrow>
               </m:msubsup>
            </m:mrow>
            <m:mo class="MathClass-close">)</m:mo>
         </m:mrow>
      </m:mrow>
   </m:mfrac>
</m:mrow>
</m:math>
</display-formula></p>
<p>and</p>
<p><display-formula><m:math name="1471-2156-12-87-i24" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:msub>
      <m:mrow>
         <m:mi>&#946;</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mi>n</m:mi>
         <m:mi>e</m:mi>
         <m:mi>w</m:mi>
      </m:mrow>
   </m:msub>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mfrac>
      <m:mrow>
         <m:mi>n</m:mi>
         <m:mo class="MathClass-bin">-</m:mo>
         <m:mi>m</m:mi>
         <m:mo class="MathClass-bin">+</m:mo>
         <m:mn>2</m:mn>
         <m:msub>
            <m:mrow>
               <m:mi>&#945;</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>M</m:mi>
               <m:mi>A</m:mi>
               <m:mi>P</m:mi>
            </m:mrow>
         </m:msub>
         <m:mi>t</m:mi>
         <m:mi>r</m:mi>
         <m:msubsup>
            <m:mrow>
               <m:mstyle mathvariant="bold">
                  <m:mi>H</m:mi>
               </m:mstyle>
            </m:mrow>
            <m:mrow>
               <m:mi>M</m:mi>
               <m:mi>A</m:mi>
               <m:mi>P</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mo class="MathClass-bin">-</m:mo>
               <m:mn>1</m:mn>
            </m:mrow>
         </m:msubsup>
      </m:mrow>
      <m:mrow>
         <m:mn>2</m:mn>
         <m:munderover accentunder="false" accent="false">
            <m:mrow>
               <m:mo mathsize="big">&#8721;</m:mo>
            </m:mrow>
            <m:mrow>
               <m:mi>i</m:mi>
               <m:mo class="MathClass-rel">=</m:mo>
               <m:mn>1</m:mn>
            </m:mrow>
            <m:mrow>
               <m:mi>n</m:mi>
            </m:mrow>
         </m:munderover>
         <m:msubsup>
            <m:mrow>
               <m:mfenced separators="" open="(" close=")">
                  <m:mrow>
                     <m:msub>
                        <m:mrow>
                           <m:mi>t</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>i</m:mi>
                        </m:mrow>
                     </m:msub>
                     <m:mo class="MathClass-bin">-</m:mo>
                     <m:mi>b</m:mi>
                     <m:mo class="MathClass-bin">-</m:mo>
                     <m:munderover accentunder="false" accent="false">
                        <m:mrow>
                           <m:mo mathsize="big">&#8721;</m:mo>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>k</m:mi>
                           <m:mo class="MathClass-rel">=</m:mo>
                           <m:mn>1</m:mn>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>s</m:mi>
                        </m:mrow>
                     </m:munderover>
                     <m:msub>
                        <m:mrow>
                           <m:mi>w</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>k</m:mi>
                        </m:mrow>
                     </m:msub>
                     <m:msub>
                        <m:mrow>
                           <m:mi>g</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>k</m:mi>
                        </m:mrow>
                     </m:msub>
                     <m:mrow>
                        <m:mo class="MathClass-open">(</m:mo>
                        <m:mrow>
                           <m:msub>
                              <m:mrow>
                                 <m:mi>b</m:mi>
                              </m:mrow>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                              </m:mrow>
                           </m:msub>
                           <m:mo class="MathClass-bin">+</m:mo>
                           <m:msubsup>
                              <m:mrow>
                                 <m:mo mathsize="big"> &#8721;</m:mo>
                              </m:mrow>
                              <m:mrow>
                                 <m:mi>j</m:mi>
                                 <m:mo class="MathClass-rel">=</m:mo>
                                 <m:mn>1</m:mn>
                              </m:mrow>
                              <m:mrow>
                                 <m:mi>n</m:mi>
                              </m:mrow>
                           </m:msubsup>
                           <m:msub>
                              <m:mrow>
                                 <m:mi>a</m:mi>
                              </m:mrow>
                              <m:mrow>
                                 <m:mi>i</m:mi>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                           </m:msub>
                           <m:msubsup>
                              <m:mrow>
                                 <m:mi>u</m:mi>
                              </m:mrow>
                              <m:mrow>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                              <m:mrow>
                                 <m:mo class="MathClass-bin">*</m:mo>
                                 <m:mo class="MathClass-bin">*</m:mo>
                                 <m:mrow>
                                    <m:mo class="MathClass-open">[</m:mo>
                                    <m:mrow>
                                       <m:mi>k</m:mi>
                                    </m:mrow>
                                    <m:mo class="MathClass-close">]</m:mo>
                                 </m:mrow>
                              </m:mrow>
                           </m:msubsup>
                        </m:mrow>
                        <m:mo class="MathClass-close">)</m:mo>
                     </m:mrow>
                  </m:mrow>
               </m:mfenced>
            </m:mrow>
            <m:mrow>
               <m:mi>w</m:mi>
               <m:mo class="MathClass-rel">=</m:mo>
               <m:msubsup>
                  <m:mrow>
                     <m:mi>w</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mrow>
                        <m:mo class="MathClass-open">(</m:mo>
                        <m:mrow>
                           <m:mi>&#945;</m:mi>
                           <m:mo class="MathClass-punc">,</m:mo>
                           <m:mi>&#946;</m:mi>
                        </m:mrow>
                        <m:mo class="MathClass-close">)</m:mo>
                     </m:mrow>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>M</m:mi>
                     <m:mi>A</m:mi>
                     <m:mi>P</m:mi>
                  </m:mrow>
               </m:msubsup>
            </m:mrow>
            <m:mrow>
               <m:mn>2</m:mn>
            </m:mrow>
         </m:msubsup>
      </m:mrow>
   </m:mfrac>
</m:mrow>
</m:math>
</display-formula></p>
<p>These expressions, as well as (7), are similar to those that arise in maximum likelihood estimation of variance components <abbrgrp><abbr bid="B24">24</abbr><abbr bid="B25">25</abbr><abbr bid="B26">26</abbr></abbrgrp>, which vary depending on the algorithm used. Since &#946; is a positive parameter, it must be that <inline-formula><m:math name="1471-2156-12-87-i25" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mi>n</m:mi>
<m:mo class="MathClass-rel">></m:mo>
<m:mi>m</m:mi>
<m:mo class="MathClass-bin">-</m:mo>
<m:mn>2</m:mn>
<m:msub>
   <m:mrow>
      <m:mi>&#945;</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>M</m:mi>
      <m:mi>A</m:mi>
      <m:mi>P</m:mi>
   </m:mrow>
</m:msub>
<m:mi>t</m:mi>
<m:mi>r</m:mi>
<m:msubsup>
   <m:mrow>
      <m:mi>H</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>M</m:mi>
      <m:mi>A</m:mi>
      <m:mi>P</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mo class="MathClass-bin">-</m:mo>
      <m:mn>1</m:mn>
   </m:mrow>
</m:msubsup>
</m:math>
</inline-formula>. The quantity <inline-formula><m:math name="1471-2156-12-87-i26" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mi>&#947;</m:mi>
<m:mo class="MathClass-rel">=</m:mo>
<m:mi>m</m:mi>
<m:mo class="MathClass-bin">-</m:mo>
<m:mn>2</m:mn>
<m:msub>
   <m:mrow>
      <m:mi>&#945;</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>M</m:mi>
      <m:mi>A</m:mi>
      <m:mi>P</m:mi>
   </m:mrow>
</m:msub>
<m:mi>t</m:mi>
<m:mi>r</m:mi>
<m:msubsup>
   <m:mrow>
      <m:mi>H</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>M</m:mi>
      <m:mi>A</m:mi>
      <m:mi>P</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mo class="MathClass-bin">-</m:mo>
      <m:mn>1</m:mn>
   </m:mrow>
</m:msubsup>
</m:math>
</inline-formula> is called "effective number of parameters" in the network <abbrgrp><abbr bid="B20">20</abbr></abbrgrp> and its value ranges from 0 (or 1, if an overall intercept <it>b </it>is fitted) to <it>m</it>, the total number of connection coefficients and bias parameters in the network. If &#947; is close to <it>n </it>over-fitting results, leading to poor generalization. It follows that the computations are similar to those used in the linear and non-linear models employed by quantitative geneticists, the salient aspect being that a neural network can be strongly non-linear.</p>
<p>More details on computing procedures for neural networks are in <abbrgrp><abbr bid="B12">12</abbr><abbr bid="B14">14</abbr><abbr bid="B18">18</abbr><abbr bid="B23">23</abbr><abbr bid="B27">27</abbr><abbr bid="B28">28</abbr></abbrgrp>. Typically, an algorithm proceeds as follows: 1) initialize <it>&#945;</it>, <it>&#946; </it>and all elements in w. 2) Take one step of the Levenberg-Marquardt algorithm to minimize the objective function <it>F(&#945;, &#946;) </it>and find the current value of <b>w</b>. 3) Compute <it>&#947;</it>, the effective number of parameters, using the Gauss-Newton approximation to the Hessian matrix in the Levenberg-Marquardt training algorithm. 4) Compute updates <it>&#945;<sub>new </sub></it>and <it>&#946;<sub>new</sub></it>; and 5) iterate steps 2-4 until convergence.</p>
</sec>
<sec><st><p>Neural Network Architectures Evaluated and Implementation</p></st>
<p>A prototype of the networks considered is in Figure <figr fid="F1">1</figr>; as already noted, the architecture shown has five neurons in the hidden (middle) layer. The ANN examined had from 1 through 6 neurons in the hidden layer. In architectures with a single neuron, two variants were considered. In one, the activation functions were linear (identity) throughout. In this case, e.g., when additive relationships <it>a<sub>ij </sub></it>are used as inputs, the network becomes a random regression on such relationships. If regularization were based on <inline-formula><m:math name="1471-2156-12-87-i27" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mstyle mathvariant="bold">
   <m:mi>w</m:mi>
</m:mstyle>
<m:mo class="MathClass-rel">~</m:mo>
<m:mi>N</m:mi>
<m:mrow>
   <m:mo class="MathClass-open">(</m:mo>
   <m:mrow>
      <m:msup>
         <m:mrow>
            <m:mstyle mathvariant="bold">
               <m:mn>0</m:mn>
               <m:mo class="MathClass-punc">,</m:mo>
               <m:mi>A</m:mi>
            </m:mstyle>
         </m:mrow>
         <m:mrow>
            <m:mo class="MathClass-bin">-</m:mo>
            <m:mn>1</m:mn>
         </m:mrow>
      </m:msup>
      <m:msubsup>
         <m:mrow>
            <m:mi>&#963;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>w</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
         </m:mrow>
      </m:msubsup>
   </m:mrow>
   <m:mo class="MathClass-close">)</m:mo>
</m:mrow>
</m:math>
</inline-formula> as prior distribution, this would yield the standard additive ("animal") model of quantitative genetics; this was not the case here because the MATLAB software used (see below) bases regularization on <inline-formula><m:math name="1471-2156-12-87-i28" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mstyle mathvariant="bold">
   <m:mi>w</m:mi>
</m:mstyle>
<m:mo class="MathClass-rel">~</m:mo>
<m:mi>N</m:mi>
<m:mrow>
   <m:mo class="MathClass-open">(</m:mo>
   <m:mrow>
      <m:mstyle mathvariant="bold">
         <m:mn>0</m:mn>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:mi>I</m:mi>
      </m:mstyle>
      <m:msubsup>
         <m:mrow>
            <m:mi>&#963;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>w</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mn>2</m:mn>
         </m:mrow>
      </m:msubsup>
   </m:mrow>
   <m:mo class="MathClass-close">)</m:mo>
</m:mrow>
</m:math>
</inline-formula>. The second single-neuron architecture was based on equation (1) with a single outer bias parameter but with a non-linear activation <it>g </it>of the emission made by the sole neuron in the architecture. The algebraic representation of this network is</p>
<p><display-formula><m:math name="1471-2156-12-87-i29" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:msub>
   <m:mrow>
      <m:mi>t</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mstyle class="text">
         <m:mtext class="textsf" mathvariant="sans-serif">i</m:mtext>
      </m:mstyle>
   </m:mrow>
</m:msub>
<m:mo class="MathClass-rel">=</m:mo>
<m:mi>b</m:mi>
<m:mo class="MathClass-bin">+</m:mo>
<m:mi>c</m:mi>
<m:mi>g</m:mi>
<m:mrow>
   <m:mo class="MathClass-open">(</m:mo>
   <m:mrow>
      <m:mi>b</m:mi>
      <m:mo class="MathClass-bin">+</m:mo>
      <m:msubsup>
         <m:mrow>
            <m:mo class="MathClass-op"> &#8721;</m:mo>
         </m:mrow>
         <m:mrow>
            <m:mi>j</m:mi>
            <m:mo class="MathClass-rel">=</m:mo>
            <m:mn>1</m:mn>
         </m:mrow>
         <m:mrow>
            <m:mi>n</m:mi>
         </m:mrow>
      </m:msubsup>
      <m:msub>
         <m:mrow>
            <m:mi>p</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>i</m:mi>
            <m:mi>j</m:mi>
         </m:mrow>
      </m:msub>
      <m:msubsup>
         <m:mrow>
            <m:mi>u</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>j</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mo class="MathClass-bin">*</m:mo>
            <m:mo class="MathClass-bin">*</m:mo>
         </m:mrow>
      </m:msubsup>
   </m:mrow>
   <m:mo class="MathClass-close">)</m:mo>
</m:mrow>
<m:mo class="MathClass-bin">+</m:mo>
<m:msub>
   <m:mrow>
      <m:mi>e</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
   </m:mrow>
</m:msub>
<m:mo class="MathClass-punc">,</m:mo>
<m:mspace width="1em" class="quad"/>
<m:mi>i</m:mi>
<m:mo class="MathClass-rel">=</m:mo>
<m:mn>1</m:mn>
<m:mo class="MathClass-punc">,</m:mo>
<m:mn>2</m:mn>
<m:mo class="MathClass-punc">,</m:mo>
<m:mo class="MathClass-op">&#8230;</m:mo>
<m:mo class="MathClass-punc">,</m:mo>
<m:mi>n</m:mi>
<m:mo class="MathClass-punc">,</m:mo>
</m:math>
</display-formula></p>
<p>where <it>c </it>is the regression of <it>t<sub>i </sub></it>on the activated emission <inline-formula><m:math name="1471-2156-12-87-i30" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mi>g</m:mi>
<m:mrow>
   <m:mo class="MathClass-open">(</m:mo>
   <m:mrow>
      <m:mi>b</m:mi>
      <m:mo class="MathClass-bin">+</m:mo>
      <m:msubsup>
         <m:mrow>
            <m:mo class="MathClass-op"> &#8721;</m:mo>
         </m:mrow>
         <m:mrow>
            <m:mi>j</m:mi>
            <m:mo class="MathClass-rel">=</m:mo>
            <m:mn>1</m:mn>
         </m:mrow>
         <m:mrow>
            <m:mi>n</m:mi>
         </m:mrow>
      </m:msubsup>
      <m:msub>
         <m:mrow>
            <m:mi>p</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>i</m:mi>
            <m:mi>j</m:mi>
         </m:mrow>
      </m:msub>
      <m:msubsup>
         <m:mrow>
            <m:mi>u</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>j</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mo class="MathClass-bin">*</m:mo>
            <m:mo class="MathClass-bin">*</m:mo>
         </m:mrow>
      </m:msubsup>
   </m:mrow>
   <m:mo class="MathClass-close">)</m:mo>
</m:mrow>
</m:math>
</inline-formula>. The objective here was to explore non-linearities between the inputs (additive or genomic relationships in the Jersey data, or markers genotypes in the wheat data) and the targets (phenotypes); the standard additive genetic model assumes that these relationships are linear. The activation function chosen was the hyperbolic tangent transformation <inline-formula><m:math name="1471-2156-12-87-i31" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mi>g</m:mi>
<m:mrow>
   <m:mo class="MathClass-open">(</m:mo>
   <m:mrow>
      <m:msub>
         <m:mrow>
            <m:mi>x</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>i</m:mi>
         </m:mrow>
      </m:msub>
   </m:mrow>
   <m:mo class="MathClass-close">)</m:mo>
</m:mrow>
<m:mo class="MathClass-rel">=</m:mo>
<m:mfrac>
   <m:mrow>
      <m:msup>
         <m:mrow>
            <m:mi>e</m:mi>
         </m:mrow>
         <m:mrow>
            <m:msub>
               <m:mrow>
                  <m:mi>x</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>i</m:mi>
               </m:mrow>
            </m:msub>
         </m:mrow>
      </m:msup>
      <m:mo class="MathClass-bin">-</m:mo>
      <m:msup>
         <m:mrow>
            <m:mi>e</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mo class="MathClass-bin">-</m:mo>
            <m:msub>
               <m:mrow>
                  <m:mi>x</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>i</m:mi>
               </m:mrow>
            </m:msub>
         </m:mrow>
      </m:msup>
   </m:mrow>
   <m:mrow>
      <m:msup>
         <m:mrow>
            <m:mi>e</m:mi>
         </m:mrow>
         <m:mrow>
            <m:msub>
               <m:mrow>
                  <m:mi>x</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>i</m:mi>
               </m:mrow>
            </m:msub>
         </m:mrow>
      </m:msup>
      <m:mo class="MathClass-bin">+</m:mo>
      <m:msup>
         <m:mrow>
            <m:mi>e</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mo class="MathClass-bin">-</m:mo>
            <m:msub>
               <m:mrow>
                  <m:mi>x</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>i</m:mi>
               </m:mrow>
            </m:msub>
         </m:mrow>
      </m:msup>
   </m:mrow>
</m:mfrac>
</m:math>
</inline-formula>, where <inline-formula><m:math name="1471-2156-12-87-i32" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:msub>
   <m:mrow>
      <m:mi>x</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
   </m:mrow>
</m:msub>
<m:mo class="MathClass-rel">=</m:mo>
<m:mi>b</m:mi>
<m:mo class="MathClass-bin">+</m:mo>
<m:msubsup>
   <m:mrow>
      <m:mo class="MathClass-op"> &#8721;</m:mo>
   </m:mrow>
   <m:mrow>
      <m:mi>j</m:mi>
      <m:mo class="MathClass-rel">=</m:mo>
      <m:mn>1</m:mn>
   </m:mrow>
   <m:mrow>
      <m:mi>n</m:mi>
   </m:mrow>
</m:msubsup>
<m:msub>
   <m:mrow>
      <m:mi>p</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
      <m:mi>j</m:mi>
   </m:mrow>
</m:msub>
<m:msubsup>
   <m:mrow>
      <m:mi>u</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>j</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mo class="MathClass-bin">*</m:mo>
      <m:mo class="MathClass-bin">*</m:mo>
   </m:mrow>
</m:msubsup>
</m:math>
</inline-formula>; here, <it>x </it>can take any value in the real line and <it>g(x<sub>i</sub>) </it>is the neuron emission for cow or wheat line <it>i</it>, which takes values between -1 and 1. Given the inputs, the predicted phenotype or network output is</p>
<p><display-formula><m:math name="1471-2156-12-87-i33" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:msub>
      <m:mrow>
         <m:mover accent="true">
            <m:mrow>
               <m:mi>t</m:mi>
            </m:mrow>
            <m:mo class="MathClass-op">^</m:mo>
         </m:mover>
      </m:mrow>
      <m:mrow>
         <m:mi>i</m:mi>
      </m:mrow>
   </m:msub>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mover accent="true">
      <m:mrow>
         <m:mi>b</m:mi>
      </m:mrow>
      <m:mo class="MathClass-op">^</m:mo>
   </m:mover>
   <m:mo class="MathClass-bin">+</m:mo>
   <m:mi>&#265;</m:mi>
   <m:mfenced separators="" open="(" close=")">
      <m:mrow>
         <m:mfrac>
            <m:mrow>
               <m:msup>
                  <m:mrow>
                     <m:mi>e</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mover accent="true">
                        <m:mrow>
                           <m:mi>b</m:mi>
                        </m:mrow>
                        <m:mo class="MathClass-op">^</m:mo>
                     </m:mover>
                     <m:mo class="MathClass-bin">+</m:mo>
                     <m:msubsup>
                        <m:mrow>
                           <m:mi>&#931;</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>j</m:mi>
                           <m:mo class="MathClass-rel">=</m:mo>
                           <m:mn>1</m:mn>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>n</m:mi>
                        </m:mrow>
                     </m:msubsup>
                     <m:msub>
                        <m:mrow>
                           <m:mi>p</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>i</m:mi>
                           <m:mi>j</m:mi>
                        </m:mrow>
                     </m:msub>
                     <m:msubsup>
                        <m:mrow>
                           <m:mi>u</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>j</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mo class="MathClass-bin">*</m:mo>
                           <m:mo class="MathClass-bin">*</m:mo>
                        </m:mrow>
                     </m:msubsup>
                  </m:mrow>
               </m:msup>
               <m:mo class="MathClass-bin">-</m:mo>
               <m:msup>
                  <m:mrow>
                     <m:mi>e</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mo class="MathClass-bin">-</m:mo>
                     <m:mover accent="true">
                        <m:mrow>
                           <m:mi>b</m:mi>
                        </m:mrow>
                        <m:mo class="MathClass-op">^</m:mo>
                     </m:mover>
                     <m:mo class="MathClass-bin">-</m:mo>
                     <m:msubsup>
                        <m:mrow>
                           <m:mi>&#931;</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>j</m:mi>
                           <m:mo class="MathClass-rel">=</m:mo>
                           <m:mn>1</m:mn>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>n</m:mi>
                        </m:mrow>
                     </m:msubsup>
                     <m:msub>
                        <m:mrow>
                           <m:mi>p</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>i</m:mi>
                           <m:mi>j</m:mi>
                        </m:mrow>
                     </m:msub>
                     <m:msubsup>
                        <m:mrow>
                           <m:mi>u</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>j</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mo class="MathClass-bin">*</m:mo>
                           <m:mo class="MathClass-bin">*</m:mo>
                        </m:mrow>
                     </m:msubsup>
                  </m:mrow>
               </m:msup>
            </m:mrow>
            <m:mrow>
               <m:msup>
                  <m:mrow>
                     <m:mi>e</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mover accent="true">
                        <m:mrow>
                           <m:mi>b</m:mi>
                        </m:mrow>
                        <m:mo class="MathClass-op">^</m:mo>
                     </m:mover>
                     <m:mo class="MathClass-bin">+</m:mo>
                     <m:msubsup>
                        <m:mrow>
                           <m:mi>&#931;</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>j</m:mi>
                           <m:mo class="MathClass-rel">=</m:mo>
                           <m:mn>1</m:mn>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>n</m:mi>
                        </m:mrow>
                     </m:msubsup>
                     <m:msub>
                        <m:mrow>
                           <m:mi>p</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>i</m:mi>
                           <m:mi>j</m:mi>
                        </m:mrow>
                     </m:msub>
                     <m:msubsup>
                        <m:mrow>
                           <m:mi>u</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>j</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mo class="MathClass-bin">*</m:mo>
                           <m:mo class="MathClass-bin">*</m:mo>
                        </m:mrow>
                     </m:msubsup>
                  </m:mrow>
               </m:msup>
               <m:mo class="MathClass-bin">+</m:mo>
               <m:msup>
                  <m:mrow>
                     <m:mi>e</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mo class="MathClass-bin">-</m:mo>
                     <m:mover accent="true">
                        <m:mrow>
                           <m:mi>b</m:mi>
                        </m:mrow>
                        <m:mo class="MathClass-op">^</m:mo>
                     </m:mover>
                     <m:mo class="MathClass-bin">-</m:mo>
                     <m:msubsup>
                        <m:mrow>
                           <m:mi>&#931;</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>j</m:mi>
                           <m:mo class="MathClass-rel">=</m:mo>
                           <m:mn>1</m:mn>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>n</m:mi>
                        </m:mrow>
                     </m:msubsup>
                     <m:msub>
                        <m:mrow>
                           <m:mi>p</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>i</m:mi>
                           <m:mi>j</m:mi>
                        </m:mrow>
                     </m:msub>
                     <m:msubsup>
                        <m:mrow>
                           <m:mi>u</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>j</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mo class="MathClass-bin">*</m:mo>
                           <m:mo class="MathClass-bin">*</m:mo>
                        </m:mrow>
                     </m:msubsup>
                  </m:mrow>
               </m:msup>
            </m:mrow>
         </m:mfrac>
      </m:mrow>
   </m:mfenced>
   <m:mi>i</m:mi>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mn>1</m:mn>
   <m:mo class="MathClass-punc">,</m:mo>
   <m:mn>2</m:mn>
   <m:mo class="MathClass-punc">,</m:mo>
   <m:mo class="MathClass-op">&#8230;</m:mo>
   <m:mo class="MathClass-punc">,</m:mo>
   <m:mi>n</m:mi>
   <m:mo class="MathClass-punc">.</m:mo>
</m:mrow>
</m:math>
</display-formula></p>
<p>In models with 2-6 neurons the emissions were always assigned a hyperbolic tangent activation (the choice of function can be based on, e.g., cross-validation); these activations were summed and collected linearly as shown in Figure <figr fid="F1">1</figr>. For example, with 2 neurons the predictions are obtained as</p>
<p><display-formula><m:math name="1471-2156-12-87-i34" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:mtable class="gathered">
      <m:mtr>
         <m:mtd>
            <m:msub>
               <m:mrow>
                  <m:mover accent="true">
                     <m:mrow>
                        <m:mi>t</m:mi>
                     </m:mrow>
                     <m:mo class="MathClass-op">^</m:mo>
                  </m:mover>
               </m:mrow>
               <m:mrow>
                  <m:mi>i</m:mi>
               </m:mrow>
            </m:msub>
            <m:mo class="MathClass-rel">=</m:mo>
            <m:mover accent="true">
               <m:mrow>
                  <m:mi>b</m:mi>
               </m:mrow>
               <m:mo class="MathClass-op">^</m:mo>
            </m:mover>
            <m:mo class="MathClass-bin">+</m:mo>
            <m:msub>
               <m:mrow>
                  <m:mi>&#265;</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mn>1</m:mn>
               </m:mrow>
            </m:msub>
            <m:mfenced separators="" open="(" close=")">
               <m:mrow>
                  <m:mfrac>
                     <m:mrow>
                        <m:msup>
                           <m:mrow>
                              <m:mi>e</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:msub>
                                 <m:mrow>
                                    <m:mover accent="true">
                                       <m:mrow>
                                          <m:mi>b</m:mi>
                                       </m:mrow>
                                       <m:mo class="MathClass-op">^</m:mo>
                                    </m:mover>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                              </m:msub>
                              <m:mo class="MathClass-bin">+</m:mo>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>&#931;</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                    <m:mo class="MathClass-rel">=</m:mo>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>n</m:mi>
                                 </m:mrow>
                              </m:msubsup>
                              <m:msub>
                                 <m:mrow>
                                    <m:mi>p</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>i</m:mi>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                              </m:msub>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>u</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mrow>
                                       <m:mo class="MathClass-open">[</m:mo>
                                       <m:mrow>
                                          <m:mn>1</m:mn>
                                       </m:mrow>
                                       <m:mo class="MathClass-close">]</m:mo>
                                    </m:mrow>
                                 </m:mrow>
                              </m:msubsup>
                           </m:mrow>
                        </m:msup>
                        <m:mo class="MathClass-bin">-</m:mo>
                        <m:msup>
                           <m:mrow>
                              <m:mi>e</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:mo class="MathClass-bin">-</m:mo>
                              <m:msub>
                                 <m:mrow>
                                    <m:mover accent="true">
                                       <m:mrow>
                                          <m:mi>b</m:mi>
                                       </m:mrow>
                                       <m:mo class="MathClass-op">^</m:mo>
                                    </m:mover>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                              </m:msub>
                              <m:mo class="MathClass-bin">-</m:mo>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>&#931;</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                    <m:mo class="MathClass-rel">=</m:mo>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>n</m:mi>
                                 </m:mrow>
                              </m:msubsup>
                              <m:msub>
                                 <m:mrow>
                                    <m:mi>p</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>i</m:mi>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                              </m:msub>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>u</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mrow>
                                       <m:mo class="MathClass-open">[</m:mo>
                                       <m:mrow>
                                          <m:mn>1</m:mn>
                                       </m:mrow>
                                       <m:mo class="MathClass-close">]</m:mo>
                                    </m:mrow>
                                 </m:mrow>
                              </m:msubsup>
                           </m:mrow>
                        </m:msup>
                     </m:mrow>
                     <m:mrow>
                        <m:msup>
                           <m:mrow>
                              <m:mi>e</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:msub>
                                 <m:mrow>
                                    <m:mover accent="true">
                                       <m:mrow>
                                          <m:mi>b</m:mi>
                                       </m:mrow>
                                       <m:mo class="MathClass-op">^</m:mo>
                                    </m:mover>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                              </m:msub>
                              <m:mo class="MathClass-bin">+</m:mo>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>&#931;</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                    <m:mo class="MathClass-rel">=</m:mo>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>n</m:mi>
                                 </m:mrow>
                              </m:msubsup>
                              <m:msub>
                                 <m:mrow>
                                    <m:mi>p</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>i</m:mi>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                              </m:msub>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>u</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mrow>
                                       <m:mo class="MathClass-open">[</m:mo>
                                       <m:mrow>
                                          <m:mn>1</m:mn>
                                       </m:mrow>
                                       <m:mo class="MathClass-close">]</m:mo>
                                    </m:mrow>
                                 </m:mrow>
                              </m:msubsup>
                           </m:mrow>
                        </m:msup>
                        <m:mo class="MathClass-bin">+</m:mo>
                        <m:msup>
                           <m:mrow>
                              <m:mi>e</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:mo class="MathClass-bin">-</m:mo>
                              <m:msub>
                                 <m:mrow>
                                    <m:mover accent="true">
                                       <m:mrow>
                                          <m:mi>b</m:mi>
                                       </m:mrow>
                                       <m:mo class="MathClass-op">^</m:mo>
                                    </m:mover>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                              </m:msub>
                              <m:mo class="MathClass-bin">-</m:mo>
                              <m:munderover accentunder="false" accent="false">
                                 <m:mrow>
                                    <m:mo mathsize="big">&#8721;</m:mo>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                    <m:mo class="MathClass-rel">=</m:mo>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>n</m:mi>
                                 </m:mrow>
                              </m:munderover>
                              <m:msub>
                                 <m:mrow>
                                    <m:mi>p</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>i</m:mi>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                              </m:msub>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>u</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mrow>
                                       <m:mo class="MathClass-open">[</m:mo>
                                       <m:mrow>
                                          <m:mn>1</m:mn>
                                       </m:mrow>
                                       <m:mo class="MathClass-close">]</m:mo>
                                    </m:mrow>
                                 </m:mrow>
                              </m:msubsup>
                           </m:mrow>
                        </m:msup>
                     </m:mrow>
                  </m:mfrac>
               </m:mrow>
            </m:mfenced>
            <m:mo class="MathClass-bin">+</m:mo>
         </m:mtd>
      </m:mtr>
      <m:mtr>
         <m:mtd>
            <m:mspace width="1em" class="quad"/>
            <m:mspace width="1em" class="quad"/>
            <m:mspace width="1em" class="quad"/>
            <m:msub>
               <m:mrow>
                  <m:mi>&#265;</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mn>2</m:mn>
               </m:mrow>
            </m:msub>
            <m:mfenced separators="" open="(" close=")">
               <m:mrow>
                  <m:mfrac>
                     <m:mrow>
                        <m:msup>
                           <m:mrow>
                              <m:mi>e</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:msub>
                                 <m:mrow>
                                    <m:mover accent="true">
                                       <m:mrow>
                                          <m:mi>b</m:mi>
                                       </m:mrow>
                                       <m:mo class="MathClass-op">^</m:mo>
                                    </m:mover>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mn>2</m:mn>
                                 </m:mrow>
                              </m:msub>
                              <m:mo class="MathClass-bin">+</m:mo>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>&#931;</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                    <m:mo class="MathClass-rel">=</m:mo>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>n</m:mi>
                                 </m:mrow>
                              </m:msubsup>
                              <m:msub>
                                 <m:mrow>
                                    <m:mi>p</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>i</m:mi>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                              </m:msub>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>u</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mrow>
                                       <m:mo class="MathClass-open">[</m:mo>
                                       <m:mrow>
                                          <m:mn>2</m:mn>
                                       </m:mrow>
                                       <m:mo class="MathClass-close">]</m:mo>
                                    </m:mrow>
                                 </m:mrow>
                              </m:msubsup>
                           </m:mrow>
                        </m:msup>
                        <m:mo class="MathClass-bin">-</m:mo>
                        <m:msup>
                           <m:mrow>
                              <m:mi>e</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:msub>
                                 <m:mrow>
                                    <m:mover accent="true">
                                       <m:mrow>
                                          <m:mi>b</m:mi>
                                       </m:mrow>
                                       <m:mo class="MathClass-op">^</m:mo>
                                    </m:mover>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mn>2</m:mn>
                                 </m:mrow>
                              </m:msub>
                              <m:mo class="MathClass-bin">-</m:mo>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>&#931;</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                    <m:mo class="MathClass-rel">=</m:mo>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>n</m:mi>
                                 </m:mrow>
                              </m:msubsup>
                              <m:msub>
                                 <m:mrow>
                                    <m:mi>p</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>i</m:mi>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                              </m:msub>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>u</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mrow>
                                       <m:mo class="MathClass-open">[</m:mo>
                                       <m:mrow>
                                          <m:mn>2</m:mn>
                                       </m:mrow>
                                       <m:mo class="MathClass-close">]</m:mo>
                                    </m:mrow>
                                 </m:mrow>
                              </m:msubsup>
                           </m:mrow>
                        </m:msup>
                     </m:mrow>
                     <m:mrow>
                        <m:msup>
                           <m:mrow>
                              <m:mi>e</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:msub>
                                 <m:mrow>
                                    <m:mover accent="true">
                                       <m:mrow>
                                          <m:mi>b</m:mi>
                                       </m:mrow>
                                       <m:mo class="MathClass-op">^</m:mo>
                                    </m:mover>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mn>2</m:mn>
                                 </m:mrow>
                              </m:msub>
                              <m:mo class="MathClass-bin">+</m:mo>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>&#931;</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                    <m:mo class="MathClass-rel">=</m:mo>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>n</m:mi>
                                 </m:mrow>
                              </m:msubsup>
                              <m:msub>
                                 <m:mrow>
                                    <m:mi>p</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>i</m:mi>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                              </m:msub>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>u</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mrow>
                                       <m:mo class="MathClass-open">[</m:mo>
                                       <m:mrow>
                                          <m:mn>2</m:mn>
                                       </m:mrow>
                                       <m:mo class="MathClass-close">]</m:mo>
                                    </m:mrow>
                                 </m:mrow>
                              </m:msubsup>
                           </m:mrow>
                        </m:msup>
                        <m:mo class="MathClass-bin">+</m:mo>
                        <m:msup>
                           <m:mrow>
                              <m:mi>e</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:msub>
                                 <m:mrow>
                                    <m:mover accent="true">
                                       <m:mrow>
                                          <m:mi>b</m:mi>
                                       </m:mrow>
                                       <m:mo class="MathClass-op">^</m:mo>
                                    </m:mover>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mn>2</m:mn>
                                 </m:mrow>
                              </m:msub>
                              <m:mo class="MathClass-bin">+</m:mo>
                              <m:munderover accentunder="false" accent="false">
                                 <m:mrow>
                                    <m:mo mathsize="big">&#8721;</m:mo>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                    <m:mo class="MathClass-rel">=</m:mo>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>n</m:mi>
                                 </m:mrow>
                              </m:munderover>
                              <m:msub>
                                 <m:mrow>
                                    <m:mi>p</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>i</m:mi>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                              </m:msub>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>u</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mrow>
                                       <m:mo class="MathClass-open">[</m:mo>
                                       <m:mrow>
                                          <m:mn>2</m:mn>
                                       </m:mrow>
                                       <m:mo class="MathClass-close">]</m:mo>
                                    </m:mrow>
                                 </m:mrow>
                              </m:msubsup>
                           </m:mrow>
                        </m:msup>
                     </m:mrow>
                  </m:mfrac>
               </m:mrow>
            </m:mfenced>
            <m:mspace width="1em" class="quad"/>
            <m:mi>i</m:mi>
            <m:mo class="MathClass-rel">=</m:mo>
            <m:mn>1</m:mn>
            <m:mo class="MathClass-punc">,</m:mo>
            <m:mn>2</m:mn>
            <m:mo class="MathClass-punc">,</m:mo>
            <m:mo class="MathClass-op">&#8230;</m:mo>
            <m:mo class="MathClass-punc">,</m:mo>
            <m:mi>n</m:mi>
         </m:mtd>
      </m:mtr>
      <m:mtr>
         <m:mtd/>
      </m:mtr>
   </m:mtable>
</m:mrow>
</m:math>
</display-formula></p>
<p>where the <inline-formula><m:math name="1471-2156-12-87-i35" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mi>&#265;</m:mi>
</m:math>
</inline-formula> coefficients are the estimated linear regressions of the traits on the activated emissions fired by each of the two neurons.</p>
<p>MATLAB's neural networks toolbox <abbrgrp><abbr bid="B29">29</abbr></abbrgrp> was used for fitting the architectures studied, using Bayesian regularization in all cases. As mentioned earlier, two combinations of activation functions were tried: 1) the hyperbolic tangent sigmoid function for activating emissions from each neuron in the hidden layer, plus a linear activation function from the hidden to the output layer, and 2) a linear activation throughout, this corresponding to a linear model with random regression coefficients. To avoid spurious effects caused by starting values in each iterative sequence, the networks were trained 20 times in the Jersey data and 50 times in the wheat data set, for each of the architectures. In Jerseys, each run randomly allocated 60% of the animals to a training set, 20% to a validation set and 20% to a testing set; results reported are the average of the 20 runs for each of the configurations. In wheat, the records were randomly partitioned into a training (480 lines) and a testing (119 lines) set. Each of the 50 random repeats matched exactly those of <abbrgrp><abbr bid="B28">28</abbr></abbrgrp>, to provide a comparison with the predictive ability of the Bayesian Lasso and of support vector regression models used with the wheat data set by <abbrgrp><abbr bid="B30">30</abbr></abbrgrp>.</p>
<p>The neural networks were fitted to data in the training set, with the &#945; and &#946; parameters, connection strengths and biases modified iteratively. In the Jersey data, as parameters changed in the course of training, the predictive ability of the network was gauged in parallel in the validation set, which was expected to be similar in structure to the testing set, because they were randomly constructed. The same was done with the wheat data, except that there was no "intermediate" validation set. Once the mean squared error of prediction reached an optimal level, training stopped, and this led to the best estimates of the network coefficients. This estimated network was then used for predicting the testing set; predictive correlations (Pearson) and mean-squared errors were evaluated.</p>
<p>Before processing, MATLAB rescales all input and output variables such that they reside in the [-1, +1] range, to enhance numerical stability; this is done automatically using the "mapminmax" function. To illustrate, consider the vector <b>x</b>' = <abbrgrp><abbr bid="B3">3</abbr><abbr bid="B6">6</abbr><abbr bid="B4">4</abbr></abbrgrp> so that <it>x</it><sub>min </sub>= 3 and <it>x</it><sub>max </sub>= 6. If values are to range between <it>A</it><sub>min </sub>= -1 and <it>A</it><sub>max </sub>= +1, one sets temporarily <b>x<sub>temp</sub></b>' = [-1,1,4], so only <it>x<sub>3 </sub>= </it>4 needs to be rescaled. This is done via the formula</p>
<p><display-formula><m:math name="1471-2156-12-87-i36" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:msub>
      <m:mrow>
         <m:mi>x</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mn>3</m:mn>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:mi>n</m:mi>
         <m:mi>e</m:mi>
         <m:mi>w</m:mi>
      </m:mrow>
   </m:msub>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:msub>
      <m:mrow>
         <m:mi>A</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mo class="qopname">min</m:mo>
      </m:mrow>
   </m:msub>
   <m:mo class="MathClass-bin">+</m:mo>
   <m:mfrac>
      <m:mrow>
         <m:msub>
            <m:mrow>
               <m:mi>x</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mn>3</m:mn>
            </m:mrow>
         </m:msub>
         <m:mo class="MathClass-bin">-</m:mo>
         <m:msub>
            <m:mrow>
               <m:mi>x</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mo class="qopname">min</m:mo>
            </m:mrow>
         </m:msub>
      </m:mrow>
      <m:mrow>
         <m:msub>
            <m:mrow>
               <m:mi>x</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mo class="qopname">max</m:mo>
            </m:mrow>
         </m:msub>
         <m:mo class="MathClass-bin">-</m:mo>
         <m:msub>
            <m:mrow>
               <m:mi>x</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mo class="qopname">min</m:mo>
            </m:mrow>
         </m:msub>
      </m:mrow>
   </m:mfrac>
   <m:mrow>
      <m:mo class="MathClass-open">(</m:mo>
      <m:mrow>
         <m:msub>
            <m:mrow>
               <m:mi>A</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mo class="qopname">max</m:mo>
            </m:mrow>
         </m:msub>
         <m:mo class="MathClass-bin">-</m:mo>
         <m:msub>
            <m:mrow>
               <m:mi>A</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mo class="qopname">min</m:mo>
            </m:mrow>
         </m:msub>
      </m:mrow>
      <m:mo class="MathClass-close">)</m:mo>
   </m:mrow>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mo class="MathClass-bin">-</m:mo>
   <m:mn>1</m:mn>
   <m:mo class="MathClass-bin">+</m:mo>
   <m:mfrac>
      <m:mrow>
         <m:mn>4</m:mn>
         <m:mo class="MathClass-bin">-</m:mo>
         <m:mn>3</m:mn>
      </m:mrow>
      <m:mrow>
         <m:mn>6</m:mn>
         <m:mo class="MathClass-bin">-</m:mo>
         <m:mn>3</m:mn>
      </m:mrow>
   </m:mfrac>
   <m:mn>2</m:mn>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mo class="MathClass-bin">-</m:mo>
   <m:mfrac>
      <m:mrow>
         <m:mn>1</m:mn>
      </m:mrow>
      <m:mrow>
         <m:mn>3</m:mn>
      </m:mrow>
   </m:mfrac>
   <m:mo class="MathClass-punc">.</m:mo>
</m:mrow>
</m:math>
</display-formula></p>
<p>MATLAB uses the Levenberg-Marquardt algorithm (based on linearization) for computing the posterior modes in Bayesian regularization, and back-propagation is employed to minimize the penalized residual sum of squares. The maximum number of iterations (called epochs) in back-propagation was set to 1000, and iteration stopped earlier if the gradient of the objective function was below a suitable level or when there were obvious problems with the algorithm <abbrgrp><abbr bid="B28">28</abbr><abbr bid="B29">29</abbr><abbr bid="B31">31</abbr></abbrgrp>. Each of these settings corresponds to the default values provided by MATLAB.</p>
<sec><st><p>Jersey cows data</p></st>
<p>Because of the high-dimensionality of the genotypic data, the neural networks used either additive or genome-derived relationships among cows as inputs (instead of SNP genotype codes), to make computations feasible in MATLAB. The rationale for this is based on the representation of the infinitesimal model as a regression on a pedigree, or as a regression on a matrix that is proportional to genomic relationships, as argued by <abbrgrp><abbr bid="B2">2</abbr></abbrgrp> in the context of reproducing kernel Hilbert spaces regression. The neural networks had the form</p>
<p><display-formula id="M8"><m:math name="1471-2156-12-87-i37" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:msub>
      <m:mrow>
         <m:mi>t</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mstyle class="text">
            <m:mtext class="textsf" mathvariant="sans-serif">i</m:mtext>
         </m:mstyle>
      </m:mrow>
   </m:msub>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mi>b</m:mi>
   <m:mo class="MathClass-bin">+</m:mo>
   <m:mi>c</m:mi>
   <m:mi>g</m:mi>
   <m:mrow>
      <m:mo class="MathClass-open">[</m:mo>
      <m:mrow>
         <m:munderover accentunder="false" accent="false">
            <m:mrow>
               <m:mo mathsize="big">&#8721;</m:mo>
            </m:mrow>
            <m:mrow>
               <m:mi>k</m:mi>
               <m:mo class="MathClass-rel">=</m:mo>
               <m:mn>1</m:mn>
            </m:mrow>
            <m:mrow>
               <m:mi>s</m:mi>
            </m:mrow>
         </m:munderover>
         <m:msub>
            <m:mrow>
               <m:mi>w</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>k</m:mi>
            </m:mrow>
         </m:msub>
         <m:msub>
            <m:mrow>
               <m:mi>g</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>k</m:mi>
            </m:mrow>
         </m:msub>
         <m:mrow>
            <m:mo class="MathClass-open">(</m:mo>
            <m:mrow>
               <m:msub>
                  <m:mrow>
                     <m:mi>b</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>k</m:mi>
                  </m:mrow>
               </m:msub>
               <m:mo class="MathClass-bin">+</m:mo>
               <m:msubsup>
                  <m:mrow>
                     <m:mo mathsize="big"> &#8721;</m:mo>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>j</m:mi>
                     <m:mo class="MathClass-rel">=</m:mo>
                     <m:mn>1</m:mn>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>n</m:mi>
                  </m:mrow>
               </m:msubsup>
               <m:msub>
                  <m:mrow>
                     <m:mi>p</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>i</m:mi>
                     <m:mi>j</m:mi>
                  </m:mrow>
               </m:msub>
               <m:msubsup>
                  <m:mrow>
                     <m:mi>u</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>j</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mo class="MathClass-bin">*</m:mo>
                     <m:mo class="MathClass-bin">*</m:mo>
                     <m:mrow>
                        <m:mo class="MathClass-open">[</m:mo>
                        <m:mrow>
                           <m:mi>k</m:mi>
                        </m:mrow>
                        <m:mo class="MathClass-close">]</m:mo>
                     </m:mrow>
                  </m:mrow>
               </m:msubsup>
            </m:mrow>
            <m:mo class="MathClass-close">)</m:mo>
         </m:mrow>
         <m:mo class="MathClass-bin">+</m:mo>
         <m:msub>
            <m:mrow>
               <m:mi>e</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>i</m:mi>
            </m:mrow>
         </m:msub>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:mspace width="1em" class="quad"/>
         <m:mi>i</m:mi>
         <m:mo class="MathClass-rel">=</m:mo>
         <m:mn>1</m:mn>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:mn>2</m:mn>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:mo>&#8230;</m:mo>
         <m:mo class="MathClass-punc">,</m:mo>
         <m:mi>n</m:mi>
      </m:mrow>
   </m:mrow>
</m:mrow>
</m:math>
</display-formula></p>
<p>where <it>p<sub>ij </sub>= a<sub>ij </sub></it>(additive relationship between cows <it>i </it>and <it>j</it>) or <it>g<sub>ij </sub></it>(genome-derived relationships). Thus, for each cow the input vector <it><b>p</b><sub>i </sub></it>had order 297 &#215; 1.</p>
<p>The expected additive genetic relationship matrix, <b>A </b>= {<it>a<sub>ij</sub></it>}, was developed from the pedigree information; this is a standard metric for degree of kinship used in quantitative genetics. A realized genomic relationship matrix, <b>G </b>= {<it>g<sub>ij</sub></it>}, was constructed from the marker data following <abbrgrp><abbr bid="B18">18</abbr></abbrgrp>, and calculated as follows: 1) estimate marker allelic frequencies and let <it>&#956;<sub>i </sub></it>be the estimated frequency of allele "A" at locus <it>i</it>. 2) Construct a 297 &#215; 35,798 matrix of marker genotype codes <b>M</b>, with typical element <it>m<sub>ij </sub></it>corresponding to the genotype of individual <it>i </it>for marker <it>j</it>. 3) Calculate the expected frequency of <it>m<sub>ij </sub></it>under Hardy-Weiberg equilibrium from the estimates of the allelic frequencies, and form the 297 &#215; 35,798 matrix of expectations <b>E</b>. 4) Form the estimated genomic relationship matrix (assuming linkage equilibrium among markers) as</p>
<p><display-formula><m:math name="1471-2156-12-87-i38" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:mstyle mathvariant="bold">
      <m:mi>G</m:mi>
   </m:mstyle>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mfrac>
      <m:mrow>
         <m:mrow>
            <m:mo class="MathClass-open">(</m:mo>
            <m:mrow>
               <m:mstyle mathvariant="bold">
                  <m:mi>M</m:mi>
               </m:mstyle>
               <m:mo class="MathClass-bin">-</m:mo>
               <m:mstyle mathvariant="bold">
                  <m:mi>E</m:mi>
               </m:mstyle>
            </m:mrow>
            <m:mo class="MathClass-close">)</m:mo>
         </m:mrow>
         <m:mrow>
            <m:mo class="MathClass-open">(</m:mo>
            <m:mrow>
               <m:mstyle mathvariant="bold">
                  <m:mi>M</m:mi>
               </m:mstyle>
               <m:mo class="MathClass-bin">-</m:mo>
               <m:mstyle mathvariant="bold">
                  <m:mi>E</m:mi>
               </m:mstyle>
            </m:mrow>
            <m:mo class="MathClass-close">)</m:mo>
         </m:mrow>
         <m:mstyle class="text">
            <m:mtext class="textsf" mathvariant="sans-serif">&#8217;</m:mtext>
         </m:mstyle>
      </m:mrow>
      <m:mrow>
         <m:mn>2</m:mn>
         <m:munderover accentunder="false" accent="false">
            <m:mrow>
               <m:mo mathsize="big">&#8721;</m:mo>
            </m:mrow>
            <m:mrow>
               <m:mi>l</m:mi>
               <m:mo class="MathClass-rel">=</m:mo>
               <m:mn>1</m:mn>
            </m:mrow>
            <m:mrow>
               <m:mn>3</m:mn>
               <m:mn>5</m:mn>
               <m:mo class="MathClass-punc">,</m:mo>
               <m:mn>7</m:mn>
               <m:mn>9</m:mn>
               <m:mn>8</m:mn>
            </m:mrow>
         </m:munderover>
         <m:msub>
            <m:mrow>
               <m:mi>&#956;</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>i</m:mi>
            </m:mrow>
         </m:msub>
         <m:mrow>
            <m:mo class="MathClass-open">(</m:mo>
            <m:mrow>
               <m:mn>1</m:mn>
               <m:mo class="MathClass-bin">-</m:mo>
               <m:msub>
                  <m:mrow>
                     <m:mi>&#956;</m:mi>
                  </m:mrow>
                  <m:mrow>
                     <m:mi>i</m:mi>
                  </m:mrow>
               </m:msub>
            </m:mrow>
            <m:mo class="MathClass-close">)</m:mo>
         </m:mrow>
      </m:mrow>
   </m:mfrac>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mrow>
      <m:mo class="MathClass-open">{</m:mo>
      <m:mrow>
         <m:msub>
            <m:mrow>
               <m:mi>g</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>i</m:mi>
               <m:mi>j</m:mi>
            </m:mrow>
         </m:msub>
      </m:mrow>
      <m:mo class="MathClass-close">}</m:mo>
   </m:mrow>
   <m:mo class="MathClass-punc">.</m:mo>
</m:mrow>
</m:math>
</display-formula></p>
<p>The matrix <b>Z = M-E </b>contains "centered" codes, such that the mean of the values in any of its columns is null; <b>Z </b>can be used as in incidence matrix in marker assisted regression models <abbrgrp><abbr bid="B17">17</abbr><abbr bid="B32">32</abbr><abbr bid="B33">33</abbr></abbrgrp>. Then <inline-formula><m:math name="1471-2156-12-87-i39" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mstyle mathvariant="bold">
   <m:mi>Z</m:mi>
   <m:msup>
      <m:mrow>
         <m:mi>Z</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mi>&#8242;</m:mi>
      </m:mrow>
   </m:msup>
</m:mstyle>
<m:mo class="MathClass-rel">=</m:mo>
<m:mstyle mathvariant="bold">
   <m:mi>G</m:mi>
</m:mstyle>
<m:mo class="MathClass-bin">&#215;</m:mo>
<m:mn>2</m:mn>
<m:munderover accentunder="false" accent="false">
   <m:mrow>
      <m:mo class="MathClass-op">&#8721;</m:mo>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
      <m:mo class="MathClass-rel">=</m:mo>
      <m:mn>1</m:mn>
   </m:mrow>
   <m:mrow>
      <m:mn>3</m:mn>
      <m:mn>5</m:mn>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:mn>7</m:mn>
      <m:mn>9</m:mn>
      <m:mn>8</m:mn>
   </m:mrow>
</m:munderover>
<m:msub>
   <m:mrow>
      <m:mi>&#956;</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
   </m:mrow>
</m:msub>
<m:mrow>
   <m:mo class="MathClass-open">(</m:mo>
   <m:mrow>
      <m:mn>1</m:mn>
      <m:mo class="MathClass-bin">-</m:mo>
      <m:msub>
         <m:mrow>
            <m:mi>&#956;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>i</m:mi>
         </m:mrow>
      </m:msub>
   </m:mrow>
   <m:mo class="MathClass-close">)</m:mo>
</m:mrow>
</m:math>
</inline-formula> is interpretable as a covariance matrix, analogous to <inline-formula><m:math name="1471-2156-12-87-i40" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mstyle mathvariant="bold">
   <m:mi>A</m:mi>
</m:mstyle>
<m:msubsup>
   <m:mrow>
      <m:mi>&#963;</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>u</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mn>2</m:mn>
   </m:mrow>
</m:msubsup>
</m:math>
</inline-formula> in the infinitesimal model. The term <inline-formula><m:math name="1471-2156-12-87-i41" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mn>2</m:mn>
<m:munderover accentunder="false" accent="false">
   <m:mrow>
      <m:mo class="MathClass-op">&#8721;</m:mo>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
      <m:mo class="MathClass-rel">=</m:mo>
      <m:mn>1</m:mn>
   </m:mrow>
   <m:mrow>
      <m:mn>3</m:mn>
      <m:mn>5</m:mn>
      <m:mo class="MathClass-punc">,</m:mo>
      <m:mn>7</m:mn>
      <m:mn>9</m:mn>
      <m:mn>8</m:mn>
   </m:mrow>
</m:munderover>
<m:msub>
   <m:mrow>
      <m:mi>&#956;</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
   </m:mrow>
</m:msub>
<m:mrow>
   <m:mo class="MathClass-open">(</m:mo>
   <m:mrow>
      <m:mn>1</m:mn>
      <m:mo class="MathClass-bin">-</m:mo>
      <m:msub>
         <m:mrow>
            <m:mi>&#956;</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>i</m:mi>
         </m:mrow>
      </m:msub>
   </m:mrow>
   <m:mo class="MathClass-close">)</m:mo>
</m:mrow>
</m:math>
</inline-formula> holds under linkage equilibrium only, and cannot be construed as additive genetic variance of marker effects in the classical sense of <abbrgrp><abbr bid="B33">33</abbr></abbrgrp>; its relationship to additive genetic variance in a finite locus or infinitesimal model is tenuous <abbrgrp><abbr bid="B16">16</abbr><abbr bid="B34">34</abbr></abbrgrp>.</p>
</sec>
<sec><st><p>Wheat lines data</p></st>
<p>There were 599 wheat lines, each genotyped with 1279 DArT markers (Diversity Array Technology) generated by Triticarte Pty. Ltd. (Canberra, Australia; <url>http://www.triticarte.com.au</url>). The DArT markers may take on two values, denoted by their presence or absence. In this data set, the overall mean frequency of the allele coded as "1" was 0.5607, with a minimum of 0.0083 and a maximum of 0.9866. Markers with a minor allele frequency lower than 0.05 were removed. Missing genotypes at locus <it>j </it>of line <it>i </it>were imputed using samples from the marginal distribution of marker genotypes, that is, <inline-formula><m:math name="1471-2156-12-87-i42" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:msub>
   <m:mrow>
      <m:mi>x</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
      <m:mi>j</m:mi>
   </m:mrow>
</m:msub>
<m:mo class="MathClass-rel">~</m:mo>
<m:mi>B</m:mi>
<m:mi>e</m:mi>
<m:mi>r</m:mi>
<m:mi>n</m:mi>
<m:mi>o</m:mi>
<m:mi>u</m:mi>
<m:mi>l</m:mi>
<m:mi>l</m:mi>
<m:mi>i</m:mi>
<m:mfenced separators="" open="(" close=")">
   <m:mrow>
      <m:msub>
         <m:mrow>
            <m:mover accent="true">
               <m:mrow>
                  <m:mi>p</m:mi>
               </m:mrow>
               <m:mo class="MathClass-op">^</m:mo>
            </m:mover>
         </m:mrow>
         <m:mrow>
            <m:mi>j</m:mi>
         </m:mrow>
      </m:msub>
   </m:mrow>
</m:mfenced>
</m:math>
</inline-formula>, where <inline-formula><m:math name="1471-2156-12-87-i43" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:msub>
   <m:mrow>
      <m:mover accent="true">
         <m:mrow>
            <m:mi>p</m:mi>
         </m:mrow>
         <m:mo class="MathClass-op">^</m:mo>
      </m:mover>
   </m:mrow>
   <m:mrow>
      <m:mi>j</m:mi>
   </m:mrow>
</m:msub>
</m:math>
</inline-formula> is the estimated allele frequency computed from the non-missing genotypes <abbrgrp><abbr bid="B34">34</abbr></abbrgrp>. The phenotype studied was average grain yield of each line. The data came from the International Maize and Wheat improvement Center, Mexico, and it can be downloaded from R package BLR <url>http://cran.r-project.org/web/packages/BLR/index.html</url>; more information can be found in <abbrgrp><abbr bid="B30">30</abbr><abbr bid="B35">35</abbr><abbr bid="B36">36</abbr></abbrgrp>. The wheat data was partitioned randomly into a training set (480 lines) and a test set (119 lines), exactly as in <abbrgrp><abbr bid="B30">30</abbr></abbrgrp>.</p>
</sec>
</sec>
</sec>
<sec><st><p>Results</p></st>
<sec><st><p>Degree of complexity</p></st>
<p>The effective number of parameters (&#947;) associated with each of the networks examined in the Jersey data is presented in Table <tblr tid="T1">1</tblr> and shown graphically in Figure <figr fid="F2">2</figr>, by trait and type of input considered, i.e., additive or genomic relationships. Clearly, use of genomic relationships resulted in a larger number of effective parameters than use of pedigree, for all traits and architectures. When using pedigree relationships, the average (over runs, but note the large standard errors) effective number of parameters ranged from 91 (fat yield, one-neuron model with non-linear activation), to 136 (protein yield, 6 neurons). This illustrates the impact of shrinkage, and of how regularized neural networks cope with the "curse of dimensionality. For example, a 6-neuron network has close to 1800 nominal parameters. Likewise, when using genomic relationships as inputs, the average effective number of parameters ranged from 127 to 166 (fat yield). Similar results were obtained in the wheat data (Table <tblr tid="T2">2</tblr>). The effective number of parameters ranged from 220 (nonlinear ANN with 4 neurons) to 299 (linear ANN).</p>
<tbl id="T1"><title><p>Table 1</p></title><caption><p>Effective number of parameters (&#177; standard errors), by trait, in Jerseys.<sup>1</sup></p></caption><tblbdy cols="7">
      <r>
         <c ca="center">
            <p>
               <b>Network</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Fat yield</b>
            </p>
            <p>
               <b>(pedigree)</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Fat yield</b>
            </p>
            <p>
               <b>(genomic)</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Milk yield</b>
            </p>
            <p>
               <b>(pedigree)</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Milk yield</b>
            </p>
            <p>
               <b>(genomic)</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Protein yield</b>
            </p>
            <p>
               <b>(pedigree)</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Protein yield</b>
            </p>
            <p>
               <b>(genomic)</b>
            </p>
         </c>
      </r>
      <r>
         <c cspan="7">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>Linear</p>
         </c>
         <c ca="left">
            <p>123 &#177; 5.6</p>
         </c>
         <c ca="left">
            <p>166 &#177; 2.0</p>
         </c>
         <c ca="left">
            <p>124 &#177; 7.6</p>
         </c>
         <c ca="left">
            <p>162 &#177; 2.9</p>
         </c>
         <c ca="left">
            <p>118 &#177; 8.5</p>
         </c>
         <c ca="left">
            <p>151 &#177; 4.5</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>1 neuron</p>
         </c>
         <c ca="left">
            <p>91 &#177; 4.9</p>
         </c>
         <c ca="left">
            <p>142 &#177; 2.0</p>
         </c>
         <c ca="left">
            <p>93 &#177; 5.8</p>
         </c>
         <c ca="left">
            <p>166 &#177; 2.0</p>
         </c>
         <c ca="left">
            <p>91 &#177; 10.3</p>
         </c>
         <c ca="left">
            <p>144 &#177; 2.5</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>2 neurons</p>
         </c>
         <c ca="left">
            <p>104 &#177; 5.8</p>
         </c>
         <c ca="left">
            <p>128 &#177; 7.6</p>
         </c>
         <c ca="left">
            <p>122 &#177; 6.5</p>
         </c>
         <c ca="left">
            <p>145 &#177; 7.8</p>
         </c>
         <c ca="left">
            <p>114 &#177; 8.0</p>
         </c>
         <c ca="left">
            <p>136 &#177; 8.0</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>3 neurons</p>
         </c>
         <c ca="left">
            <p>107 &#177; 5.8</p>
         </c>
         <c ca="left">
            <p>132 &#177; 5.7</p>
         </c>
         <c ca="left">
            <p>123 &#177; 5.1</p>
         </c>
         <c ca="left">
            <p>129 &#177; 6.0</p>
         </c>
         <c ca="left">
            <p>126 &#177; 6.9</p>
         </c>
         <c ca="left">
            <p>141 &#177; 4.9</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>4 neurons</p>
         </c>
         <c ca="left">
            <p>108 &#177; 5.8</p>
         </c>
         <c ca="left">
            <p>129 &#177; 4.7</p>
         </c>
         <c ca="left">
            <p>112 &#177; 4.7</p>
         </c>
         <c ca="left">
            <p>131 &#177; 5.8</p>
         </c>
         <c ca="left">
            <p>129 &#177; 5.4</p>
         </c>
         <c ca="left">
            <p>138 &#177; 6.0</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>5 neurons</p>
         </c>
         <c ca="left">
            <p>106 &#177; 4.9</p>
         </c>
         <c ca="left">
            <p>127 &#177; 4.9</p>
         </c>
         <c ca="left">
            <p>118 &#177; 4.8</p>
         </c>
         <c ca="left">
            <p>132 &#177; 5.4</p>
         </c>
         <c ca="left">
            <p>131 &#177; 4.9</p>
         </c>
         <c ca="left">
            <p>138 &#177; 5.6</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>6 neurons</p>
         </c>
         <c ca="left">
            <p>114 &#177; 3.3</p>
         </c>
         <c ca="left">
            <p>128 &#177; 7.5</p>
         </c>
         <c ca="left">
            <p>122 &#177; 5.1</p>
         </c>
         <c ca="left">
            <p>132 &#177; 5.6</p>
         </c>
         <c ca="left">
            <p>136 &#177; 4.6</p>
         </c>
         <c ca="left">
            <p>137 &#177; 5.0</p>
         </c>
      </r>
   </tblbdy><tblfn>
      <p><sup>1 </sup>Results are averages of 20 runs based on random partitions of the data</p>
   </tblfn></tbl>
<fig id="F2"><title><p>Figure 2</p></title><caption><p>Effective number of parameters obtained from different network architectures in the Jersey data</p></caption><text>
   <p><b>Effective number of parameters obtained from different network architectures in the Jersey data</b>. Results shown are averages of 20 independent runs. "Linear" denotes a 1-neuron model with linear activation functions throughout.</p>
</text><graphic file="1471-2156-12-87-2" hint_layout="single"/></fig>
<tbl id="T2"><title><p>Table 2</p></title><caption><p>Effective number of parameters, predictive correlations, and mean squared errors of prediction: wheat.<sup>1</sup></p></caption><tblbdy cols="6">
      <r>
         <c ca="left">
            <p>
               <b>ANN architectures</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Linear</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>1 neuron</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>2 neurons</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>3 neurons</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>4 neurons</b>
            </p>
         </c>
      </r>
      <r>
         <c cspan="6">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>Criterion</p>
         </c>
         <c>
            <p/>
         </c>
         <c>
            <p/>
         </c>
         <c>
            <p/>
         </c>
         <c>
            <p/>
         </c>
         <c>
            <p/>
         </c>
      </r>
      <r>
         <c cspan="6">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>Effective number of parameters</p>
         </c>
         <c ca="left">
            <p>299 &#177; 5.5</p>
         </c>
         <c ca="left">
            <p>260 &#177; 6.1</p>
         </c>
         <c ca="left">
            <p>253 &#177; 5.9</p>
         </c>
         <c ca="left">
            <p>238 &#177; 5.5</p>
         </c>
         <c ca="left">
            <p>220 &#177; 2.8</p>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>Correlations in testing set</p>
         </c>
         <c ca="left">
            <p>0.48 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.54 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>056 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.57 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.59 &#177; 0.02</p>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>Mean squared error in testing set</p>
         </c>
         <c ca="left">
            <p>0.99 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.77 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.74 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.71 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.72 &#177; 0.02</p>
         </c>
      </r>
   </tblbdy><tblfn>
      <p><sup>1 </sup>The training-test partitions for this data were random and repeated 50 times; standard errors in parentheses</p>
   </tblfn></tbl>
<p>The effective number of parameters behaved differentially with respect to model architecture and this depended on the input variables used. When using pedigrees in the Jersey data, the hyperbolic tangent activation function in the 1-neuron model reduced &#947; drastically, relative to the linear model (1 neuron with linear activation throughout). Then, an increment in number of neurons from 2 to 6 increased model complexity relative to that of the 1 neuron model with non-linear activation, but not beyond that attained with the linear model, save for protein yield. For this trait, &#947; was 118 for the linear model, and ranged from 126 to 136 in models with 3 through 6 neurons. When genomic relationships were used as inputs, &#947; was largest for the linear model for fat and protein yield, and for the 1-neuron model with a non-linear activation function in the case of milk yield. In wheat, the effective number of parameters decreased as architectures became more complex. There was large variation among runs in effective number of parameters for both data sets, but there was not a clear pattern in the variability.</p>
</sec>
<sec><st><p>Predictive performance</p></st>
<p>Results pertaining to predictive ability evaluated in the testing sets are shown in Table <tblr tid="T2">2</tblr> for wheat and Tables <tblr tid="T3">3</tblr> and <tblr tid="T4">4</tblr> for the Jersey data. Figures <figr fid="F3">3</figr> and <figr fid="F4">4</figr> depict mean of squared errors of prediction and correlations coefficients in the Jersey cows.</p>
<tbl id="T3"><title><p>Table 3</p></title><caption><p>Prediction mean squared errors (&#177; standard errors) by trait: Jerseys.<sup>1</sup></p></caption><tblbdy cols="7">
      <r>
         <c ca="left">
            <p>
               <b>Network</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Fat yield (pedigree)</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Fat yield (genomic)</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Milk yield (pedigree)</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Milk yield (genomic)</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Protein yield (pedigree)</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Protein yield (genomic)</b>
            </p>
         </c>
      </r>
      <r>
         <c cspan="7">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>Linear</p>
         </c>
         <c ca="left">
            <p>1.19 &#177; 0.07</p>
         </c>
         <c ca="left">
            <p>0.86 &#177; 0.05</p>
         </c>
         <c ca="left">
            <p>1.09 &#177; 0.05</p>
         </c>
         <c ca="left">
            <p>0.88 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>1.00 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.75 &#177; 0.07</p>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>1 neuron</p>
         </c>
         <c ca="left">
            <p>1.01 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.74 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.99 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.81 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.97 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.71 &#177; 0.04</p>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>2 neurons</p>
         </c>
         <c ca="left">
            <p>0.93 &#177; 0.05</p>
         </c>
         <c ca="left">
            <p>0.70 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.96 &#177; 0.05</p>
         </c>
         <c ca="left">
            <p>0.76 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>1.02 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.72 &#177; 0.04</p>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>3 neurons</p>
         </c>
         <c ca="left">
            <p>0.92 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.71 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.98 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.78 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.96 &#177; 0.06</p>
         </c>
         <c ca="left">
            <p>0.80 &#177; 0.04</p>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>4 neurons</p>
         </c>
         <c ca="left">
            <p>0.99 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.84 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.98 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.72 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.90 &#177; 0.06</p>
         </c>
         <c ca="left">
            <p>0.70 &#177; 0.03</p>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>5 neurons</p>
         </c>
         <c ca="left">
            <p>0.99 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.86 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>1.00 &#177; 0.05</p>
         </c>
         <c ca="left">
            <p>0.80 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.93 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.77 &#177; 0.04</p>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>6 neurons</p>
         </c>
         <c ca="left">
            <p>0.95 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.77 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>1.02 &#177; 0.05</p>
         </c>
         <c ca="left">
            <p>0.79 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.95 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.76 &#177; 0.05</p>
         </c>
      </r>
   </tblbdy><tblfn>
      <p><sup>1</sup>Results are the average of 20 runs based on random partitions on the data</p>
   </tblfn></tbl>
<tbl id="T4"><title><p>Table 4</p></title><caption><p>Correlation coefficients (&#177; standard errors) in the Jersey testing data set, by trait.<sup>1</sup></p></caption><tblbdy cols="7">
      <r>
         <c>
            <p/>
         </c>
         <c cspan="3" ca="center">
            <p>
               <b>Pedigree relationships</b>
            </p>
         </c>
         <c cspan="3" ca="center">
            <p>
               <b>Genomic relationships</b>
            </p>
         </c>
      </r>
      <r>
         <c cspan="7">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>
               <b>Network</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Fat yield</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Milk yield</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Protein yield</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Fat yield</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Milk yield</b>
            </p>
         </c>
         <c ca="left">
            <p>
               <b>Protein yield</b>
            </p>
         </c>
      </r>
      <r>
         <c cspan="7">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>Linear</p>
         </c>
         <c ca="left">
            <p>0.11 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.07 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.02 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.43 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.42 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.44 &#177; 0.02</p>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>1 neuron</p>
         </c>
         <c ca="left">
            <p>0.23 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.10 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.09 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.51 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.45 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.44 &#177; 0.02</p>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>2 neurons</p>
         </c>
         <c ca="left">
            <p>0.22 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.08 &#177; 0.01</p>
         </c>
         <c ca="left">
            <p>0.08 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.49 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.46 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.51 &#177; 0.02</p>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>3 neurons</p>
         </c>
         <c ca="left">
            <p>0.22 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.13 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.10 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.53 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.52 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.47 &#177; 0.02</p>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>4 neurons</p>
         </c>
         <c ca="left">
            <p>0.20 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.09 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.14 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.45 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.52 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.47 &#177; 0.03</p>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>5 neurons</p>
         </c>
         <c ca="left">
            <p>0.23 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.13 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.15 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.42 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.50 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.47 &#177; 0.02</p>
         </c>
      </r>
      <r>
         <c ca="left">
            <p>6 neurons</p>
         </c>
         <c ca="left">
            <p>0.27 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.10 &#177; 0.03</p>
         </c>
         <c ca="left">
            <p>0.11 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.48 &#177; 0.04</p>
         </c>
         <c ca="left">
            <p>0.54 &#177; 0.02</p>
         </c>
         <c ca="left">
            <p>0.50 &#177; 0.03</p>
         </c>
      </r>
   </tblbdy><tblfn>
      <p><sup>1</sup>Results are the average of 20 runs based on random partitions on the data</p>
   </tblfn></tbl>
<fig id="F3"><title><p>Figure 3</p></title><caption><p>Prediction mean squared errors in the Jersey testing set (vertical axis) by network</p></caption><text>
   <p><b>Prediction mean squared errors in the Jersey testing set (vertical axis) by network</b>. Results are averages of 20 independent runs. "Linear" denotes a 1-neuron model with linear activation functions throughout.</p>
</text><graphic file="1471-2156-12-87-3" hint_layout="single"/></fig>
<fig id="F4"><title><p>Figure 4</p></title><caption><p>Correlations between predictions and observations in the Jersey testing data set for the network considered</p></caption><text>
   <p><b>Correlations between predictions and observations in the Jersey testing data set for the network considered</b>. Results shown are averages of 20 independent runs. "Linear" denotes a 1-neuron model with linear activation functions throughout.</p>
</text><graphic file="1471-2156-12-87-4" hint_layout="single"/></fig>
<p>The predictive correlations in wheat (Table <tblr tid="T2">2</tblr>) ranged from 0.48 with the linear ANN (equivalent to Bayesian ridge regression) to 0.59 for the nonlinear ANN with 4 neurons. Clear and significant differences between linear and nonlinear architectures were observed. The improvements over the linear ANN were 11.2, 14.3, 15.8 and 18.6% in predictive correlation for 1, 2, 3 and 4 neurons in the hidden layer, respectively. Mean squared errors were also 23-29% smaller than in the linear ANN.</p>
<p>In the Jerseys, the large variability in mean squared error among runs (Table <tblr tid="T3">3</tblr>) precludes making strong statements about differences among architectures. However, predictive correlations (Table <tblr tid="T4">4</tblr>) were clearly larger for the non-linear ANN. For fat yield, the results with pedigrees employed as input suggest that a non-linear, adaptive use of additive relationships (as done in all networks with the hyperbolic tangent activation function) can improve predictive performance beyond that of the infinitesimal model. Further, use of genomic relationships led to more reliable prediction of phenotypes than use of pedigree information as measured by the predictive correlations in Table <tblr tid="T4">4</tblr>. The relative increase in strength of association, as measured by the correlation, is much larger than the ones that have been reported, e.g., in dairy cattle <abbrgrp><abbr bid="B32">32</abbr><abbr bid="B37">37</abbr></abbrgrp>, when prediction of breeding values of bulls was made from genomic information, as opposed to from pedigrees. Our result is encouraging and suggests that genomic data may also play an important role in prediction of individual outcomes (as opposed to breeding value), an issue of relevance in medicine <abbrgrp><abbr bid="B4">4</abbr></abbrgrp>.</p>
</sec>
<sec><st><p>Shrinkage</p></st>
<p>The distribution of connection strengths in a network gives an indication of the extent of regularization attained. Typically, weight values decrease with model complexity, in the same manner that estimates of marker effects become smaller in Bayesian regression models when <it>p </it>increases and training sample size is kept constant. Further, the distribution of weights is often linked to predictive ability; small values tend to lead to better generalization. Figure <figr fid="F5">5</figr> depicts the distributions of weights for the linear models and for the nonlinear regularized networks that produced the largest predictive correlations for pedigree and genomic relationships in the Jersey data. The weights for the linear model were larger and more variable than for the nonlinear networks, where distributions were patently leptokurtic, indicating strong shrinkage towards 0. For example, the average (over runs) sum of squares of weights for the linear model and for the non-linear network with 6 neurons when using genomic relationships as predictors of milk yield were 7.5 and 8.5, respectively; however, the 7.5 for the linear model was the sum of squares of 297 weights whereas the 8.5 for the nonlinear model with 6 neurons was the sum of squares of 1782 weights (6 &#215; 297). The same picture was observed in the wheat data (results are not reported).</p>
<fig id="F5"><title><p>Figure 5</p></title><caption><p>Distribution of connection strengths(<it>w<sub>kj</sub></it>) in the linear and selected networks fitted to the Jersey data</p></caption><text>
   <p><b>Distribution of connection strengths(<it>w<sub>kj</sub></it>) in the linear and selected networks fitted to the Jersey data</b>. The linear model has single neuron architecture with linear activation functions. a) Fat yield using pedigree relationships: linear model (above) and 6 neurons (below). b) Milk yield using pedigree relationships: linear model (above) and 6 neurons (below). c) Protein yield using pedigree relationships: linear model (above) and 5 neurons (below). d) Fat yield using genomic relationships: linear model (above) and 3 neurons (below), e) Milk yield using genomic relationships: linear model (above) and (below) and 6 neurons (below). f) Protein yield using genomic relationships: linear model (above) and 2 neurons (below).</p>
</text><graphic file="1471-2156-12-87-5" hint_layout="single"/></fig>
</sec>
</sec>
<sec><st><p>Discussion</p></st>
<p>Models for prediction of fat, milk and protein yield in cows using pedigree and genomic relationship information as inputs, and wheat yield using molecular markers as predictor variables were studied. This was done using Bayesian regularized neural networks, and predictions were benchmarked against those from a linear neural network, which is a Bayesian ridge regression model. In the wheat data, the comparison was supplemented with results obtained by our group using RKHS or support vector methods. Different network architectures were explored by varying the number of neurons, and using a hyperbolic tangent sigmoid activation function in the hidden layer plus a linear activation function in the output layer. This combination has been shown to work well when extrapolating beyond the range of the training data <abbrgrp><abbr bid="B36">36</abbr></abbrgrp>. The choice of number of neurons can be based on cross-validation, as in the present data, or on standard Bayesian metrics for model comparison <abbrgrp><abbr bid="B11">11</abbr><abbr bid="B15">15</abbr></abbrgrp>.</p>
<p>The Levenberg-Marquardt algorithm, as implemented in MATLAB, was adopted to optimize weights and biases, as this procedure has been effective elsewhere <abbrgrp><abbr bid="B38">38</abbr></abbrgrp>. Bayesian regularization was adopted to avoid over-fitting and to improve generalization, and cross-validation was used to assess predictive ability, as in <abbrgrp><abbr bid="B28">28</abbr><abbr bid="B39">39</abbr></abbrgrp>.</p>
<p>Because Bayesian neural networks reduce the effective number of weights relative to what would be obtained without regularization, this helps to prevent over-fitting <abbrgrp><abbr bid="B40">40</abbr></abbrgrp>. For the networks we examined, even though the total number of parameters, e.g., in Jerseys, ranged from 300 to 1795, the effective number of parameters varied from only 91 to 136 when pedigree relationships were used, and from 127 to 166 when genomic relationships were used as inputs, illustrating the extent of regularization. There were differences in predictive abilities of different architectures but the small sample used dictates a cautious interpretation. Nevertheless, the results seem to support networks with at least 2 neurons, which has been observed in several studies <abbrgrp><abbr bid="B20">20</abbr><abbr bid="B28">28</abbr><abbr bid="B41">41</abbr><abbr bid="B42">42</abbr><abbr bid="B43">43</abbr></abbrgrp>. This suggests that linear models based on pedigree or on genomic relationships may not provide an adequate approximation to genetic signals resulting from complex genetic systems. Because highly parameterized models are penalized in the Bayesian approach, we were able to explore complex architectures. However, there was evidence of over-fitting in the Jersey training set, where correlations between observed and predicted data in the training set were always larger than 0.90, sometimes exceeding 0.95. This explains why correlations were much lower in the testing set, which is consistent with what was observed in other studies with neural networks <abbrgrp><abbr bid="B42">42</abbr></abbrgrp>. Although more parameters in a model can lead to smaller error in the training data, it cannot be overemphasized that this is not representative of prediction error in an independent data set, as shown by <abbrgrp><abbr bid="B43">43</abbr></abbrgrp> working with human stature.</p>
<p>Our results with ANN for wheat are at least as good as those obtained with the same data in two other studies. Crossa et al. <abbrgrp><abbr bid="B35">35</abbr></abbrgrp> found cross-validation correlations with the following values when various methods were used: pedigree information (BLUP), 0.45; pedigree-based reproducing kernel Hilbert spaces regression (RKHS), 0.60; RKHS with both pedigree and markers, 0.61; Bayesian Lasso with markers, 0.46; Bayesian Lasso with markers and pedigree, 0.54, and Bayesian ridge regression on markers, 0.49. Long et al., <abbrgrp><abbr bid="B30">30</abbr></abbrgrp> compared the Bayesian Lasso with four support-vector regression models consisting of the combination of two kernels and two loss functions. The predictive correlation for wheat yield (average of 50 random repeats of the cross-validation exercise) was 0.52 for the Bayesian Lasso, and ranged between 0.50 and 0.58 for the support vector implementations. Hence, it seems clear, at least for wheat yield in this data set, that the non-parametric methods can outperform a strong learner, the Bayesian Lasso, and that the neural networks are competitive with the highly regarded support vector methods <abbrgrp><abbr bid="B11">11</abbr></abbrgrp>.</p>
<p>A question of importance in animal and plant breeding is how an estimated "breeding value", i.e., an estimate of the total additive genetic effect of an individual, can be arrived at from an ANN output. There are at least two ways in which this can be done. One is by posing architectures with a neuron in which the inputs enter in a strictly linear manner, followed by a linear activation function on this neuron; the remaining neurons in the architecture, receiving the same inputs, would be treated non-linearly. A second one, is obtained by observing that the infinitesimal model can be written as y<it>i </it>= <b><it>z</it></b>'<it><sub>i</sub></it><b>u </b>+ <b>e</b>, for some incidence row vector <b><it>z</it></b>'<it><sub>i </sub></it>peculiar to individual <it>i</it>. Here, the breeding value of the <it>i<sup>th </sup></it>individual can be written as <inline-formula><m:math name="1471-2156-12-87-i44" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:msub>
      <m:mrow>
         <m:mi>u</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mi>i</m:mi>
      </m:mrow>
   </m:msub>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:msubsup>
      <m:mrow>
         <m:mstyle mathvariant="bold">
            <m:mstyle mathvariant="italic">
               <m:mi>z</m:mi>
            </m:mstyle>
         </m:mstyle>
      </m:mrow>
      <m:mrow>
         <m:mi>i</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mi>&#8242;</m:mi>
      </m:mrow>
   </m:msubsup>
   <m:mfrac>
      <m:mrow>
         <m:mi>&#8706;</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mi>&#8706;</m:mi>
         <m:msub>
            <m:mrow>
               <m:mstyle mathvariant="bold">
                  <m:mstyle mathvariant="italic">
                     <m:mi>z</m:mi>
                  </m:mstyle>
               </m:mstyle>
            </m:mrow>
            <m:mrow>
               <m:mi>i</m:mi>
            </m:mrow>
         </m:msub>
      </m:mrow>
   </m:mfrac>
   <m:mrow>
      <m:mo class="MathClass-open">(</m:mo>
      <m:mrow>
         <m:msubsup>
            <m:mrow>
               <m:mi>z</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>i</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>&#8242;</m:mi>
            </m:mrow>
         </m:msubsup>
         <m:mstyle mathvariant="bold">
            <m:mi>u</m:mi>
         </m:mstyle>
      </m:mrow>
      <m:mo class="MathClass-close">)</m:mo>
   </m:mrow>
</m:mrow>
</m:math>
</inline-formula>. Likewise, consider a linear regression model for <it>p </it>markers, <inline-formula><m:math name="1471-2156-12-87-i45" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:msub>
   <m:mrow>
      <m:mi>y</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
   </m:mrow>
</m:msub>
<m:mo class="MathClass-rel">=</m:mo>
<m:msubsup>
   <m:mrow>
      <m:mo class="MathClass-op"> &#8721;</m:mo>
   </m:mrow>
   <m:mrow>
      <m:mi>j</m:mi>
      <m:mo class="MathClass-rel">=</m:mo>
      <m:mn>1</m:mn>
   </m:mrow>
   <m:mrow>
      <m:mi>p</m:mi>
   </m:mrow>
</m:msubsup>
<m:msub>
   <m:mrow>
      <m:mi>x</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
      <m:mi>j</m:mi>
   </m:mrow>
</m:msub>
<m:msub>
   <m:mrow>
      <m:mi>&#946;</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>j</m:mi>
   </m:mrow>
</m:msub>
<m:mo class="MathClass-bin">+</m:mo>
<m:msub>
   <m:mrow>
      <m:mi>e</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
   </m:mrow>
</m:msub>
<m:mo class="MathClass-rel">=</m:mo>
<m:msubsup>
   <m:mrow>
      <m:mstyle mathvariant="bold">
         <m:mstyle mathvariant="italic">
            <m:mi>x</m:mi>
         </m:mstyle>
      </m:mstyle>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>&#8242;</m:mi>
   </m:mrow>
</m:msubsup>
<m:mi>&#946;</m:mi>
<m:mo class="MathClass-bin">+</m:mo>
<m:msub>
   <m:mrow>
      <m:mi>e</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
   </m:mrow>
</m:msub>
</m:math>
</inline-formula>, where <it>&#946;<sub>j </sub></it>is the substitution effect at marker locus <it>j</it>; <it>x<sub>ij </sub></it>= 0,1,2 is the observed number of copies of a given allele at locus <it>j </it>on individual <it>I</it>, and <inline-formula><m:math name="1471-2156-12-87-i46" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:msubsup>
   <m:mrow>
      <m:mstyle mathvariant="bold">
         <m:mstyle mathvariant="italic">
            <m:mi>x</m:mi>
         </m:mstyle>
      </m:mstyle>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>&#8242;</m:mi>
   </m:mrow>
</m:msubsup>
<m:mo class="MathClass-rel">=</m:mo>
<m:mrow>
   <m:mo class="MathClass-open">{</m:mo>
   <m:mrow>
      <m:msub>
         <m:mrow>
            <m:mi>x</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>i</m:mi>
            <m:mi>j</m:mi>
         </m:mrow>
      </m:msub>
   </m:mrow>
   <m:mo class="MathClass-close">}</m:mo>
</m:mrow>
</m:math>
</inline-formula> and <b><it>&#946; </it></b>= {<it>&#946;<sub>j</sub></it>} are row and column vectors, respectively, each with <it>p </it>elements. Here, the "marked breeding value" of individual <it>i </it>would be <inline-formula><m:math name="1471-2156-12-87-i47" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:msubsup>
   <m:mrow>
      <m:mstyle mathvariant="bold">
         <m:mstyle mathvariant="italic">
            <m:mi>x</m:mi>
         </m:mstyle>
      </m:mstyle>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>&#8242;</m:mi>
   </m:mrow>
</m:msubsup>
<m:mfrac>
   <m:mrow>
      <m:mi>&#8706;</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>&#8706;</m:mi>
      <m:msub>
         <m:mrow>
            <m:mstyle mathvariant="bold">
               <m:mstyle mathvariant="italic">
                  <m:mi>x</m:mi>
               </m:mstyle>
            </m:mstyle>
         </m:mrow>
         <m:mrow>
            <m:mi>i</m:mi>
         </m:mrow>
      </m:msub>
   </m:mrow>
</m:mfrac>
<m:mrow>
   <m:mo class="MathClass-open">(</m:mo>
   <m:mrow>
      <m:msubsup>
         <m:mrow>
            <m:mstyle mathvariant="bold">
               <m:mstyle mathvariant="italic">
                  <m:mi>x</m:mi>
               </m:mstyle>
            </m:mstyle>
         </m:mrow>
         <m:mrow>
            <m:mi>i</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>&#8242;</m:mi>
         </m:mrow>
      </m:msubsup>
      <m:mi>&#946;</m:mi>
   </m:mrow>
   <m:mo class="MathClass-close">)</m:mo>
</m:mrow>
<m:mo class="MathClass-rel">=</m:mo>
<m:msubsup>
   <m:mrow>
      <m:mstyle mathvariant="bold">
         <m:mstyle mathvariant="italic">
            <m:mi>x</m:mi>
         </m:mstyle>
      </m:mstyle>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>&#8242;</m:mi>
   </m:mrow>
</m:msubsup>
<m:mi>&#946;</m:mi>
</m:math>
</inline-formula>. Consider next a neural network with a hyperbolic tangent activation function throughout, that is</p>
<p><display-formula><m:math name="1471-2156-12-87-i48" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:msub>
   <m:mrow>
      <m:mi>t</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mstyle class="text">
         <m:mtext class="textsf" mathvariant="sans-serif">i</m:mtext>
      </m:mstyle>
   </m:mrow>
</m:msub>
<m:mo class="MathClass-rel">=</m:mo>
<m:mi>b</m:mi>
<m:mo class="MathClass-bin">+</m:mo>
<m:mi>c</m:mi>
<m:mi>g</m:mi>
<m:mfenced separators="" open="[" close="]">
   <m:mrow>
      <m:munderover accentunder="false" accent="false">
         <m:mrow>
            <m:mo class="MathClass-op">&#8721;</m:mo>
         </m:mrow>
         <m:mrow>
            <m:mi>k</m:mi>
            <m:mo class="MathClass-rel">=</m:mo>
            <m:mn>1</m:mn>
         </m:mrow>
         <m:mrow>
            <m:mi>s</m:mi>
         </m:mrow>
      </m:munderover>
      <m:msub>
         <m:mrow>
            <m:mi>w</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>k</m:mi>
         </m:mrow>
      </m:msub>
      <m:msub>
         <m:mrow>
            <m:mi>g</m:mi>
         </m:mrow>
         <m:mrow>
            <m:mi>k</m:mi>
         </m:mrow>
      </m:msub>
      <m:mrow>
         <m:mo class="MathClass-open">(</m:mo>
         <m:mrow>
            <m:msub>
               <m:mrow>
                  <m:mi>b</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>k</m:mi>
               </m:mrow>
            </m:msub>
            <m:mo class="MathClass-bin">+</m:mo>
            <m:msubsup>
               <m:mrow>
                  <m:mo class="MathClass-op"> &#8721;</m:mo>
               </m:mrow>
               <m:mrow>
                  <m:mi>j</m:mi>
                  <m:mo class="MathClass-rel">=</m:mo>
                  <m:mn>1</m:mn>
               </m:mrow>
               <m:mrow>
                  <m:mi>n</m:mi>
               </m:mrow>
            </m:msubsup>
            <m:msub>
               <m:mrow>
                  <m:mi>p</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>i</m:mi>
                  <m:mi>j</m:mi>
               </m:mrow>
            </m:msub>
            <m:msubsup>
               <m:mrow>
                  <m:mi>u</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>j</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mo class="MathClass-bin">*</m:mo>
                  <m:mo class="MathClass-bin">*</m:mo>
                  <m:mrow>
                     <m:mo class="MathClass-open">[</m:mo>
                     <m:mrow>
                        <m:mi>k</m:mi>
                     </m:mrow>
                     <m:mo class="MathClass-close">]</m:mo>
                  </m:mrow>
               </m:mrow>
            </m:msubsup>
         </m:mrow>
         <m:mo class="MathClass-close">)</m:mo>
      </m:mrow>
   </m:mrow>
</m:mfenced>
<m:mo class="MathClass-bin">+</m:mo>
<m:msub>
   <m:mrow>
      <m:mi>e</m:mi>
   </m:mrow>
   <m:mrow>
      <m:mi>i</m:mi>
   </m:mrow>
</m:msub>
<m:mo class="MathClass-punc">,</m:mo>
<m:mo class="MathClass-punc">.</m:mo>
</m:math>
</display-formula></p>
<p>Let <it><b>p</b><sub>i </sub></it>= {<it>p<sub>ij</sub></it>} be the vector of input covariates (e.g., genomic or additive relationships, marker genotype codes) observed on <it>i</it>. Adapting the preceding definitions to the ANN specification, one would have as breeding value (BV) of individual <it>i</it></p>
<p><display-formula><m:math name="1471-2156-12-87-i49" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:mtable class="gathered">
      <m:mtr>
         <m:mtd>
            <m:mi>B</m:mi>
            <m:msub>
               <m:mrow>
                  <m:mi>V</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>i</m:mi>
               </m:mrow>
            </m:msub>
            <m:mo class="MathClass-rel">=</m:mo>
            <m:msub>
               <m:mrow>
                  <m:msup>
                     <m:mrow>
                        <m:mstyle mathvariant="bold">
                           <m:mstyle mathvariant="italic">
                              <m:mi>p</m:mi>
                           </m:mstyle>
                        </m:mstyle>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>&#8242;</m:mi>
                     </m:mrow>
                  </m:msup>
               </m:mrow>
               <m:mrow>
                  <m:mi>i</m:mi>
               </m:mrow>
            </m:msub>
            <m:mfrac>
               <m:mrow>
                  <m:mi>&#8706;</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>&#8706;</m:mi>
                  <m:msub>
                     <m:mrow>
                        <m:mstyle mathvariant="bold">
                           <m:mstyle mathvariant="italic">
                              <m:mi>p</m:mi>
                           </m:mstyle>
                        </m:mstyle>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>i</m:mi>
                     </m:mrow>
                  </m:msub>
               </m:mrow>
            </m:mfrac>
            <m:msub>
               <m:mrow>
                  <m:mi>t</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>i</m:mi>
               </m:mrow>
            </m:msub>
            <m:mo class="MathClass-rel">=</m:mo>
         </m:mtd>
      </m:mtr>
      <m:mtr>
         <m:mtd>
            <m:msub>
               <m:mrow>
                  <m:mi>C</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:msup>
                     <m:mrow>
                        <m:mi>g</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>&#8242;</m:mi>
                     </m:mrow>
                  </m:msup>
               </m:mrow>
            </m:msub>
            <m:mfenced separators="" open="[" close="]">
               <m:mrow>
                  <m:munderover accentunder="false" accent="false">
                     <m:mrow>
                        <m:mo mathsize="big">&#8721;</m:mo>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>k</m:mi>
                        <m:mo class="MathClass-rel">=</m:mo>
                        <m:mn>1</m:mn>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>s</m:mi>
                     </m:mrow>
                  </m:munderover>
                  <m:msub>
                     <m:mrow>
                        <m:mi>w</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>k</m:mi>
                     </m:mrow>
                  </m:msub>
                  <m:msub>
                     <m:mrow>
                        <m:mi>g</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>k</m:mi>
                     </m:mrow>
                  </m:msub>
                  <m:mrow>
                     <m:mo class="MathClass-open">(</m:mo>
                     <m:mrow>
                        <m:msub>
                           <m:mrow>
                              <m:mi>b</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>k</m:mi>
                           </m:mrow>
                        </m:msub>
                        <m:mo class="MathClass-bin">+</m:mo>
                        <m:msubsup>
                           <m:mrow>
                              <m:mo mathsize="big"> &#8721;</m:mo>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>j</m:mi>
                              <m:mo class="MathClass-rel">=</m:mo>
                              <m:mn>1</m:mn>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>n</m:mi>
                           </m:mrow>
                        </m:msubsup>
                        <m:msub>
                           <m:mrow>
                              <m:mi>p</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>i</m:mi>
                              <m:mi>j</m:mi>
                           </m:mrow>
                        </m:msub>
                        <m:msubsup>
                           <m:mrow>
                              <m:mi>u</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>j</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:mo class="MathClass-bin">*</m:mo>
                              <m:mo class="MathClass-bin">*</m:mo>
                              <m:mrow>
                                 <m:mo class="MathClass-open">[</m:mo>
                                 <m:mrow>
                                    <m:mi>k</m:mi>
                                 </m:mrow>
                                 <m:mo class="MathClass-close">]</m:mo>
                              </m:mrow>
                           </m:mrow>
                        </m:msubsup>
                     </m:mrow>
                     <m:mo class="MathClass-close">)</m:mo>
                  </m:mrow>
               </m:mrow>
            </m:mfenced>
            <m:msub>
               <m:mrow>
                  <m:mstyle mathvariant="bold">
                     <m:msup>
                        <m:mrow>
                           <m:mi>p</m:mi>
                        </m:mrow>
                        <m:mrow>
                           <m:mi>&#8242;</m:mi>
                        </m:mrow>
                     </m:msup>
                  </m:mstyle>
               </m:mrow>
               <m:mrow>
                  <m:mstyle class="text">
                     <m:mtext class="textsf" mathvariant="sans-serif">i</m:mtext>
                  </m:mstyle>
               </m:mrow>
            </m:msub>
            <m:munderover accentunder="false" accent="false">
               <m:mrow>
                  <m:mo mathsize="big">&#8721;</m:mo>
               </m:mrow>
               <m:mrow>
                  <m:mi>k</m:mi>
                  <m:mo class="MathClass-rel">=</m:mo>
                  <m:mn>1</m:mn>
               </m:mrow>
               <m:mrow>
                  <m:mi>s</m:mi>
               </m:mrow>
            </m:munderover>
            <m:msub>
               <m:mrow>
                  <m:mi>w</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>k</m:mi>
               </m:mrow>
            </m:msub>
            <m:msub>
               <m:mrow>
                  <m:msup>
                     <m:mrow>
                        <m:mi>g</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>&#8242;</m:mi>
                     </m:mrow>
                  </m:msup>
               </m:mrow>
               <m:mrow>
                  <m:mi>k</m:mi>
               </m:mrow>
            </m:msub>
            <m:mrow>
               <m:mo class="MathClass-open">(</m:mo>
               <m:mrow>
                  <m:msub>
                     <m:mrow>
                        <m:mi>b</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>k</m:mi>
                     </m:mrow>
                  </m:msub>
                  <m:mo class="MathClass-bin">+</m:mo>
                  <m:msubsup>
                     <m:mrow>
                        <m:mo mathsize="big"> &#8721;</m:mo>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>j</m:mi>
                        <m:mo class="MathClass-rel">=</m:mo>
                        <m:mn>1</m:mn>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>n</m:mi>
                     </m:mrow>
                  </m:msubsup>
                  <m:msub>
                     <m:mrow>
                        <m:mi>p</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>i</m:mi>
                        <m:mi>j</m:mi>
                     </m:mrow>
                  </m:msub>
                  <m:msubsup>
                     <m:mrow>
                        <m:mi>u</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>j</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mo class="MathClass-bin">*</m:mo>
                        <m:mo class="MathClass-bin">*</m:mo>
                        <m:mrow>
                           <m:mo class="MathClass-open">[</m:mo>
                           <m:mrow>
                              <m:mi>k</m:mi>
                           </m:mrow>
                           <m:mo class="MathClass-close">]</m:mo>
                        </m:mrow>
                     </m:mrow>
                  </m:msubsup>
               </m:mrow>
               <m:mo class="MathClass-close">)</m:mo>
            </m:mrow>
            <m:msup>
               <m:mrow>
                  <m:mstyle mathvariant="bold">
                     <m:mi>u</m:mi>
                  </m:mstyle>
               </m:mrow>
               <m:mrow>
                  <m:mo class="MathClass-bin">*</m:mo>
                  <m:mo class="MathClass-bin">*</m:mo>
                  <m:mrow>
                     <m:mo class="MathClass-open">[</m:mo>
                     <m:mrow>
                        <m:mi>k</m:mi>
                     </m:mrow>
                     <m:mo class="MathClass-close">]</m:mo>
                  </m:mrow>
               </m:mrow>
            </m:msup>
            <m:mo class="MathClass-punc">,</m:mo>
         </m:mtd>
      </m:mtr>
      <m:mtr>
         <m:mtd/>
      </m:mtr>
   </m:mtable>
</m:mrow>
</m:math>
</display-formula></p>
<p>where:</p>
<p><display-formula><m:math name="1471-2156-12-87-i50" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:mtable class="gathered">
      <m:mtr>
         <m:mtd>
            <m:msup>
               <m:mrow>
                  <m:mi>g</m:mi>
               </m:mrow>
               <m:mrow>
                  <m:mi>&#8242;</m:mi>
               </m:mrow>
            </m:msup>
            <m:mfenced separators="" open="[" close="]">
               <m:mrow>
                  <m:munderover accentunder="false" accent="false">
                     <m:mrow>
                        <m:mo mathsize="big">&#8721;</m:mo>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>k</m:mi>
                        <m:mo class="MathClass-rel">=</m:mo>
                        <m:mn>1</m:mn>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>s</m:mi>
                     </m:mrow>
                  </m:munderover>
                  <m:msub>
                     <m:mrow>
                        <m:mi>w</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>k</m:mi>
                     </m:mrow>
                  </m:msub>
                  <m:msub>
                     <m:mrow>
                        <m:mi>g</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>k</m:mi>
                     </m:mrow>
                  </m:msub>
                  <m:mrow>
                     <m:mo class="MathClass-open">(</m:mo>
                     <m:mrow>
                        <m:msub>
                           <m:mrow>
                              <m:mi>b</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>k</m:mi>
                           </m:mrow>
                        </m:msub>
                        <m:mo class="MathClass-bin">+</m:mo>
                        <m:msubsup>
                           <m:mrow>
                              <m:mo mathsize="big"> &#8721;</m:mo>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>j</m:mi>
                              <m:mo class="MathClass-rel">=</m:mo>
                              <m:mn>1</m:mn>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>n</m:mi>
                           </m:mrow>
                        </m:msubsup>
                        <m:msub>
                           <m:mrow>
                              <m:mi>p</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>i</m:mi>
                              <m:mi>j</m:mi>
                           </m:mrow>
                        </m:msub>
                        <m:msubsup>
                           <m:mrow>
                              <m:mi>u</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>j</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:mo class="MathClass-bin">*</m:mo>
                              <m:mo class="MathClass-bin">*</m:mo>
                              <m:mrow>
                                 <m:mo class="MathClass-open">[</m:mo>
                                 <m:mrow>
                                    <m:mi>k</m:mi>
                                 </m:mrow>
                                 <m:mo class="MathClass-close">]</m:mo>
                              </m:mrow>
                           </m:mrow>
                        </m:msubsup>
                     </m:mrow>
                     <m:mo class="MathClass-close">)</m:mo>
                  </m:mrow>
               </m:mrow>
            </m:mfenced>
            <m:mo class="MathClass-rel">=</m:mo>
            <m:mn>4</m:mn>
            <m:mi>P</m:mi>
            <m:mrow>
               <m:mo class="MathClass-open">(</m:mo>
               <m:mrow>
                  <m:mn>1</m:mn>
                  <m:mo class="MathClass-bin">-</m:mo>
                  <m:mi>P</m:mi>
               </m:mrow>
               <m:mo class="MathClass-close">)</m:mo>
            </m:mrow>
            <m:mo class="MathClass-punc">,</m:mo>
         </m:mtd>
      </m:mtr>
      <m:mtr>
         <m:mtd>
            <m:mi>P</m:mi>
            <m:mo class="MathClass-rel">=</m:mo>
            <m:mfrac>
               <m:mrow>
                  <m:mo class="qopname">exp</m:mo>
                  <m:mfenced separators="" open="[" close="]">
                     <m:mrow>
                        <m:mo class="MathClass-bin">-</m:mo>
                        <m:mn>2</m:mn>
                        <m:munderover accentunder="false" accent="false">
                           <m:mrow>
                              <m:mo mathsize="big">&#8721;</m:mo>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>k</m:mi>
                              <m:mo class="MathClass-rel">=</m:mo>
                              <m:mn>1</m:mn>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>s</m:mi>
                           </m:mrow>
                        </m:munderover>
                        <m:msub>
                           <m:mrow>
                              <m:mi>w</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>k</m:mi>
                           </m:mrow>
                        </m:msub>
                        <m:msub>
                           <m:mrow>
                              <m:mi>g</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>k</m:mi>
                           </m:mrow>
                        </m:msub>
                        <m:mrow>
                           <m:mo class="MathClass-open">(</m:mo>
                           <m:mrow>
                              <m:msub>
                                 <m:mrow>
                                    <m:mi>b</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>k</m:mi>
                                 </m:mrow>
                              </m:msub>
                              <m:mo class="MathClass-bin">+</m:mo>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mo mathsize="big"> &#8721;</m:mo>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                    <m:mo class="MathClass-rel">=</m:mo>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>n</m:mi>
                                 </m:mrow>
                              </m:msubsup>
                              <m:msub>
                                 <m:mrow>
                                    <m:mi>p</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>i</m:mi>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                              </m:msub>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>u</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mrow>
                                       <m:mo class="MathClass-open">[</m:mo>
                                       <m:mrow>
                                          <m:mi>k</m:mi>
                                       </m:mrow>
                                       <m:mo class="MathClass-close">]</m:mo>
                                    </m:mrow>
                                 </m:mrow>
                              </m:msubsup>
                           </m:mrow>
                           <m:mo class="MathClass-close">)</m:mo>
                        </m:mrow>
                     </m:mrow>
                  </m:mfenced>
               </m:mrow>
               <m:mrow>
                  <m:mn>1</m:mn>
                  <m:mo class="MathClass-bin">+</m:mo>
                  <m:mo class="qopname"> exp</m:mo>
                  <m:mfenced separators="" open="[" close="]">
                     <m:mrow>
                        <m:mo class="MathClass-bin">-</m:mo>
                        <m:mn>2</m:mn>
                        <m:munderover accentunder="false" accent="false">
                           <m:mrow>
                              <m:mo mathsize="big">&#8721;</m:mo>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>k</m:mi>
                              <m:mo class="MathClass-rel">=</m:mo>
                              <m:mn>1</m:mn>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>s</m:mi>
                           </m:mrow>
                        </m:munderover>
                        <m:msub>
                           <m:mrow>
                              <m:mi>w</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>k</m:mi>
                           </m:mrow>
                        </m:msub>
                        <m:msub>
                           <m:mrow>
                              <m:mi>g</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>k</m:mi>
                           </m:mrow>
                        </m:msub>
                        <m:mrow>
                           <m:mo class="MathClass-open">(</m:mo>
                           <m:mrow>
                              <m:msub>
                                 <m:mrow>
                                    <m:mi>b</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>k</m:mi>
                                 </m:mrow>
                              </m:msub>
                              <m:mo class="MathClass-bin">+</m:mo>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mo mathsize="big"> &#8721;</m:mo>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                    <m:mo class="MathClass-rel">=</m:mo>
                                    <m:mn>1</m:mn>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>n</m:mi>
                                 </m:mrow>
                              </m:msubsup>
                              <m:msub>
                                 <m:mrow>
                                    <m:mi>p</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>i</m:mi>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                              </m:msub>
                              <m:msubsup>
                                 <m:mrow>
                                    <m:mi>u</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>j</m:mi>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mo class="MathClass-bin">*</m:mo>
                                    <m:mrow>
                                       <m:mo class="MathClass-open">[</m:mo>
                                       <m:mrow>
                                          <m:mi>k</m:mi>
                                       </m:mrow>
                                       <m:mo class="MathClass-close">]</m:mo>
                                    </m:mrow>
                                 </m:mrow>
                              </m:msubsup>
                           </m:mrow>
                           <m:mo class="MathClass-close">)</m:mo>
                        </m:mrow>
                     </m:mrow>
                  </m:mfenced>
               </m:mrow>
            </m:mfrac>
            <m:mo class="MathClass-punc">,</m:mo>
         </m:mtd>
      </m:mtr>
      <m:mtr>
         <m:mtd>
            <m:msup>
               <m:mrow>
                  <m:mstyle mathvariant="bold">
                     <m:mi>u</m:mi>
                  </m:mstyle>
               </m:mrow>
               <m:mrow>
                  <m:mo class="MathClass-bin">*</m:mo>
                  <m:mo class="MathClass-bin">*</m:mo>
                  <m:mrow>
                     <m:mo class="MathClass-open">[</m:mo>
                     <m:mrow>
                        <m:mi>k</m:mi>
                     </m:mrow>
                     <m:mo class="MathClass-close">]</m:mo>
                  </m:mrow>
               </m:mrow>
            </m:msup>
            <m:mo class="MathClass-rel">=</m:mo>
            <m:mfenced separators="" open="{" close="}">
               <m:mrow>
                  <m:msubsup>
                     <m:mrow>
                        <m:mi>u</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mi>j</m:mi>
                     </m:mrow>
                     <m:mrow>
                        <m:mo class="MathClass-bin">*</m:mo>
                        <m:mo class="MathClass-bin">*</m:mo>
                        <m:mrow>
                           <m:mo class="MathClass-open">[</m:mo>
                           <m:mrow>
                              <m:mi>k</m:mi>
                           </m:mrow>
                           <m:mo class="MathClass-close">]</m:mo>
                        </m:mrow>
                     </m:mrow>
                  </m:msubsup>
               </m:mrow>
            </m:mfenced>
            <m:mo class="MathClass-punc">,</m:mo>
         </m:mtd>
      </m:mtr>
      <m:mtr>
         <m:mtd/>
      </m:mtr>
   </m:mtable>
</m:mrow>
</m:math>
</display-formula></p>
<p>and</p>
<p><display-formula><m:math name="1471-2156-12-87-i51" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:msup>
      <m:mrow>
         <m:msub>
            <m:mrow>
               <m:mi>g</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>k</m:mi>
            </m:mrow>
         </m:msub>
      </m:mrow>
      <m:mrow>
         <m:mi>&#8242;</m:mi>
      </m:mrow>
   </m:msup>
   <m:mrow>
      <m:mo class="MathClass-open">(</m:mo>
      <m:mrow>
         <m:msub>
            <m:mrow>
               <m:mi>b</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>k</m:mi>
            </m:mrow>
         </m:msub>
         <m:mo class="MathClass-bin">+</m:mo>
         <m:msubsup>
            <m:mrow>
               <m:mo mathsize="big"> &#8721;</m:mo>
            </m:mrow>
            <m:mrow>
               <m:mi>j</m:mi>
               <m:mo class="MathClass-rel">=</m:mo>
               <m:mn>1</m:mn>
            </m:mrow>
            <m:mrow>
               <m:mi>n</m:mi>
            </m:mrow>
         </m:msubsup>
         <m:msub>
            <m:mrow>
               <m:mi>p</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>i</m:mi>
               <m:mi>j</m:mi>
            </m:mrow>
         </m:msub>
         <m:msubsup>
            <m:mrow>
               <m:mi>u</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>j</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mo class="MathClass-bin">*</m:mo>
               <m:mo class="MathClass-bin">*</m:mo>
               <m:mrow>
                  <m:mo class="MathClass-open">[</m:mo>
                  <m:mrow>
                     <m:mi>k</m:mi>
                  </m:mrow>
                  <m:mo class="MathClass-close">]</m:mo>
               </m:mrow>
            </m:mrow>
         </m:msubsup>
      </m:mrow>
      <m:mo class="MathClass-close">)</m:mo>
   </m:mrow>
   <m:msup>
      <m:mrow>
         <m:msup>
            <m:mrow>
               <m:mstyle mathvariant="bold">
                  <m:mi>u</m:mi>
               </m:mstyle>
            </m:mrow>
            <m:mrow>
               <m:mo class="MathClass-bin">*</m:mo>
               <m:mo class="MathClass-bin">*</m:mo>
            </m:mrow>
         </m:msup>
      </m:mrow>
      <m:mrow>
         <m:mrow>
            <m:mo class="MathClass-open">[</m:mo>
            <m:mrow>
               <m:mi>k</m:mi>
            </m:mrow>
            <m:mo class="MathClass-close">]</m:mo>
         </m:mrow>
      </m:mrow>
   </m:msup>
   <m:mo class="MathClass-rel">=</m:mo>
   <m:mn>4</m:mn>
   <m:msub>
      <m:mrow>
         <m:mi>P</m:mi>
      </m:mrow>
      <m:mrow>
         <m:mi>k</m:mi>
      </m:mrow>
   </m:msub>
   <m:mrow>
      <m:mo class="MathClass-open">(</m:mo>
      <m:mrow>
         <m:mn>1</m:mn>
         <m:mo class="MathClass-bin">-</m:mo>
         <m:msub>
            <m:mrow>
               <m:mi>P</m:mi>
            </m:mrow>
            <m:mrow>
               <m:mi>k</m:mi>
            </m:mrow>
         </m:msub>
      </m:mrow>
      <m:mo class="MathClass-close">)</m:mo>
   </m:mrow>
   <m:mo class="MathClass-punc">,</m:mo>
</m:mrow>
</m:math>
</display-formula></p>
<p>with</p>
<p><display-formula><m:math name="1471-2156-12-87-i52" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:mrow>
   <m:msub>
      <m:mi>P</m:mi>
      <m:mi>k</m:mi>
   </m:msub>
   <m:mo>=</m:mo>
   <m:mfrac>
      <m:mrow>
         <m:mi>exp</m:mi>
         <m:mrow>
            <m:mo>[</m:mo>
            <m:mrow>
               <m:mo>&#8722;</m:mo>
               <m:mn>2</m:mn>
               <m:mo stretchy="false">(</m:mo>
               <m:msub>
                  <m:mi>b</m:mi>
                  <m:mi>k</m:mi>
               </m:msub>
               <m:mo>+</m:mo>
               <m:mstyle displaystyle="true">
                  <m:msubsup>
                     <m:mo>&#8721;</m:mo>
                     <m:mrow>
                        <m:mi>j</m:mi>
                        <m:mo>=</m:mo>
                        <m:mn>1</m:mn>
                     </m:mrow>
                     <m:mi>n</m:mi>
                  </m:msubsup>
                  <m:mrow>
                     <m:msub>
                        <m:mi>p</m:mi>
                        <m:mrow>
                           <m:mi>i</m:mi>
                           <m:mi>j</m:mi>
                        </m:mrow>
                     </m:msub>
                     <m:msubsup>
                        <m:mi>u</m:mi>
                        <m:mi>j</m:mi>
                        <m:mrow>
                           <m:mo>*</m:mo>
                           <m:mo>*</m:mo>
                           <m:mo stretchy="false">[</m:mo>
                           <m:mi>k</m:mi>
                           <m:mo stretchy="false">]</m:mo>
                        </m:mrow>
                     </m:msubsup>
                  </m:mrow>
               </m:mstyle>
            </m:mrow>
            <m:mo>]</m:mo>
         </m:mrow>
      </m:mrow>
      <m:mrow>
         <m:mn>1</m:mn>
         <m:mo>+</m:mo>
         <m:mi>exp</m:mi>
         <m:mrow>
            <m:mo>[</m:mo>
            <m:mrow>
               <m:mo>&#8722;</m:mo>
               <m:mn>2</m:mn>
               <m:mo stretchy="false">(</m:mo>
               <m:msub>
                  <m:mi>b</m:mi>
                  <m:mi>k</m:mi>
               </m:msub>
               <m:mo>+</m:mo>
               <m:mstyle displaystyle="true">
                  <m:msubsup>
                     <m:mo>&#8721;</m:mo>
                     <m:mrow>
                        <m:mi>j</m:mi>
                        <m:mo>=</m:mo>
                        <m:mn>1</m:mn>
                     </m:mrow>
                     <m:mi>n</m:mi>
                  </m:msubsup>
                  <m:mrow>
                     <m:msub>
                        <m:mi>p</m:mi>
                        <m:mrow>
                           <m:mi>i</m:mi>
                           <m:mi>j</m:mi>
                        </m:mrow>
                     </m:msub>
                     <m:msubsup>
                        <m:mi>u</m:mi>
                        <m:mi>j</m:mi>
                        <m:mrow>
                           <m:mo>*</m:mo>
                           <m:mo>*</m:mo>
                           <m:mo stretchy="false">[</m:mo>
                           <m:mi>k</m:mi>
                           <m:mo stretchy="false">]</m:mo>
                        </m:mrow>
                     </m:msubsup>
                     <m:mo stretchy="false">)</m:mo>
                  </m:mrow>
               </m:mstyle>
            </m:mrow>
            <m:mo>]</m:mo>
         </m:mrow>
      </m:mrow>
   </m:mfrac>
   <m:mo>.</m:mo>
</m:mrow>
</m:math></display-formula></p>
<p>Thus, the so defined breeding value of individual <it>i </it>depends on the values of the input covariates observed on this individual, on all connection strengths and bias parameters from inputs to neurons in the middle layer (the <it>u's </it>and the <it>b's</it>), and on all connection strengths from the middle layer to the output layer (the <it>w's</it>). In order to obtain an estimate of breeding value the unknown quantities would replaced by the corresponding maximum a posteriori (MAP) estimates or, say, by the estimate of their posterior expectation if a Markov chain Monte Carlo scheme is applied <abbrgrp><abbr bid="B44">44</abbr></abbrgrp>.</p>
<p>Another issue is that of assessing the importance of an input relative to that of others. For example, in a linear regression model on markers, one could use a point estimate of the substitution effect or its "studentized" value (i.e., the point estimate divided by the corresponding posterior standard deviation), or some measure that involves estimates of substitution effects and of allelic frequencies. A discussion of some measures of relative importance of inputs in an ANN is in <abbrgrp><abbr bid="B28">28</abbr><abbr bid="B43">43</abbr></abbrgrp>, for example, the ratio between the absolute value of the estimate of a given connection strength, and the sum of the absolute values of all coefficients in the network.</p>
</sec>
<sec><st><p>Conclusion</p></st>
<p>Non-linear neural networks tended to outperform benchmark linear models in predictive ability, and clearly so in the wheat data. Bayesian regularization allowed estimation of all connection strengths even when <it>n&lt;&lt;p</it>, and the effective number of parameters was much smaller than the corresponding nominal number. Although the study was based on small samples, and the differences found may be reflective of random variation, especially in the Jersey data, our results suggest that the neural networks may be useful for predicting complex traits using high-dimensional genomic information, a situation where the number of coefficients that need to be estimated exceeds sample size. Neural networks have the ability of capturing nonlinearities, and do so adaptively, which may be useful in the study of quantitative traits under complex gene action, and particularly when prediction of outcomes is crucial, such as in personalized medicine.</p>
<p>In summary, predictive ability seemed to be enhanced by use of Bayesian neural networks. Due to small sample sizes no claim is made about superiority of any specific non-linear architecture. As it has been observed in many studies, the superiority of one predictive model over another depends on the species, trait and environment, and the same will surely hold for ANNs.</p>
</sec>
<sec><st><p>Abbreviations</p></st>
<p>ANN: artificial neural network; BR: Bayesian regularization; BRANN: Bayesian regularization artificial neural network; LASSO: Least absolute shrinkage and selection operator; MAP: Maximum a posterior; NN: Neural network; RKHS: Reproducing kernel Hilbert spaces regression; SNP: Single nucleotide polymorphism; SSE: Sum of squared error.</p>
</sec>
<sec><st><p>Competing interests</p></st>
<p>The authors declare that they have no competing interests.</p>
</sec>
<sec><st><p>Authors' contributions</p></st>
<p>DG conceived, drafted and wrote the manuscript; HO conceived, carried out the study, performed computations and wrote a part of the manuscript; KAW and GJMR helped to conceive and coordinate the study, provided critical insights and revised the manuscript. All authors read and approved the final manuscript.</p>
</sec>
</bdy>
<bm>
<ack>
<sec><st><p>Acknowledgements</p></st>
<p>Research was supported by the Wisconsin Agriculture Experiment Station and by grants from Aviagen, Ltd., Newbridge, Scotland, and Igenity/Merial, Duluth, Georgia, USA.</p>
</sec>
</ack>
<refgrp><bibl id="B1"><title><p>Prediction of total genetic value using genome-wide dense marker maps</p></title><aug><au><snm>Meuwissen</snm><fnm>THE</fnm></au><au><snm>Hayes</snm><fnm>BJ</fnm></au><au><snm>Goddard</snm><fnm>ME</fnm></au></aug><source>Genetics</source><pubdate>2001</pubdate><volume>157</volume><fpage>1819</fpage><lpage>1829</lpage><xrefbib><pubidlist><pubid idtype="pmcid">1461589</pubid><pubid idtype="pmpid" link="fulltext">11290733</pubid></pubidlist></xrefbib></bibl><bibl id="B2"><title><p>Reproducing kernel Hilbert spaces regression: A general framework for genetic evaluation</p></title><aug><au><snm>de los Campos</snm><fnm>G</fnm></au><au><snm>Gianola</snm><fnm>D</fnm></au><au><snm>Rosa</snm><fnm>GJM</fnm></au></aug><source>Journal of Animal Science</source><pubdate>2009</pubdate><volume>87</volume><fpage>1883</fpage><lpage>1887</lpage><xrefbib><pubidlist><pubid idtype="doi">10.2527/jas.2008-1259</pubid><pubid idtype="pmpid" link="fulltext">19213705</pubid></pubidlist></xrefbib></bibl><bibl id="B3"><title><p>Predicting genetic predisposition in humans: the promise of whole genome markers</p></title><aug><au><snm>de los Campos</snm><fnm>G</fnm></au><au><snm>Gianola</snm><fnm>D</fnm></au><au><snm>Allison</snm><fnm>DB</fnm></au></aug><source>Nature Reviews Genetics</source><pubdate>2010</pubdate><volume>11</volume><fpage>880</fpage><lpage>886</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1038/nrg2898</pubid><pubid idtype="pmpid" link="fulltext">21045869</pubid></pubidlist></xrefbib></bibl><bibl id="B4"><title><p>Semi-parametric genomic-enabled prediction of genetic values using reproducing kernel Hilbert spaces methods</p></title><aug><au><snm>de los Campos</snm><fnm>G</fnm></au><au><snm>Gianola</snm><fnm>D</fnm></au><au><snm>Rosa</snm><fnm>GJM</fnm></au><au><snm>Weigel</snm><fnm>KA</fnm></au><au><snm>Crossa</snm><fnm>J</fnm></au></aug><source>Genetics Research</source><pubdate>2010</pubdate><volume>92</volume><fpage>295</fpage><lpage>308</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1017/S0016672310000285</pubid><pubid idtype="pmpid">20943010</pubid></pubidlist></xrefbib></bibl><bibl id="B5"><title><p>Genomic assisted prediction of genetic value with semi-parametric procedures</p></title><aug><au><snm>Gianola</snm><fnm>D</fnm></au><au><snm>Fernando</snm><fnm>RL</fnm></au><au><snm>Stella</snm><fnm>A</fnm></au></aug><source>Genetics</source><pubdate>2006</pubdate><volume>173</volume><fpage>1761</fpage><lpage>1776</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1534/genetics.105.049510</pubid><pubid idtype="pmcid">1526664</pubid><pubid idtype="pmpid" link="fulltext">16648593</pubid></pubidlist></xrefbib></bibl><bibl id="B6"><title><p>Reproducing kernel hilbert spaces regression methods for genomic assisted prediction of quantitative traits</p></title><aug><au><snm>Gianola</snm><fnm>D</fnm></au><au><snm>van Kaam</snm><fnm>JBCHM</fnm></au></aug><source>Genetics</source><pubdate>2008</pubdate><volume>178</volume><fpage>2289</fpage><lpage>2303</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1534/genetics.107.084285</pubid><pubid idtype="pmcid">2323816</pubid><pubid idtype="pmpid" link="fulltext">18430950</pubid></pubidlist></xrefbib></bibl><bibl id="B7"><title><p>Inferring genetic values for quantitative traits non-parametrically</p></title><aug><au><snm>Gianola</snm><fnm>D</fnm></au><au><snm>de los Campos</snm><fnm>G</fnm></au></aug><source>Genetics Research</source><pubdate>2008</pubdate><volume>90</volume><fpage>525</fpage><lpage>540</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1017/S0016672308009890</pubid><pubid idtype="pmpid">19123970</pubid></pubidlist></xrefbib></bibl><bibl id="B8"><title><p>Radial basis function regression methods for predicting quantitative traits using SNP markers</p></title><aug><au><snm>Long</snm><fnm>N</fnm></au><au><snm>Gianola</snm><fnm>D</fnm></au><au><snm>Rosa</snm><fnm>GMJ</fnm></au><au><snm>Weigel</snm><fnm>KA</fnm></au><au><snm>Kranis</snm><fnm>A</fnm></au><au><snm>Gonz&#225;lez-Recio</snm><fnm>O</fnm></au></aug><source>Genetics Research</source><pubdate>2010</pubdate><volume>92</volume><issue>3</issue><fpage>209</fpage><lpage>25</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1017/S0016672310000157</pubid><pubid idtype="pmpid">20667165</pubid></pubidlist></xrefbib></bibl><bibl id="B9"><title><p>Predicting genetic values: a kernel-based best linear unbiased prediction with genomic data</p></title><aug><au><snm>Ober</snm><fnm>U</fnm></au><au><snm>Erbe</snm><fnm>M</fnm></au><au><snm>Long</snm><fnm>N</fnm></au><au><snm>Porcu</snm><fnm>E</fnm></au><au><snm>Schlather</snm><fnm>M</fnm></au><au><snm>Simianer</snm><fnm>H</fnm></au></aug><source>Genetics</source><pubdate>2011</pubdate><volume>188</volume><issue>3</issue><fpage>695</fpage><lpage>708</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1534/genetics.111.128694</pubid><pubid idtype="pmpid" link="fulltext">21515573</pubid></pubidlist></xrefbib></bibl><bibl id="B10"><title><p>Estimating UV Erythema1 irradiance by means of neural networks</p></title><aug><au><snm>Alados</snm><fnm>I</fnm></au><au><snm>Mellado</snm><fnm>JA</fnm></au><au><snm>Ramos</snm><fnm>F</fnm></au><au><snm>Alados-Arboledas</snm><fnm>L</fnm></au></aug><source>Photochemistry and Photobiology</source><pubdate>2004</pubdate><volume>80</volume><fpage>351</fpage><lpage>358</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1562/2004-03-12-RA-111.1</pubid><pubid idtype="pmpid" link="fulltext">15362949</pubid></pubidlist></xrefbib></bibl><bibl id="B11"><title><p><it>Pattern </it>Recognition and Machine Learning</p></title><aug><au><snm>Bishop</snm><fnm>CM</fnm></au></aug><publisher>Singapore: Springer</publisher><pubdate>2006</pubdate></bibl><bibl id="B12"><title><p>Advances in Artificial Intelligence</p></title><aug><au><snm>Lamontagne</snm><fnm>L</fnm></au><au><snm>Marchand</snm><fnm>M</fnm></au></aug><publisher>Berlin: Springer</publisher><pubdate>2006</pubdate></bibl><bibl id="B13"><title><p>Data Mining using Neural Networks: A Guide for Statisticians</p></title><aug><au><snm>Pereira</snm><fnm>BDB</fnm></au><au><snm>Rao</snm><fnm>CR</fnm></au></aug><pubdate>2009</pubdate><url>http://www.po.ufrj.br/basilio/publicacoes/livros/2009_datamining_using_neural_networks.pdf</url></bibl><bibl id="B14"><title><p>Bayesian approach for neural networks review and case studies</p></title><aug><au><snm>Lampinen</snm><fnm>J</fnm></au><au><snm>Vehtari</snm><fnm>A</fnm></au></aug><source>Neural Networks</source><pubdate>2001</pubdate><volume>14</volume><fpage>257</fpage><lpage>274</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1016/S0893-6080(00)00098-8</pubid><pubid idtype="pmpid" link="fulltext">11341565</pubid></pubidlist></xrefbib></bibl><bibl id="B15"><title><p>Likelihood, Bayesian and MCMC methods in quantitative genetics</p></title><aug><au><snm>Sorensen</snm><fnm>D</fnm></au><au><snm>Gianola</snm><fnm>D</fnm></au></aug><publisher>New York: Springer</publisher><pubdate>2002</pubdate></bibl><bibl id="B16"><title><p>Additive genetic variability and the Bayesian alphabet</p></title><aug><au><snm>Gianola</snm><fnm>D</fnm></au><au><snm>de los Campos</snm><fnm>G</fnm></au><au><snm>Hill</snm><fnm>WG</fnm></au><au><snm>Manfredi</snm><fnm>E</fnm></au><au><snm>Fernando</snm><fnm>R</fnm></au></aug><source>Genetics</source><pubdate>2009</pubdate><volume>183</volume><fpage>347</fpage><lpage>363</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1534/genetics.109.103952</pubid><pubid idtype="pmcid">2746159</pubid><pubid idtype="pmpid" link="fulltext">19620397</pubid></pubidlist></xrefbib></bibl><bibl id="B17"><title><p>Efficient methods to compute genomic predictions</p></title><aug><au><snm>Van Raden</snm><fnm>PM</fnm></au></aug><source>J Dairy Sci</source><pubdate>2008</pubdate><volume>91</volume><fpage>4414</fpage><lpage>4423</lpage><xrefbib><pubidlist><pubid idtype="doi">10.3168/jds.2007-0980</pubid><pubid idtype="pmpid" link="fulltext">18946147</pubid></pubidlist></xrefbib></bibl><bibl id="B18"><title><p>Baysian interpolation</p></title><aug><au><snm>MacKay</snm><fnm>DJC</fnm></au></aug><source>Neural Computation</source><pubdate>1992</pubdate><volume>4</volume><fpage>415</fpage><lpage>447</lpage><xrefbib><pubid idtype="doi">10.1162/neco.1992.4.3.415</pubid></xrefbib></bibl><bibl id="B19"><title><p>Bayesian methods for neural networks and related models</p></title><aug><au><snm>Titterington</snm><fnm>DM</fnm></au></aug><source>Statistical Science</source><pubdate>2004</pubdate><volume>19</volume><fpage>128</fpage><lpage>139</lpage><xrefbib><pubid idtype="doi">10.1214/088342304000000099</pubid></xrefbib></bibl><bibl id="B20"><title><p>Gauss-Newton approximation to Bayesian learning</p></title><aug><au><snm>Foresee</snm><fnm>FD</fnm></au><au><snm>Hagan</snm><fnm>MT</fnm></au></aug><source>Proc IEEE Int Conf Neural Networks</source><pubdate>1997</pubdate><fpage>1930</fpage><lpage>1935</lpage></bibl><bibl id="B21"><title><p>Inferences from mixed models in quantitative genetics</p></title><aug><au><snm>Gianola</snm><fnm>D</fnm></au></aug><source>Handbook of Statistical Genetics</source><publisher>West Sussex UK: John Wiley &amp; Sons</publisher><editor>Balding DJ, Bishop M, Cannings C</editor><edition>Third</edition><pubdate>2007</pubdate></bibl><bibl id="B22"><title><p>Marginal maximum likelihood estimation of variance components in Poisson mixed models using Laplace integration</p></title><aug><au><snm>Tempelman</snm><fnm>RJ</fnm></au><au><snm>Gianola</snm><fnm>D</fnm></au></aug><source>Genetics, Selection, Evolution</source><pubdate>1993</pubdate><volume>25</volume><fpage>305</fpage><lpage>319</lpage><xrefbib><pubid idtype="doi">10.1186/1297-9686-25-4-305</pubid></xrefbib></bibl><bibl id="B23"><title><p>Application of Bayesian regularized BP neural network model for trend analysis, acidity and chemical composition of precipitation in North</p></title><aug><au><snm>Xu</snm><fnm>M</fnm></au><au><snm>Zengi</snm><fnm>G</fnm></au><au><snm>Xu</snm><fnm>X</fnm></au><au><snm>Huang</snm><fnm>G</fnm></au><au><snm>Jiang</snm><fnm>R</fnm></au><au><snm>Sun</snm><fnm>W</fnm></au></aug><source>Water, Air, and Soil Pollution</source><pubdate>2006</pubdate><volume>172</volume><fpage>167</fpage><lpage>184</lpage><xrefbib><pubid idtype="doi">10.1007/s11270-005-9068-8</pubid></xrefbib></bibl><bibl id="B24"><title><p>Estimating variance components in a class of mixed models by restricted maximum likelihood</p></title><aug><au><snm>Smith</snm><fnm>SP</fnm></au><au><snm>Graser</snm><fnm>HU</fnm></au></aug><source>J Dairy Sci</source><pubdate>1986</pubdate><volume>69</volume><fpage>1165</fpage></bibl><bibl id="B25"><title><p>A derivative-free approach for estimating variance components in animal models by restricted maximum likelihood</p></title><aug><au><snm>Graser</snm><fnm>HU</fnm></au><au><snm>Smith</snm><fnm>SP</fnm></au><au><snm>Tier</snm><fnm>B</fnm></au></aug><source>J Anim Sci</source><pubdate>1987</pubdate><volume>64</volume><fpage>1362</fpage></bibl><bibl id="B26"><title><p>Selection of an artificial neural network model for the post-calibration of weather radar rainfall estimation</p></title><aug><au><snm>Hassami</snm><fnm>M</fnm></au><au><snm>Anctil</snm><fnm>F</fnm></au><au><snm>Viau</snm><fnm>AA</fnm></au></aug><source>Journal of Data Science</source><pubdate>2004</pubdate><volume>220</volume><fpage>107</fpage><lpage>124</lpage></bibl><bibl id="B27"><title><p>Information Theory, Inference and Learning Algorithms</p></title><aug><au><snm>MacKay</snm><fnm>JCD</fnm></au></aug><publisher>Cambridge; Cambridge University Press</publisher><pubdate>2008</pubdate></bibl><bibl id="B28"><title><p>Prediction of body mass index in mice using dense molecular markers and a regularized neural network</p></title><aug><au><snm>Okut</snm><fnm>H</fnm></au><au><snm>Gianola</snm><fnm>D</fnm></au><au><snm>Rosa</snm><fnm>GJM</fnm></au><au><snm>Weigel</snm><fnm>KA</fnm></au></aug><source>Genetics Research</source><pubdate>2011</pubdate><volume>93</volume><fpage>189</fpage><lpage>201</lpage><xrefbib><pubid idtype="doi">10.1017/S0016672310000662</pubid></xrefbib></bibl><bibl id="B29"><title><p>Neural Network Toolbox' 6 User's Guide</p></title><aug><au><snm>Beal</snm><fnm>MH</fnm></au><au><snm>Hagan</snm><fnm>MT</fnm></au><au><snm>Demuth</snm><fnm>HB</fnm></au></aug><publisher>The MathWorks, Inc</publisher><pubdate>2010</pubdate></bibl><bibl id="B30"><title><p>Application of support vector regressions to genome-assisted prediction of quantitative traits</p></title><aug><au><snm>Long</snm><fnm>N</fnm></au><au><snm>Gianola</snm><fnm>D</fnm></au><au><snm>Rosa</snm><fnm>GJM</fnm></au><au><snm>Weigel</snm><fnm>KA</fnm></au></aug><source>Theoretical and Applied Genetics</source><pubdate>2011</pubdate><note>(under review)</note></bibl><bibl id="B31"><title><p>Neural Networks: Comprehensive Foundation</p></title><aug><au><snm>Haykin</snm><fnm>S</fnm></au></aug><publisher>New York USA: Prentice-Hall</publisher><pubdate>2008</pubdate></bibl><bibl id="B32"><title><p>The impact of genetic relationship information on genome-assisted breeding values</p></title><aug><au><snm>Habier</snm><fnm>D</fnm></au><au><snm>Fernando</snm><fnm>RL</fnm></au><au><snm>Dekkers</snm><fnm>JCM</fnm></au></aug><source>Genetics</source><pubdate>2007</pubdate><volume>177</volume><issue>4</issue><fpage>2389</fpage><lpage>2397</lpage><xrefbib><pubidlist><pubid idtype="pmcid">2219482</pubid><pubid idtype="pmpid" link="fulltext">18073436</pubid></pubidlist></xrefbib></bibl><bibl id="B33"><title><p>Can you believe those genomic evaluations for young bulls?</p></title><aug><au><snm>Van Raden</snm><fnm>PM</fnm></au><au><snm>Tooker</snm><fnm>ME</fnm></au><au><snm>Cole</snm><fnm>JB</fnm></au></aug><source>Journal of Dairy Science</source><pubdate>2009</pubdate><volume>92</volume><issue>E-Suppl 1</issue><fpage>314</fpage></bibl><bibl id="B34"><title><p>Introduction to Quantitative Genetics</p></title><aug><au><snm>Falconer</snm><fnm>DS</fnm></au><au><snm>McKay</snm><fnm>TFC</fnm></au></aug><publisher>Malaysia: Longmans Green</publisher><pubdate>1996</pubdate></bibl><bibl id="B35"><title><p>Prediction of genetic values for quantitative traits in plant breeding using pedigree and molecular markers</p></title><aug><au><snm>Crossa</snm><fnm>J</fnm></au><au><snm>de los Campos</snm><fnm>G</fnm></au><au><snm>Perez</snm><fnm>P</fnm></au><au><snm>Gianola</snm><fnm>D</fnm></au><au><snm>Dreisigacker</snm><fnm>S</fnm></au><au><snm>Burgue&#241;o</snm><fnm>J</fnm></au><au><snm>Araus</snm><fnm>JL</fnm></au><au><snm>Makumb</snm><fnm>D</fnm></au><au><snm>Yan</snm><fnm>J</fnm></au><au><snm>Singh</snm><fnm>R</fnm></au><au><snm>Arief</snm><fnm>V</fnm></au><au><snm>Banzinger</snm><fnm>M</fnm></au><au><snm>Braun</snm><fnm>HJ</fnm></au></aug><source>Genetics</source><pubdate>2010</pubdate><volume>186</volume><fpage>713</fpage><lpage>724</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1534/genetics.110.118521</pubid><pubid idtype="pmcid">2954475</pubid><pubid idtype="pmpid" link="fulltext">20813882</pubid></pubidlist></xrefbib></bibl><bibl id="B36"><title><p>Genomic-enabled prediction based on molecular markers and pedigree using the Bayesian Linear Regression package in R</p></title><aug><au><snm>Perez</snm><fnm>P</fnm></au><au><snm>de los Campos</snm><fnm>G</fnm></au><au><snm>Crossa</snm><fnm>J</fnm></au><au><snm>Gianola</snm><fnm>D</fnm></au></aug><source>The Plant Genome</source><pubdate>2010</pubdate><volume>3</volume><fpage>106</fpage><lpage>116</lpage><xrefbib><pubidlist><pubid idtype="doi">10.3835/plantgenome2010.04.0005</pubid><pubid idtype="pmcid">3091623</pubid><pubid idtype="pmpid">21566722</pubid></pubidlist></xrefbib></bibl><bibl id="B37"><title><p>Invited review: Genomic selection in dairy cattle: Progress and challenges</p></title><aug><au><snm>Hayes</snm><fnm>BJ</fnm></au><au><snm>Bowman</snm><fnm>BJ</fnm></au><au><snm>Chamberlain</snm><fnm>AJ</fnm></au><au><snm>Goddard</snm><fnm>ME</fnm></au></aug><source>J Dairy Sci</source><pubdate>2009</pubdate><volume>92</volume><fpage>433</fpage><lpage>443</lpage><xrefbib><pubidlist><pubid idtype="doi">10.3168/jds.2008-1646</pubid><pubid idtype="pmpid" link="fulltext">19164653</pubid></pubidlist></xrefbib></bibl><bibl id="B38"><title><p>Neural networks for the prediction and forecasting of water resources variables: a review of modelling issues and applications</p></title><aug><au><snm>Maier</snm><fnm>HR</fnm></au><au><snm>Dandy</snm><fnm>CG</fnm></au></aug><source>Environmental Modelling &amp; Software</source><pubdate>2000</pubdate><volume>15</volume><fpage>101</fpage><lpage>124</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1016/S1364-8152(99)00007-9</pubid><pubid idtype="pmpid">22008626</pubid></pubidlist></xrefbib></bibl><bibl id="B39"><title><p>Neural Network Toolbox&#8482; 6 User's Guide</p></title><aug><au><snm>Demuth</snm><fnm>H</fnm></au><au><snm>Beale</snm><fnm>M</fnm></au><au><snm>Hagan</snm><fnm>M</fnm></au></aug><publisher>The MathWorks, Inc</publisher><pubdate>2009</pubdate></bibl><bibl id="B40"><title><p>Ensembles of Bayesian-regularized genetic neural networks for modeling of acetylcholinesterase inhibition by huprines</p></title><aug><au><snm>Fernandez</snm><fnm>M</fnm></au><au><snm>Caballero</snm><fnm>J</fnm></au></aug><source>Chem Biol Drug Des</source><pubdate>2006</pubdate><volume>68</volume><fpage>201</fpage><lpage>212</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1111/j.1747-0285.2006.00435.x</pubid><pubid idtype="pmpid" link="fulltext">17105484</pubid></pubidlist></xrefbib></bibl><bibl id="B41"><title><p>Modelling blood-brain barrier partitioning using Bayesian neural nets</p></title><aug><au><snm>Winkler</snm><fnm>DA</fnm></au><au><snm>Burden</snm><fnm>FR</fnm></au></aug><source>Journal of Molecular Graphics and Modelling</source><pubdate>2004</pubdate><volume>22</volume><fpage>499</fpage><lpage>505</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1016/j.jmgm.2004.03.010</pubid><pubid idtype="pmpid" link="fulltext">15182809</pubid></pubidlist></xrefbib></bibl><bibl id="B42"><title><p>Neural network modelling of coastal algal blooms</p></title><aug><au><snm>Joseph</snm><fnm>H</fnm></au><au><snm>Huang</snm><fnm>WL</fnm></au><au><snm>Dickman</snm><fnm>M</fnm></au></aug><source>Ecol Model</source><pubdate>2003</pubdate><volume>159</volume><fpage>179</fpage><lpage>201</lpage><xrefbib><pubid idtype="doi">10.1016/S0304-3800(02)00281-8</pubid></xrefbib></bibl><bibl id="B43"><title><p>Comparison of linear and nonlinear classification algorithms for the prediction of drug and chemical metabolism by human UDP-Glucuronosyltransferase isoforms</p></title><aug><au><snm>Sorich</snm><fnm>MJ</fnm></au><au><snm>Miners</snm><fnm>JO</fnm></au><au><snm>Ross</snm><fnm>AM</fnm></au><au><snm>Winker</snm><fnm>DA</fnm></au><au><snm>Burden</snm><fnm>FR</fnm></au><au><snm>Smith</snm><fnm>PA</fnm></au></aug><source>J Chem Inf Comput Sci</source><pubdate>2003</pubdate><volume>43</volume><fpage>2019</fpage><lpage>2024</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1021/ci034108k</pubid><pubid idtype="pmpid" link="fulltext">14632453</pubid></pubidlist></xrefbib></bibl><bibl id="B44"><title><p>Beyond missing heritability: prediction of complex traits</p></title><aug><au><snm>Makowski</snm><fnm>R</fnm></au><au><snm>Pajewski</snm><fnm>NM</fnm></au><au><snm>Klimentidis</snm><fnm>YC</fnm></au><au><snm>Vazquez</snm><fnm>AI</fnm></au><au><snm>Duarte</snm><fnm>CW</fnm></au><au><snm>Allison</snm><fnm>DA</fnm></au><au><snm>de los Campos</snm><fnm>G</fnm></au></aug><source>PLOS Genetics</source><pubdate>2011</pubdate><volume>7</volume><fpage>1</fpage><lpage>9</lpage></bibl></refgrp>
</bm>
</art>