<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s90806312</article-id>
<article-id pub-id-type="publisher-id">sensors-09-06312</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>A Comparison of RBF Neural Network Training Algorithms for Inertial Sensor Based Terrain Classification</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Kurban</surname><given-names>Tuba</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Beşdok</surname><given-names>Erkan</given-names></name><xref ref-type="corresp" rid="c1-sensors-09-06312"><sup>*</sup></xref></contrib>
<aff id="af1-sensors-09-06312">Geomatics Engineering, Engineering Faculty, Erciyes University, Turkey E-Mail: <email>tubac@erciyes.edu.tr</email> (T.K.)</aff></contrib-group>
<author-notes>
<corresp id="c1-sensors-09-06312">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>ebesdok@erciyes.edu.tr</email>; Tel.: +90-352-4374901-32650; Fax: +90-352-4375784</corresp></author-notes>
<pub-date pub-type="collection">
<year>2009</year></pub-date>
<pub-date pub-type="epub">
<day>12</day>
<month>8</month>
<year>2009</year></pub-date>
<volume>9</volume>
<issue>8</issue>
<fpage>6312</fpage>
<lpage>6329</lpage>
<history>
<date date-type="received">
<day>13</day>
<month>5</month>
<year>2009</year></date>
<date date-type="rev-recd">
<day>25</day>
<month>6</month>
<year>2009</year></date>
<date date-type="accepted">
<day>30</day>
<month>7</month>
<year>2009</year></date></history>
<permissions>
<copyright-statement>© 2009 by the authors; licensee MDPI, Basel, Switzerland</copyright-statement>
<copyright-year>2009</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>This paper introduces a comparison of training algorithms of radial basis function (RBF) neural networks for classification purposes. RBF networks provide effective solutions in many science and engineering fields. They are especially popular in the pattern classification and signal processing areas. Several algorithms have been proposed for training RBF networks. The Artificial Bee Colony (ABC) algorithm is a new, very simple and robust population based optimization algorithm that is inspired by the intelligent behavior of honey bee swarms. The training performance of the ABC algorithm is compared with the Genetic algorithm, Kalman filtering algorithm and gradient descent algorithm. In the experiments, not only well known classification problems from the UCI repository such as the Iris, Wine and Glass datasets have been used, but also an experimental setup is designed and inertial sensor based terrain classification for autonomous ground vehicles was also achieved. Experimental results show that the use of the ABC algorithm results in better learning than those of others.</p></abstract>
<kwd-group>
<kwd>radial basis neural networks</kwd>
<kwd>terrain classification</kwd>
<kwd>inertial navigation sensors</kwd>
<kwd>genetic algorithm</kwd>
<kwd>artificial bee colony algorithm</kwd>
<kwd>Kalman filtering</kwd>
<kwd>gradient descent</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Agricultural applications, search/rescue missions, surveillance, supply and logistics are some of the operational fields of autonomous ground vehicles. These operations may necessitate for traversing some off-road or indoor terrains that can have an effect on the vehicle performance [<xref ref-type="bibr" rid="b1-sensors-09-06312">1</xref>]. In such operations, determining the environment of the vehicle improves its efficiency. Estimation of the current terrain type can be useful since the terrain conditions affect both planning and motion control stages [<xref ref-type="bibr" rid="b2-sensors-09-06312">2</xref>]. An automated terrain-dependent driving process can be obtained with terrain classification. In the literature, computer vision based algorithms are commonly used to classify the terrain which is being traversed [<xref ref-type="bibr" rid="b3-sensors-09-06312">3</xref>,<xref ref-type="bibr" rid="b4-sensors-09-06312">4</xref>]. However, these methods can be unreliable and their performance mostly depend on the lighting conditions. Vibrations of the ground vehicles obtained by inertial sensors can also be used to classify or characterize the terrain [<xref ref-type="bibr" rid="b5-sensors-09-06312">5</xref>].</p>
<p>A radial basis function (RBF) network is a special type of neural network that uses a radial basis function as its activation function [<xref ref-type="bibr" rid="b6-sensors-09-06312">6</xref>]. RBF networks are very popular for function approximation, curve fitting, time series prediction, control and <italic>classification</italic> problems. The radial basis function network is different from other neural networks, possessing several distinctive features. Because of their universal approximation, more compact topology and faster learning speed, RBF networks have attracted considerable attention and they have been widely applied in many science and engineering fields [<xref ref-type="bibr" rid="b7-sensors-09-06312">7</xref>–<xref ref-type="bibr" rid="b11-sensors-09-06312">11</xref>].</p>
<p>In RBF networks, determination of the number of neurons in the hidden layer is very important because it affects the network complexity and the generalizing capability of the network. If the number of the neurons in the hidden layer is insufficient, the RBF network cannot learn the data adequately; on the other hand, if the neuron number is too high, poor generalization or an overlearning situation may occur [<xref ref-type="bibr" rid="b12-sensors-09-06312">12</xref>]. The position of the centers in the hidden layer also affects the network performance considerably [<xref ref-type="bibr" rid="b13-sensors-09-06312">13</xref>], so determination of the optimal locations of centers is an important task. In the hidden layer, each neuron has an activation function. The gaussian function, which has a spread parameter that controls the behavior of the function, is the most preferred activation function. The training procedure of RBF networks also includes the optimization of spread parameters of each neuron. Afterwards, the weights between the hidden layer and the output layer must be selected appropriately. Finally, the bias values which are added with each output are determined in the RBF network training procedure.</p>
<p>In the literature, various algorithms are proposed for training RBF networks, such as the gradient descent (GD) algorithm [<xref ref-type="bibr" rid="b14-sensors-09-06312">14</xref>] and Kalman filtering (KF) [<xref ref-type="bibr" rid="b13-sensors-09-06312">13</xref>]. These two algorithms are derivative based and have some weaknesses such as converging to a local minima and time-consuming process of finding the optimal gradient. Because of these limitations, several global optimization methods have been used for training RBF networks for different science and engineering problems such as genetic algorithms (GA) [<xref ref-type="bibr" rid="b15-sensors-09-06312">15</xref>], the particle swarm optimization (PSO) algorithm [<xref ref-type="bibr" rid="b12-sensors-09-06312">12</xref>], the artificial immune system (AIS) algorithm [<xref ref-type="bibr" rid="b16-sensors-09-06312">16</xref>] and the differential evolution (DE) algorithm [<xref ref-type="bibr" rid="b17-sensors-09-06312">17</xref>].</p>
<p>The ABC algorithm is a population based evolutional optimization algorithm that can be applied to various types of problems. The ABC algorithm is used for training feed forward multi-layer perceptron neural networks by using test problems such as XOR, 3-bit parity and 4-bit encoder/decoder problems [<xref ref-type="bibr" rid="b18-sensors-09-06312">18</xref>]. In this study, training the RBF network with ABC algorithm has been proposed and the training performance of the ABC algorithm has been compared with GD [<xref ref-type="bibr" rid="b14-sensors-09-06312">14</xref>], KF [<xref ref-type="bibr" rid="b13-sensors-09-06312">13</xref>] and GA on classification test problems and an inertial sensor based terrain classification problem.</p>
<p>The rest of the paper is organized as follows: Section 2 presents <italic>Radial Basis Function Networks</italic> and Section 3 gives brief descriptions of training algorithms of RBF networks. Section 4 illustrates the <italic>Artificial Bee Colony (ABC) Algorithm</italic>. Section 5 presents <italic>Training of RBF Neural Networks by Using ABC</italic>. In Section 6, the performance of training algorithms of RBF network that is applied to classification problems have been evaluated and experimental results have been given. Finally, in the last section, some concluding remarks are presented.</p></sec>
<sec>
<label>2.</label>
<title>Radial Basis Function Networks</title>
<p>Neural networks are non-linear statistical data modeling tools and can be used to model complex relationships between inputs and outputs or to find patterns in a dataset. RBF network is a type of feed forward neural network composed of three layers, namely the input layer, the hidden layer and the output layer. Each of these layers has different tasks [<xref ref-type="bibr" rid="b17-sensors-09-06312">17</xref>]. A general block diagram of an RBF network is illustrated in <xref ref-type="fig" rid="f1-sensors-09-06312">Figure 1</xref>.</p>
<p>In RBF networks, the outputs of the input layer are determined by calculating the distance between the network inputs and hidden layer centers. The second layer is the linear hidden layer and outputs of this layer are weighted forms of the input layer outputs. Each neuron of the hidden layer has a parameter vector called center. Therefore, a general expression of the network can be given as [<xref ref-type="bibr" rid="b19-sensors-09-06312">19</xref>]:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>I</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi mathvariant="italic">ij</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">‖</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula></p>
<p>The norm is usually taken to be the Euclidean distance and the radial basis function is also taken to be Gaussian function and defined as follows:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi>φ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mtext>exp</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>α</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">‖</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>where,
<table-wrap position="anchor">
<table frame="void" rules="none">
<tbody>
<tr>
<td align="center" valign="top"><italic>I</italic></td>
<td align="left" valign="top">Number of neurons in the hidden layer</td>
<td align="left" valign="top"><italic>i</italic> ∈ {1,2,…,<italic>I</italic>}</td></tr>
<tr>
<td align="center" valign="top"><italic>J</italic></td>
<td align="left" valign="top">Number of neurons in the output layer</td>
<td align="left" valign="top"><italic>j</italic> ∈ {1,2,…,<italic>J</italic>}</td></tr>
<tr>
<td align="center" valign="top"><italic>w<sub>ij</sub></italic></td>
<td align="left" valign="top">Weight of the <italic>i</italic><sup>th</sup> neuron and <italic>j</italic><sup>th</sup> output</td>
<td align="left" valign="top"/></tr>
<tr>
<td align="center" valign="top"><italic>ϕ</italic></td>
<td align="left" valign="top">Radial basis function</td>
<td align="left" valign="top"/></tr>
<tr>
<td align="center" valign="top"><italic>α<sub>i</sub></italic></td>
<td align="left" valign="top">Spread parameter of the <italic>i</italic><sup>th</sup> neuron</td>
<td align="left" valign="top"/></tr>
<tr>
<td align="center" valign="top"><bold>x</bold></td>
<td align="left" valign="top">Input data vector</td>
<td align="left" valign="top"/></tr>
<tr>
<td align="center" valign="top"><bold>c</bold><italic><sub>i</sub></italic></td>
<td align="left" valign="top">Center vector of the <italic>i</italic><sup>th</sup> neuron</td>
<td align="left" valign="top"/></tr>
<tr>
<td align="center" valign="top"><italic>β<sub>j</sub></italic></td>
<td align="left" valign="top">Bias value of the output <italic>j</italic><sup>th</sup> neuron</td>
<td align="left" valign="top"/></tr>
<tr>
<td align="center" valign="top"><italic>ŷ<sub>j</sub></italic></td>
<td align="left" valign="top">Network output of the <italic>j</italic><sup>th</sup> neuron</td>
<td align="left" valign="top"/></tr></tbody></table></table-wrap></p>
<p><xref ref-type="fig" rid="f2-sensors-09-06312">Figure 2</xref> shows the detailed architecture of an RBF network. <italic>M</italic> dimensional inputs (<italic>x<sub>1</sub></italic>,…,<italic>x<sub>m</sub></italic>) are located in the input layer, which broadcast the inputs to the hidden layer. The hidden layer includes <italic>I</italic> neurons and each neuron in this layer calculates the Euclidean distance between the centers and the inputs. A neuron in the hidden layer has an activation function called the basis function. In the literature, the Gaussian function is frequently chosen as the radial basis function and it has a spread parameter to shape the curve (<italic>α<sub>1</sub></italic>,…,<italic>α<sub>i</sub></italic>). The weighted (<italic>w<sub>11</sub></italic>,…,<italic>w<sub>ij</sub></italic>) outputs of the hidden layer are transmitted to the output layer. Here, <italic>I</italic> (<italic>i</italic> ∈ {1,2,…,<italic>I</italic>}) denotes the number of neurons in the hidden layer and <italic>J</italic> (<italic>j</italic> ∈ {1,2,…,<italic>J</italic>}) denotes the dimension of the output. The output layer calculates the linear combination of hidden layer outputs and bias parameters (<italic>β<sub>1</sub></italic>,…,<italic>β<sub>j</sub></italic>). Finally, the outputs of the RBF network are obtained (<italic>ŷ<sub>1</sub></italic>,…,<italic>ŷ<sub>j</sub></italic>).</p>
<p>The design procedure of the RBF neural network includes determining the number of neurons in the hidden layer. Then, in order to obtain the desired output of the RBF neural network <italic>w</italic>, <italic>α</italic>, c and <italic>β</italic> parameters might be adjusted properly. Reference based error metrics such as mean square error (MSE) or sum square error (SSE) can be used to evaluate the performance of the network. Error expression for the RBF network can be defined as follows:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math display="block">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mtext>SSE</mml:mtext></mml:msup>
<mml:mo> </mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>β</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>J</mml:mi></mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>j</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Here <italic>y<sub>j</sub></italic> indicates the desired output and <italic>ŷ<sub>j</sub></italic> indicates the RBF neural network output. The training procedure of the RBF neural network involves minimizing the error function.</p></sec>
<sec>
<label>3.</label>
<title>Training Algorithms of RBF Networks</title>
<p>This section gives brief descriptions of training algorithms of RBF networks which were used in this paper for comparison purposes. The artificial bee colony (ABC) algorithm, which is newly applied to RBF training, is explained in detail in Section 4.</p>
<sec>
<label>3.1.</label>
<title>Gradient Descent (GD) Algorithm</title>
<p>GD is a first-order derivative based optimization algorithm used for finding a local minimum of a function. The algorithm takes steps proportional to the negative of the gradient of the function at the current point. In [<xref ref-type="bibr" rid="b13-sensors-09-06312">13</xref>], the output of a RBF network has been written as:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math display="block">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>J</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>21</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>21</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>J</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi mathvariant="italic">IJ</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>⋅</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>φ</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo stretchy="false">‖</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>.</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>φ</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi></mml:mrow>
<mml:mi>I</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">‖</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>and
<disp-formula id="FD5">
<label>(5)</label>
<mml:math display="block">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>=</mml:mo>
<mml:mi>W</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:mi>H</mml:mi></mml:mrow></mml:math></disp-formula>where the weight matrix is represented as <italic>W</italic> and <italic>φ</italic> matrix is represented as <italic>H</italic>. GD algorithm can be implemented to minimize the error after defining the error function:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mo>−</mml:mo>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mrow></mml:math></disp-formula>where <italic>Y</italic> is the desired output. RBF can be optimized with adjusting the weights and center vectors by iteratively computing the partials and performing the following updates:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi mathvariant="italic">ij</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi mathvariant="italic">ij</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>η</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:mi>E</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi mathvariant="italic">ij</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:mo> </mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>η</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:mi>E</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:mi mathvariant="bold">c</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <italic>η</italic> is the step size [<xref ref-type="bibr" rid="b13-sensors-09-06312">13</xref>].</p></sec>
<sec>
<label>3.2.</label>
<title>Kalman Filtering (KF) Algorithm</title>
<p>The state of a linear dynamic system can be efficiently estimated by Kalman filter from a series of noisy measurements. It is used in a wide range of engineering applications from INS/GPS integration [<xref ref-type="bibr" rid="b20-sensors-09-06312">20</xref>] to computer vision and many applications in control theory. A nonlinear finite dimensional discrete time system has been considered in [<xref ref-type="bibr" rid="b13-sensors-09-06312">13</xref>] as:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>ω</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where the vector <italic>θ<sub>k</sub></italic> is the state of the system at time <italic>k</italic>, <italic>ω<sub>k</sub></italic> is the process noise, <italic>y<sub>k</sub></italic> the observation vector, <italic>v<sub>k</sub></italic> is the observation noise and <italic>h</italic> is the nonlinear vector function of the state.</p>
<p>KF can be used to optimize weight matrix and center vectors of RBF as a least squares minimization problem. In a RBF network, <italic>y</italic> denotes the target output vector and <italic>h</italic>(<italic>θ<sub>k</sub></italic>) denotes actual output of the <italic>k</italic>th iteration of the optimization algorithm.
<disp-formula id="FD9">
<label>(9)</label>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mi>y</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo>…</mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>J</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo>…</mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>J</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The vector <italic>θ</italic> thus consists of all RBF parameters:
<disp-formula id="FD10">
<label>(10)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi>θ</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn></mml:mrow></mml:msub>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">IJ</mml:mi></mml:mrow></mml:msub>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi></mml:mrow>
<mml:mi>I</mml:mi></mml:msub>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></disp-formula></p>
<p>For a detailed explanation of the use of GD and KF for RBF training see [<xref ref-type="bibr" rid="b13-sensors-09-06312">13</xref>].</p></sec>
<sec>
<label>3.3.</label>
<title>Genetic Algorithms (GA)</title>
<p>GA is an optimization method used in many research areas to find exact or approximate solutions to optimization and search problems. Inheritance, mutation, selection and crossover are the main aspects of GA that inspired from evolutionary biology. The population refers to the candidate solutions. The evolution starts from a randomly generated population. For all generations, the fitness (typically a cost function) of every individual in the population is evaluated and the genetic operators are implemented to obtain a new population. In the next iteration the new population is then used. Frequently, GA terminates when either a maximum number of generations has been reached, or a predefined fitness value has been achieved. In RBF training, the individuals consist of the RBF parameters such as weights, spread parameters, center vectors and bias parameters. The fitness value of an individual can be evaluated using an error function such as MSE or SSE of the desired output and the actual output of the network.</p></sec></sec>
<sec>
<label>4.</label>
<title>The Artificial Bee Colony (ABC) Algorithm</title>
<p>The Artificial Bee Colony algorithm is a heuristic optimization algorithm proposed by Karaboga in 2005 [<xref ref-type="bibr" rid="b21-sensors-09-06312">21</xref>]. The ABC algorithm has been inspired by honey bees’ intelligent foraging behavior. In the ABC model, the colony consists of three different bee groups, namely worker bees, onlooker bees and scout bees. For each food source there is only one associated employed bee. So, the number of the worker bees indicates the number of the food sources. Honey bees’ intelligent foraging behavior can be explained as follows: worker bees go to their food sources, after determining the nectar amount for that food source they explore new neighboring food sources. Then, they come back and dance around the hive. Onlooker bees which are watching the dance of the worker bees, choose a food source according to the worker bees’ dances. Probability of the food source that will be chosen is related with the quality of the food nectar and the left food amount. If a food source cannot be improved further through a predefined number of cycles, then the source is abandoned. Subsequently, randomly produced new sources are replaced with the abandoned ones by scouts. The best food source is determined and position of that food source is memorized. This cycle is repeated until requirements are met [<xref ref-type="bibr" rid="b21-sensors-09-06312">21</xref>–<xref ref-type="bibr" rid="b23-sensors-09-06312">23</xref>]. The basic flowchart of the ABC algorithm is illustrated in <xref ref-type="fig" rid="f3-sensors-09-06312">Figure 3</xref>.</p>
<p>In the ABC algorithm, a food source indicates a possible solution of the optimization problem and the nectar amount of the food source indicates the fitness value of that food source. The number of worker bees corresponds to the possible solutions. First, an initial randomly distributed population is generated. After initialization, a search cycle of the worker, onlooker and scout bees in the population is repeated, respectively. A worker bee changes the food source and discovers a new food source. If the nectar amount of the new source is more than the old one, the worker bee learns the new position instead of the old one. Otherwise it keeps the old position. After all the worker bees complete the search process; they share the position information with the onlooker bees. Onlooker bees evaluate the nectar amounts and choose a food source. The probability value of a food source is calculated by using:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">SN</mml:mi></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi></mml:mrow>
<mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula>where <italic>p<sub>i</sub></italic> is the probability value of the source <italic>i</italic>, <italic>f<sub>i</sub></italic> is the fitness value of the solution <italic>i</italic> that is proportional with the nectar amount and <italic>SN</italic> is the number of the food sources or worker bees.</p>
<p>ABC algorithm uses <xref ref-type="disp-formula" rid="FD12">equation 12</xref> to obtain a new food position from the old position in the memory:
<disp-formula id="FD12">
<label>(12)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi mathvariant="italic">ij</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi mathvariant="italic">ij</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Θ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ij</mml:mi></mml:mrow></mml:msub>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi mathvariant="italic">ij</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi mathvariant="italic">kj</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>where <italic>j</italic> ∈ {1,2,…,<italic>SN</italic>} and <italic>i</italic> ∈ {1,2,…,<italic>D</italic>} are the randomly selected indices and <italic>j</italic> must be different from <italic>i. D</italic> indicates the number of the parameters to be optimized. Θ<italic><sub>ij</sub></italic> is a random number between [−1, 1] and this number controls the production of the food sources around x<sub>ij</sub> As can be seen from <xref ref-type="disp-formula" rid="FD12">equation 12</xref>, if the difference between x<sub>ij</sub> and x<sub>kj</sub> decreases, the step size get a decrease, accordingly. Therefore, the step size is adaptively modified while the algorithm reaches the optimal solution in the search area. The food source which does not progress for a certain number of cycles is abandoned. This cycle number is very important for ABC algorithm and is called “limit”. Control parameters of the ABC algorithm are number of the source (<italic>SN</italic>), limit parameter and number of the maximum cycle [<xref ref-type="bibr" rid="b24-sensors-09-06312">24</xref>,<xref ref-type="bibr" rid="b25-sensors-09-06312">25</xref>].</p></sec>
<sec>
<label>5.</label>
<title>Training of RBF Neural Networks by Using ABC</title>
<p>As mentioned before, training of an RBF neural network can be obtained with the selection of the optimal values for the following parameters:
<list list-type="bullet">
<list-item>
<p>weights between the hidden layer and the output layer (<italic>w</italic>)</p></list-item>
<list-item>
<p>spread parameters of the hidden layer base function (<italic>α</italic>)</p></list-item>
<list-item>
<p>center vectors of the hidden layer (<italic>c</italic>)</p></list-item>
<list-item>
<p>bias parameters of the neurons of the output layer (<italic>β</italic>)</p></list-item></list></p>
<p>The number of neurons in the hidden layer is very important in neural networks. Using more neurons than that is needed causes an overlearned network and moreover, increases the complexity. Therefore, it has to be investigated how the numbers of neurons affect the network’s performance.</p>
<p>The individuals of the population of ABC include the parameters of the weight (<italic>w⃗</italic>), spread (<italic>α⃗</italic>), center (<italic>c⃗</italic>) and bias (<italic>β⃗</italic>) vectors. An individual of the population of ABC algorithm can be expressed as:
<disp-formula id="FD13">
<label>(13)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>→</mml:mo></mml:mover>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mover accent="true">
<mml:mi>α</mml:mi>
<mml:mo>→</mml:mo></mml:mover>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mover accent="true">
<mml:mi>c</mml:mi>
<mml:mo>→</mml:mo></mml:mover>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mover accent="true">
<mml:mi>β</mml:mi>
<mml:mo>→</mml:mo></mml:mover></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>The quality of the individuals (possible solutions) can be calculated using an appropriate cost function. In the implementation, SSE between the actual output of the RBF network and the desired output is adopted as the fitness function:
<disp-formula id="FD14">
<label>(14)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi mathvariant="normal">f</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mtext>SSE</mml:mtext></mml:msup></mml:mrow></mml:math></disp-formula></p></sec>
<sec>
<label>6.</label>
<title>Experiments</title>
<p>The experiments conducted in this study are divided into two sub-sections. First, comparisons on well-known classification problems obtained from UCI repository are given. The second part of this section deals with terrain classification problem using inertial sensors in which the data was obtained experimentally.</p>
<sec>
<label>6.1.</label>
<title>Comparison of Algorithms on Test Problems</title>
<p>In the experiments of test problems, the performance of RBF network trained by using ABC is compared with GA, KF and GD algorithms. The well-known classification problems—Iris, Wine and Glass—which were obtained from UCI repository [<xref ref-type="bibr" rid="b26-sensors-09-06312">26</xref>] are used.</p>
<p>For all datasets, experiments are repeated 30 times. For each run, datasets are randomly divided into train and test subsets. 60% of the data set is randomly selected as the training data and remained data set is selected as the testing data. Afterwards, average and standard deviation of the 30 independent runs are calculated. General characteristics of the test and train dataset are illustrated in <xref ref-type="table" rid="t1-sensors-09-06312">Table 1</xref>.</p>
<p>One of the most important design issue of an RBF network is the number of the neurons in the hidden layer. Therefore, the experiments are conducted on different RBF networks which has 1 neuron to 8 neurons located in the hidden layer.</p>
<p>In the experiments, learning parameter of GD is selected as <italic>η</italic> = 0.01 [<xref ref-type="bibr" rid="b13-sensors-09-06312">13</xref>]. For the KF algorithm <italic>P0</italic> = 40<italic>I</italic>, <italic>Q</italic> = 40<italic>I</italic>, and <italic>R</italic> = 40<italic>I</italic> are chosen [<xref ref-type="bibr" rid="b13-sensors-09-06312">13</xref>]. Here, <italic>I</italic> denotes the appropriate sized identity matrix. The control parameters of GA and ABC used in the experiments are given at <xref ref-type="table" rid="t2-sensors-09-06312">Tables 2</xref> and <xref ref-type="table" rid="t3-sensors-09-06312">3</xref>, respectively.</p>
<p>In the experiments percent of correctly classified samples (PCCS) metric is used as the performance measure:
<disp-formula id="FD15">
<label>(15)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi mathvariant="italic">PCCS</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">Correctly</mml:mi>
<mml:mo> </mml:mo>
<mml:mi mathvariant="italic">Classified</mml:mi>
<mml:mo> </mml:mo>
<mml:mi mathvariant="italic">Samples</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">Total</mml:mi>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi mathvariant="italic">Samples</mml:mi></mml:mrow></mml:mfrac>
<mml:mo>×</mml:mo>
<mml:mn>100</mml:mn></mml:mrow></mml:math></disp-formula></p>
<p>The statistical results of 30 replicates are given at <xref ref-type="table" rid="t4-sensors-09-06312">Tables 4</xref>—6 for Iris, Wine and Glass datasets, respectively. In the tables, the average PCCS values and the standard deviations (given in the parenthesis) are illustrated.</p>
<p>Gradient descent algorithm is a traditional derivative based method that is used for training RBF networks [<xref ref-type="bibr" rid="b14-sensors-09-06312">14</xref>]. However, it has some drawbacks such as trapping at local minima and computational complexity in consequence of slow convergence rate.</p>
<p>Kalman filtering is another derivative based method and several studies are performed for training RBF network with Kalman filtering [<xref ref-type="bibr" rid="b13-sensors-09-06312">13</xref>]. It converges in a few iterations so it reduces the computational complexity. Therefore, Kalman filtering is preferable over GD because of this feature.</p>
<p>GA is population based evolutional optimization algorithm and it has been used for training RBF network in several studies [<xref ref-type="bibr" rid="b27-sensors-09-06312">27</xref>]. Because of non-derivative based characteristic, it is distinguished from previous two algorithms and it is more robust for finding the global minimum. However, population based methods have a disadvantage such as slow converging rate. In this study, MATLAB Genetic Algorithms Toolbox<sup>®</sup> is used to perform the experiments with GA. Population size and generation/cycle count are the same with ABC settings for comparing the training performances.</p>
<p>ABC is an evolutional optimization algorithm that is inspired by the foraging behavior of honey bees. It is a very simple and robust optimization technique. The results show that the ABC algorithm is more robust than GA because of the changes in standard deviations. Average results of the training results show that the ABC algorithm is better than the other methods.</p>
<p>As can be seen from <xref ref-type="table" rid="t4-sensors-09-06312">Tables 4</xref>—6, the performance of the ABC algorithm is better than the performances of the GD and KF methods. The performance of the ABC algorithm is nearly same with GA. However, standard deviations of the algorithms have pointed that ABC is more robust and stable than other methods. For the Iris, Wine and Glass datasets, standard deviations of the four algorithms can be seen in the tables. These results show that randomly selected data do not affect the performance of the ABC algorithm.</p>
<p>In addition, the number of neurons affects the network performance. As can be seen from the figures, as the number of neurons increases, the performance of the network does not increase accordingly. However, in the experiments it is realized that using three neurons gives acceptable results for the ABC algorithm. Other algorithms can reach the same performance by using more than three neurons. Since the number of neurons directly influences the time complexity of the algorithm, the required minimum number of neurons has to be used in the applications. In this context, the ABC algorithm is better than the others.</p></sec>
<sec>
<label>6.2.</label>
<title>Comparison of Algorithms on Inertial Sensor based Terrain Classification</title>
<p>In this section, a terrain classification experiment is presented. The goal of this experiment is to identify the type of the terrain being traversed, from among a list of candidate terrains. Our proposed terrain classification system uses typically available an inertial measurement unit (IMU): XSens MTi-9 [<xref ref-type="bibr" rid="b28-sensors-09-06312">28</xref>,<xref ref-type="bibr" rid="b29-sensors-09-06312">29</xref>]. The Xsens MTi-9 sensor is a miniaturized, MEMS gyro-based Attitude and Heading Reference System whose internal signal processor provides drift-error free 3D acceleration, 3D orientation, and 3D earth-magnetic field data. The drift-error growing nature of inertial systems limits the accuracy of inertial measurement devices. Inertial sensors can supply reliable measurements only for small time intervals. The inertial sensors have been used in some recent research for stabilization and control of digital cameras, calibration patterns and other equipment [<xref ref-type="bibr" rid="b30-sensors-09-06312">30</xref>].</p>
<p>The experimental platform is shown in <xref ref-type="fig" rid="f4-sensors-09-06312">Figure 4</xref>. The Xsens IMU is attached to the body of the mobile vehicle and connected to the notebook PC with USB cable.</p>
<p>In this study, we try to identify which one of the four different candidate terrains the vehicle travelled on: pavement, asphalt, grass and tile. Our hypothesis is that the vibrations of different terrains influence the output of the IMU sensor. The data sampled at 100 Hz for 80 seconds duration for each terrain type. Afterwards, the data is preprocessed before classification using proposed RBF scheme. Outdoor terrain types analyzed in this study are pavement, asphalt and grass. For indoor applications tile floor is used. The terrain types are shown in <xref ref-type="fig" rid="f5-sensors-09-06312">Figure 5</xref>.</p>
<p>Previous experiments have shown that RBF networks are efficient classifiers. In this experiment the proposed RBF scheme is also used for terrain classification. RBF network structure for this problem has four outputs that help to identify the terrain type. Each output can vary from zero to one, in proportion to the likelihood that a given signal presented in the input of the RBF network belongs to one of the four subject terrains: pavement, asphalt, grass or tile. The RBF has <italic>n</italic> inputs corresponds to sensor data.</p>
<p>The <italic>i</italic>th sample of Xsens IMU can be given as:
<disp-formula id="FD16">
<label>(16)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">acc</mml:mi></mml:mrow>
<mml:mi>x</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">acc</mml:mi></mml:mrow>
<mml:mi>y</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">acc</mml:mi></mml:mrow>
<mml:mi>z</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">gyr</mml:mi></mml:mrow>
<mml:mi>x</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">gyr</mml:mi>
<mml:mi>y</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">gyr</mml:mi></mml:mrow>
<mml:mi>z</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">mag</mml:mi></mml:mrow>
<mml:mi>x</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">mag</mml:mi></mml:mrow>
<mml:mi>y</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">mag</mml:mi></mml:mrow>
<mml:mi>z</mml:mi></mml:msub></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>where <italic>acc</italic> is 3D acceleration (m/s<sup>2</sup>), <italic>gry</italic> is 3D rate of turn (deg/s) and <italic>mag</italic> is 3D earth magnetic field (mGauss).</p>
<p>Discrete Fourier transform (DFT) is performed on the inertial data obtained from Xsens IMU. The sensor acquires data at 100 Hz. Therefore, the input signal at fixed intervals of 100 samples (1 second duration) is obtained and then DFT of the signal is computed. In the experiments, we use the first <italic>n</italic>=5 values of the processed data. Several unreported experiments show that bigger <italic>n</italic> values do not affect the results significantly. Preprocessed input data for the proposed classifier system is shown in <xref ref-type="fig" rid="f6-sensors-09-06312">Figure 6</xref>.</p>
<p>Terrain classification dataset contains five inputs and four outputs. The dataset has 320 total samples. As in the previous experiment, this experiment is also repeated 30 times. For each run, 60% of the dataset is randomly divided into train and the rest is selected as test subsets. Average and standard deviation PCCS results of the 30 independent runs are given in <xref ref-type="table" rid="t7-sensors-09-06312">Table 7</xref>.</p>
<p>As can be seen from <xref ref-type="table" rid="t7-sensors-09-06312">Table 7</xref>, from best to worst, the algorithms can be ordered as ABC, GA, GD and KF, respectively. GA and ABC has smaller standard deviations then GD and KF which shows the robustness of population based intelligent optimization algorithms then traditional training algorithms. As a result, it can be said that ABC is better than the others from the point of view of higher average PCCS results and lower standard deviations.</p>
<p><xref ref-type="fig" rid="f7-sensors-09-06312">Figure 7</xref> shows the evaluation CPU time of the RBF network after training stage. As can be seen from the figure, number of neurons located in the hidden layer of the RBF network affects the CPU time of the RBF network in real-time applications. While the number of neurons increase, CPU time increase proportionally. In the experiments, an Intel Q6600 2.4 GHz personal computer and MATLAB software are used.</p></sec></sec>
<sec sec-type="conclusions">
<label>7.</label>
<title>Conclusions</title>
<p>In this study, the Artificial Bee Colony (ABC) Algorithm, which is a new, simple and robust optimization algorithm, has been used to train radial basis function (RBF) neural networks for classification purposes. First, well-known classification problems obtained from UCI repository have been used for comparison. Then, an experimental setup has been designed for an inertial sensor based terrain classification. Training procedures involves selecting the optimal values of the parameters such as weights between the hidden layer and the output layer, spread parameters of the hidden layer base function, center vectors of the hidden layer and bias parameters of the neurons of the output layer. Additionally, number of neurons in the hidden layer is very important for complexity of the network structure. The performance of the proposed algorithm is compared with the traditional GD, and novel KF and GA methods. GD and KF methods are derivative based algorithms. Trapping a local minimum is a disadvantage for these algorithms. The GA and ABC algorithms are population based evolutional heuristic optimization algorithms. These algorithms show better performance than derivative based methods for well known classification problems such as Iris, Glass, and Wine and also for experimental inertial sensor based terrain classification. However, these algorithms have the disadvantage of a slow convergence rate. If the classification performances are compared, experimental results show that the performance of the ABC algorithm is better than those of the others. The success of the classification results of test problems are superior and also correlates with the results of many papers in the literature. In real-time applications, number of neurons may affect the time complexity of the system. For terrain classification problem, it is proved that inertial measurement units can be used to identify the terrain type of a mobile vehicle. The results of terrain classification problem are reasonable and may help to the planning algorithms of autonomous ground vehicles.</p>
<p>The main contributions of this study can be summarized as:
<list list-type="bullet">
<list-item>
<p>Training algorithms of RBF networks significantly affect the performance of the classifier.</p></list-item>
<list-item>
<p>Complexity of the RBF network is increased with the number of neurons in the hidden layer.</p></list-item>
<list-item>
<p>GD and KF offer faster training but tolerable classification performance. GA and ABC show better performance than others.</p></list-item>
<list-item>
<p>ABC is the applied for the first time to RBF training for classification problems in this study.</p></list-item>
<list-item>
<p>ABC is more robust and requires less control parameters than other training algorithms.</p></list-item>
<list-item>
<p>ABC reaches the best score of GD and KF using only two neurons, while GD and KF use eight neurons. Therefore, the complexity of the RBF-ABC scheme is much less than those of others in the real-time usage after training.</p></list-item>
<list-item>
<p>Proposed RBF structure includes the training of spread parameters for each hidden neuron and bias parameters for the output layer which is also newly applied for RBF training.</p></list-item>
<list-item>
<p>Terrain classification by using an inertial sensor and RBF network is achieved with 80% success rate.</p></list-item></list></p></sec></body>
<back>
<ack>
<p>This work was supported by Turkish Scientific and Research Council (TUBITAK) under Grant No. 107Y159. The authors would like to thank Prof. Dr. Dervis Karaboga and anonymous reviewers for their useful comments and suggestions that improved the quality of this paper.</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-09-06312"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>DuPont</surname><given-names>E.M.</given-names></name><name><surname>Moore</surname><given-names>C.A.</given-names></name><name><surname>Collins</surname><given-names>E.G.</given-names></name><name><surname>Coyle</surname><given-names>E.</given-names></name></person-group><article-title>Frequency response method for terrain classification in autonomous ground vehicles</article-title><source>Auton. Robots</source><year>2008</year><volume>24</volume><fpage>337</fpage><lpage>347</lpage><pub-id pub-id-type="doi">10.1007/s10514-007-9077-0</pub-id></citation></ref>
<ref id="b2-sensors-09-06312"><label>2.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Larson</surname><given-names>A.C.</given-names></name><name><surname>Demir</surname><given-names>G.K.</given-names></name><name><surname>Voyles</surname><given-names>R.M.</given-names></name></person-group><article-title>Terrain classification using weakly-structured vehicle/terrain interaction</article-title><source>Auton. Robots</source><year>2005</year><volume>19</volume><fpage>41</fpage><lpage>52</lpage><pub-id pub-id-type="doi">10.1007/s10514-005-0605-5</pub-id></citation></ref>
<ref id="b3-sensors-09-06312"><label>3.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Angelova</surname><given-names>A.</given-names></name><name><surname>Matthies</surname><given-names>L.</given-names></name><name><surname>Helmick</surname><given-names>D.</given-names></name><name><surname>Perona</surname><given-names>P.</given-names></name></person-group><article-title>Fast Terrain Classification Using Variable-Length Representation for Autonomous Navigation</article-title><conf-name>Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)</conf-name><conf-loc>Minneapolis, MN, USA</conf-loc><conf-date>2007</conf-date><fpage>1</fpage><lpage>8</lpage></citation></ref>
<ref id="b4-sensors-09-06312"><label>4.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Talukder</surname><given-names>A.</given-names></name><name><surname>Manduchi</surname><given-names>R.</given-names></name><name><surname>Castano</surname><given-names>R.</given-names></name><name><surname>Owens</surname><given-names>K.</given-names></name><name><surname>Matthies</surname><given-names>L.</given-names></name><name><surname>Castano</surname><given-names>A.</given-names></name><name><surname>Hogg</surname><given-names>R.</given-names></name></person-group><article-title>Autonomous terrain characterization and modelling for dynamic control of unmanned vehicles</article-title><conf-name>Proceedings of the IEEE Conference on Intelligent Robots and Systems (IROS)</conf-name><conf-loc>Lausanne, Switzerland</conf-loc><conf-date>2002</conf-date></citation></ref>
<ref id="b5-sensors-09-06312"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ojeda</surname><given-names>L.</given-names></name><name><surname>Borenstein</surname><given-names>J.</given-names></name><name><surname>Witus</surname><given-names>G.</given-names></name><name><surname>Karlsen</surname><given-names>R.</given-names></name></person-group><article-title>Terrain characterization and classification with a mobile robot</article-title><source>J. Field Robotic</source><year>2006</year><volume>23</volume><fpage>103</fpage><lpage>122</lpage><pub-id pub-id-type="doi">10.1002/rob.20113</pub-id></citation></ref>
<ref id="b6-sensors-09-06312"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Broomhead</surname><given-names>D.</given-names></name><name><surname>Low</surname><given-names>D.</given-names></name></person-group><article-title>Multivariable functional interpolation and adaptive networks</article-title><source>Complex Systems</source><year>1988</year><volume>2</volume><fpage>321</fpage><lpage>355</lpage></citation></ref>
<ref id="b7-sensors-09-06312"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Devaraj</surname><given-names>D.</given-names></name><name><surname>Yegnanarayana</surname><given-names>B.</given-names></name><name><surname>Ramar</surname><given-names>K.</given-names></name></person-group><article-title>Radial basis function networks for fast contingency ranking</article-title><source>Electric. Power Energy Syst</source><year>2002</year><volume>24</volume><fpage>387</fpage><lpage>395</lpage><pub-id pub-id-type="doi">10.1016/S0142-0615(01)00041-2</pub-id></citation></ref>
<ref id="b8-sensors-09-06312"><label>8.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Fu</surname><given-names>X.</given-names></name><name><surname>Wang</surname><given-names>L.</given-names></name></person-group><article-title>Data dimensionality reduction with application to simplifying rbf network structure and improving classification performance</article-title><source>IEEE Trans. Syst. Man Cybern. Part B</source><year>2003</year><volume>33</volume><fpage>399</fpage><lpage>409</lpage><pub-id pub-id-type="doi">10.1109/TSMCB.2003.810911</pub-id></citation></ref>
<ref id="b9-sensors-09-06312"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Han</surname><given-names>M.</given-names></name><name><surname>Xi</surname><given-names>J.</given-names></name></person-group><article-title>Efficient clustering of radial basis perceptron neural network for pattern recognition</article-title><source>Pattern Recognit</source><year>2004</year><volume>37</volume><fpage>2059</fpage><lpage>2067</lpage><pub-id pub-id-type="doi">10.1016/j.patcog.2004.02.014</pub-id></citation></ref>
<ref id="b10-sensors-09-06312"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Du</surname><given-names>J.X.</given-names></name><name><surname>Zhai</surname><given-names>C.M.</given-names></name></person-group><article-title>A hybrid learning algorithm combined with generalized rls approach for radial basis function neural networks</article-title><source>Appl. Math. Comput</source><year>2008</year><volume>208</volume><fpage>908</fpage><lpage>915</lpage></citation></ref>
<ref id="b11-sensors-09-06312"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Oyang</surname><given-names>Y.J.</given-names></name><name><surname>Hwang</surname><given-names>S.C.</given-names></name><name><surname>Ou</surname><given-names>Y.Y.</given-names></name><name><surname>Chen</surname><given-names>C.Y.</given-names></name><name><surname>Chen</surname><given-names>Z.W.</given-names></name></person-group><article-title>Data classification with radial basis function networks based on a novel kernel density estimation algorithm</article-title><source>IEEE Trans. Neural Netw</source><year>2005</year><volume>16</volume><fpage>225</fpage><lpage>236</lpage><pub-id pub-id-type="doi">10.1109/TNN.2004.836229</pub-id><pub-id pub-id-type="pmid">15732402</pub-id></citation></ref>
<ref id="b12-sensors-09-06312"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname><given-names>Y.</given-names></name><name><surname>Zheng</surname><given-names>Q.</given-names></name><name><surname>Shi</surname><given-names>Z.</given-names></name><name><surname>Chen</surname><given-names>J.</given-names></name></person-group><article-title>Training radial basis function networks with particle swarms</article-title><source>Lect. Note. Comput. Sci</source><year>2004</year><volume>3173</volume><fpage>317</fpage><lpage>322</lpage></citation></ref>
<ref id="b13-sensors-09-06312"><label>13.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Simon</surname><given-names>D.</given-names></name></person-group><article-title>Training radial basis neural networks with the extended Kalman filter</article-title><source>Neurocomputing</source><year>2002</year><volume>48</volume><fpage>455</fpage><lpage>475</lpage><pub-id pub-id-type="doi">10.1016/S0925-2312(01)00611-7</pub-id></citation></ref>
<ref id="b14-sensors-09-06312"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Karayiannis</surname><given-names>N.B.</given-names></name></person-group><article-title>Reformulated radial basis neural networks trained by gradient descent</article-title><source>IEEE Trans. Neural Netw</source><year>1999</year><volume>3</volume><fpage>2230</fpage><lpage>2235</lpage></citation></ref>
<ref id="b15-sensors-09-06312"><label>15.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Barreto</surname><given-names>A.M.S.</given-names></name><name><surname>Barbosa</surname><given-names>H.J.C.</given-names></name><name><surname>Ebecken</surname><given-names>N.F.F.</given-names></name></person-group><article-title>Growing Compact RBF Networks Using a Genetic Algorithm</article-title><conf-name>Proceedings of the 7th Brazilian Symposium on Neural Networks</conf-name><conf-loc>Recife, Brazil</conf-loc><conf-date>2002</conf-date><fpage>61</fpage><lpage>66</lpage></citation></ref>
<ref id="b16-sensors-09-06312"><label>16.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>De Castro</surname><given-names>L.N.</given-names></name><name><surname>von Zuben</surname><given-names>F.J.</given-names></name></person-group><article-title>An Immunological Approach to Initialize Centers of Radial Basis Function Neural Networks</article-title><conf-name>Proceedings of Brazilian Conference on Neural Networks</conf-name><conf-loc>Rio de Janeiro, Brazil</conf-loc><conf-date>2001</conf-date><fpage>79</fpage><lpage>84</lpage></citation></ref>
<ref id="b17-sensors-09-06312"><label>17.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Yu</surname><given-names>B.</given-names></name><name><surname>He</surname><given-names>X.</given-names></name></person-group><article-title>Training Radial Basis Function Networks with Differential Evolution</article-title><conf-name>Proceedings of IEEE International Conference on Granular Computing</conf-name><conf-loc>Atlanta, GA, USA</conf-loc><conf-date>2006</conf-date><fpage>369</fpage><lpage>372</lpage></citation></ref>
<ref id="b18-sensors-09-06312"><label>18.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Karaboga</surname><given-names>D.</given-names></name><name><surname>Akay</surname><given-names>B.</given-names></name></person-group><article-title>Artificial Bee Colony (ABC) Algorithm on Training Artificial Neural Networks</article-title><conf-name>Proceedings of 15th IEEE Signal Processing and Communications Applications</conf-name><conf-loc>Eskisehir, Turkey</conf-loc><conf-date>2007</conf-date></citation></ref>
<ref id="b19-sensors-09-06312"><label>19.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Robert</surname><given-names>J.</given-names></name><name><surname>Howlett</surname><given-names>L.C.J.</given-names></name></person-group><source>Radial basis function networks 2: New Advances in Design</source><publisher-name>Physica-Verlag</publisher-name><publisher-loc>Herdelberg, Germany</publisher-loc><year>2001</year><comment>ISBN: 3790813680.</comment></citation></ref>
<ref id="b20-sensors-09-06312"><label>20.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chiang</surname><given-names>K</given-names></name><name><surname>Chang</surname><given-names>H.</given-names></name><name><surname>Li</surname><given-names>C.</given-names></name><name><surname>Huang</surname><given-names>Y.</given-names></name></person-group><article-title>An artificial neural network embedded position and orientation determination algorithm for low cost MEMS INS/GPS integrated sensors</article-title><source>Sensors</source><year>2009</year><volume>9</volume><fpage>2586</fpage><lpage>2610</lpage><pub-id pub-id-type="doi">10.3390/s90402586</pub-id><pub-id pub-id-type="pmid">22574034</pub-id></citation></ref>
<ref id="b21-sensors-09-06312"><label>21.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Karaboga</surname><given-names>D.</given-names></name></person-group><source>An Idea Based On Honey Bee Swarm for Numerical Optimization</source><comment>Technical Report-TR06;</comment><publisher-name>Engineering Faculty, Computer Engineering Department, Erciyes University</publisher-name><publisher-loc>Kayseri, Turkey</publisher-loc><year>2005</year></citation></ref>
<ref id="b22-sensors-09-06312"><label>22.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Basturk</surname><given-names>B.</given-names></name><name><surname>Karaboga</surname><given-names>D.</given-names></name></person-group><article-title>An Artificial Bee Colony (ABC) Algorithm for Numeric function Optimization</article-title><conf-name>Proceedings of IEEE Swarm Intelligence Symposium</conf-name><conf-loc>Indianapolis, IN, USA</conf-loc><conf-date>2006</conf-date></citation></ref>
<ref id="b23-sensors-09-06312"><label>23.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Karaboga</surname><given-names>D.</given-names></name><name><surname>Basturk</surname><given-names>B.</given-names></name></person-group><article-title>A powerful and efficient algorithm for numerical function optimization: Artificial Bee Colony (ABC) algorithm</article-title><source>J. Global Optim</source><year>2007</year><volume>39</volume><fpage>459</fpage><lpage>171</lpage><pub-id pub-id-type="doi">10.1007/s10898-007-9149-x</pub-id></citation></ref>
<ref id="b24-sensors-09-06312"><label>24.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Karaboga</surname><given-names>D.</given-names></name><name><surname>Basturk Akay</surname><given-names>B.</given-names></name><name><surname>Ozturk</surname><given-names>C.</given-names></name></person-group><article-title>Artificial Bee Colony (ABC) optimization algorithm for training feed-forward neural networks</article-title><source>Lect. Note. Comput. Sci</source><year>2007</year><volume>4617/2007</volume><fpage>318</fpage><lpage>319</lpage></citation></ref>
<ref id="b25-sensors-09-06312"><label>25.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Karaboga</surname><given-names>D.</given-names></name><name><surname>Basturk</surname><given-names>B.</given-names></name></person-group><article-title>On The performance of Artificial Bee Colony (ABC) algorithm</article-title><source>Appl. Soft Comput</source><year>2008</year><volume>8</volume><fpage>687</fpage><lpage>697</lpage><pub-id pub-id-type="doi">10.1016/j.asoc.2007.05.007</pub-id></citation></ref>
<ref id="b26-sensors-09-06312"><label>26.</label><citation citation-type="web"><comment>Available online: <ext-link xlink:href="http://archive.ics.uci.edu/ml" ext-link-type="uri">http://archive.ics.uci.edu/ml</ext-link> (accessed June 20, 2009).</comment></citation></ref>
<ref id="b27-sensors-09-06312"><label>27.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Harpham</surname><given-names>C.</given-names></name><name><surname>Dawson</surname><given-names>C.W.</given-names></name><name><surname>Brown</surname><given-names>M.R.</given-names></name></person-group><article-title>A review of genetic algorithms applied to training radial basis function networks</article-title><source>Neural Compt. Appl</source><year>2004</year><volume>13</volume><fpage>193</fpage><lpage>201</lpage><pub-id pub-id-type="doi">10.1007/s00521-004-0404-5</pub-id></citation></ref>
<ref id="b28-sensors-09-06312"><label>28.</label><citation citation-type="book"><person-group person-group-type="author"><collab>Xsens Co</collab></person-group><source>Mti and Mtx User Manual and Technical Documentation. Product Manual</source><publisher-name>Xsens Co</publisher-name><publisher-loc>Enschede, The Netherlands</publisher-loc><year>2009</year><comment>Vol. MT0137P,</comment><fpage>2</fpage><lpage>30</lpage></citation></ref>
<ref id="b29-sensors-09-06312"><label>29.</label><citation citation-type="web"><person-group person-group-type="author"><collab>Xsens</collab></person-group><comment>Available online: <ext-link xlink:href="http://www.xsens.com/" ext-link-type="uri">http://www.xsens.com/</ext-link> (accessed June 20, 2009).</comment></citation></ref>
<ref id="b30-sensors-09-06312"><label>30.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Beşdok</surname><given-names>E.</given-names></name></person-group><article-title>3D Vision by using calibration pattern with inertial sensor and RBF Neural Networks</article-title><source>Sensors</source><year>2009</year><volume>9</volume><fpage>4572</fpage><lpage>4585</lpage><pub-id pub-id-type="doi">10.3390/s90604572</pub-id><pub-id pub-id-type="pmid">22408542</pub-id></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-09-06312" position="float">
<label>Figure 1.</label>
<caption>
<p>Block diagram of a RBF network.</p></caption>
<graphic xlink:href="sensors-09-06312f1.gif"/></fig>
<fig id="f2-sensors-09-06312" position="float">
<label>Figure 2.</label>
<caption>
<p>Network architecture of the RBF.</p></caption>
<graphic xlink:href="sensors-09-06312f2.gif"/></fig>
<fig id="f3-sensors-09-06312" position="float">
<label>Figure 3.</label>
<caption>
<p>Basic flowchart of the ABC algorithm.</p></caption>
<graphic xlink:href="sensors-09-06312f3.gif"/></fig>
<fig id="f4-sensors-09-06312" position="float">
<label>Figure 4.</label>
<caption>
<p>Experimental setup.</p></caption>
<graphic xlink:href="sensors-09-06312f4.gif"/></fig>
<fig id="f5-sensors-09-06312" position="float">
<label>Figure 5.</label>
<caption>
<p>Terrain types: (a) pavement, (b) asphalt, (c) grass and (d) tile.</p></caption>
<graphic xlink:href="sensors-09-06312f5a.gif"/>
<graphic xlink:href="sensors-09-06312f5b.gif"/></fig>
<fig id="f6-sensors-09-06312" position="float">
<label>Figure 6.</label>
<caption>
<p>Preprocessed input data for terrain classification.</p></caption>
<graphic xlink:href="sensors-09-06312f6a.gif"/>
<graphic xlink:href="sensors-09-06312f6b.gif"/></fig>
<fig id="f7-sensors-09-06312" position="float">
<label>Figure 7.</label>
<caption>
<p>Evaluation CPU time of the RBF network.</p></caption>
<graphic xlink:href="sensors-09-06312f7.gif"/></fig>
<table-wrap id="t1-sensors-09-06312" position="float">
<label>Table 1.</label>
<caption>
<p>Characteristics of the UCI dataset.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top"/>
<th align="center" valign="middle"><bold>Inputs</bold></th>
<th align="center" valign="middle"><bold>Outputs</bold></th>
<th align="center" valign="middle"><bold>Total Samples</bold></th>
<th align="center" valign="middle"><bold>Training Samples</bold></th>
<th align="center" valign="middle"><bold>Test Samples</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="middle"><bold>Iris</bold></td>
<td align="center" valign="middle">4</td>
<td align="center" valign="middle">3</td>
<td align="center" valign="middle">150</td>
<td align="center" valign="middle">90</td>
<td align="center" valign="middle">60</td></tr>
<tr>
<td align="center" valign="middle"><bold>Wine</bold></td>
<td align="center" valign="middle">13</td>
<td align="center" valign="middle">3</td>
<td align="center" valign="middle">178</td>
<td align="center" valign="middle">106</td>
<td align="center" valign="middle">72</td></tr>
<tr>
<td align="center" valign="middle"><bold>Glass</bold></td>
<td align="center" valign="middle">9</td>
<td align="center" valign="middle">2</td>
<td align="center" valign="middle">214</td>
<td align="center" valign="middle">128</td>
<td align="center" valign="middle">86</td></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-09-06312" position="float">
<label>Table 2.</label>
<caption>
<p>Control parameters of GA.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="middle"><bold>Population size</bold></th>
<th align="center" valign="middle"><bold>Parameter count</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top">Number of generations</td>
<td align="left" valign="top">4,000</td></tr>
<tr>
<td align="left" valign="top">Selection type</td>
<td align="left" valign="top">Roulette</td></tr>
<tr>
<td align="left" valign="top">Mutation type</td>
<td align="left" valign="top">Uniform</td></tr>
<tr>
<td align="left" valign="top">Mutation rate</td>
<td align="left" valign="top">0.05</td></tr>
<tr>
<td align="left" valign="top">Crossover type</td>
<td align="left" valign="top">Single point</td></tr>
<tr>
<td align="left" valign="top">Crossover ratio</td>
<td align="left" valign="top">0.8</td></tr></tbody></table></table-wrap>
<table-wrap id="t3-sensors-09-06312" position="float">
<label>Table 3.</label>
<caption>
<p>Control parameters of ABC.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="bottom"><bold>Population Size</bold></th>
<th align="left" valign="bottom"><bold>Parameter count</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top">Number of generations/cycles</td>
<td align="left" valign="top">4,000</td></tr>
<tr>
<td align="left" valign="top">Limit (ABC)</td>
<td align="left" valign="top">400</td></tr></tbody></table></table-wrap>
<table-wrap id="t4-sensors-09-06312" position="float">
<label>Table 4.</label>
<caption>
<p>Statistical PCCS results of Iris dataset.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th colspan="2" align="left" valign="top" rowspan="2"/>
<th colspan="8" align="left" valign="top"><bold>Hidden Layer Neurons</bold></th></tr>
<tr>
<th align="left" valign="top"><bold>1</bold></th>
<th align="left" valign="top"><bold>2</bold></th>
<th align="left" valign="top"><bold>3</bold></th>
<th align="left" valign="top"><bold>4</bold></th>
<th align="left" valign="top"><bold>5</bold></th>
<th align="left" valign="top"><bold>6</bold></th>
<th align="left" valign="top"><bold>7</bold></th>
<th align="left" valign="top"><bold>8</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top" rowspan="2"><bold>GD</bold></td>
<td align="left" valign="top">Train</td>
<td align="left" valign="top">65,9 (2,7)</td>
<td align="left" valign="top">85,3 (6,6)</td>
<td align="left" valign="top">93,4 (3,4)</td>
<td align="left" valign="top">95,3 (3,4)</td>
<td align="left" valign="top">95,2 (2,7)</td>
<td align="left" valign="top">95,2 (7,2)</td>
<td align="left" valign="top">97,0 (3,0)</td>
<td align="left" valign="top">97,7 (1,3)</td></tr>
<tr>
<td align="left" valign="top"><italic>Test</italic></td>
<td align="left" valign="top"><italic>60,4 (5,2)</italic></td>
<td align="left" valign="top"><italic>82,3 (8,6)</italic></td>
<td align="left" valign="top"><italic>90,7 (3,8)</italic></td>
<td align="left" valign="top"><italic>91,6 (4,1)</italic></td>
<td align="left" valign="top"><italic>94,5 (2,4)</italic></td>
<td align="left" valign="top"><italic>91,8 (7,6)</italic></td>
<td align="left" valign="top"><italic>93,8 (2,6)</italic></td>
<td align="left" valign="top"><italic>93,9 (3,1)</italic></td></tr>
<tr>
<td align="left" valign="top" rowspan="2"><bold>KF</bold></td>
<td align="left" valign="top">Train</td>
<td align="left" valign="top">60,7(9,2)</td>
<td align="left" valign="top">66,4 (10,8)</td>
<td align="left" valign="top">81,6 (8,4)</td>
<td align="left" valign="top">84,5 (12,8)</td>
<td align="left" valign="top">88,3 (10,7)</td>
<td align="left" valign="top">91,6 (8,6)</td>
<td align="left" valign="top">94,2 (4,6)</td>
<td align="left" valign="top">95,6 (4,2)</td></tr>
<tr>
<td align="left" valign="top"><italic>Test</italic></td>
<td align="left" valign="top"><italic>53,6(13,6)</italic></td>
<td align="left" valign="top"><italic>63,3 (13,0)</italic></td>
<td align="left" valign="top"><italic>77,9 (12,0)</italic></td>
<td align="left" valign="top"><italic>83,8 (15,4)</italic></td>
<td align="left" valign="top"><italic>85,5 (11,7)</italic></td>
<td align="left" valign="top"><italic>88,8 (8,8)</italic></td>
<td align="left" valign="top"><italic>91,2 (3,5)</italic></td>
<td align="left" valign="top"><italic>91,8 (5,3)</italic></td></tr>
<tr>
<td align="left" valign="top" rowspan="2"><bold>GA</bold></td>
<td align="left" valign="top">Train</td>
<td align="left" valign="top">63,5 (12,3)</td>
<td align="left" valign="top">89,9 (8,6)</td>
<td align="left" valign="top">94,1 (3,8)</td>
<td align="left" valign="top">96,1 (2,0)</td>
<td align="left" valign="top">96,0 (1,7)</td>
<td align="left" valign="top">96,6 (1,9)</td>
<td align="left" valign="top">97,4 (1,4)</td>
<td align="left" valign="top">97,1 (1,1)</td></tr>
<tr>
<td align="left" valign="top"><italic>Test</italic></td>
<td align="left" valign="top"><italic>58,9 (12,3)</italic></td>
<td align="left" valign="top"><italic>88,1 (9,6)</italic></td>
<td align="left" valign="top"><italic>91,9 (5,3)</italic></td>
<td align="left" valign="top"><italic>94,3 (3,9)</italic></td>
<td align="left" valign="top"><italic>95,5 (2,9)</italic></td>
<td align="left" valign="top"><italic>94,6 (3,9)</italic></td>
<td align="left" valign="top"><italic>95,9 (2,2)</italic></td>
<td align="left" valign="top"><italic>96,1 (2,5)</italic></td></tr>
<tr>
<td align="left" valign="top" rowspan="2"><bold>ABC</bold></td>
<td align="left" valign="top">Train</td>
<td align="left" valign="top"><bold>70,6 (5,2)</bold></td>
<td align="left" valign="top"><bold>96,1 (1,5)</bold></td>
<td align="left" valign="top"><bold>97,1 (1,6)</bold></td>
<td align="left" valign="top"><bold>97,9 (1,3)</bold></td>
<td align="left" valign="top"><bold>97,5 (1,6)</bold></td>
<td align="left" valign="top"><bold>97,8 (1,3)</bold></td>
<td align="left" valign="top"><bold>98,0 (1,3)</bold></td>
<td align="left" valign="top"><bold>98,0 (1,0)</bold></td></tr>
<tr>
<td align="left" valign="top"><italic>Test</italic></td>
<td align="left" valign="top"><bold><italic>65,6 (7,1)</italic></bold></td>
<td align="left" valign="top"><bold><italic>93,2 (2,5)</italic></bold></td>
<td align="left" valign="top"><bold><italic>93,8 (2,8)</italic></bold></td>
<td align="left" valign="top"><bold><italic>95,8 (2,9)</italic></bold></td>
<td align="left" valign="top"><bold><italic>96,2 (2,4)</italic></bold></td>
<td align="left" valign="top"><bold><italic>96,1 (2,2)</italic></bold></td>
<td align="left" valign="top"><bold><italic>96,3 (2,5)</italic></bold></td>
<td align="left" valign="top"><bold><italic>96,2 (2,6)</italic></bold></td></tr></tbody></table></table-wrap>
<table-wrap id="t5-sensors-09-06312" position="float">
<label>Table 5.</label>
<caption>
<p>Statistical PCCS results of Wine dataset.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th colspan="2" align="left" valign="top" rowspan="2"/>
<th colspan="8" align="left" valign="top"><bold>Hidden Layer Neurons</bold></th></tr>
<tr>
<th align="left" valign="top"><bold>1</bold></th>
<th align="left" valign="top"><bold>2</bold></th>
<th align="left" valign="top"><bold>3</bold></th>
<th align="left" valign="top"><bold>4</bold></th>
<th align="left" valign="top"><bold>5</bold></th>
<th align="left" valign="top"><bold>6</bold></th>
<th align="left" valign="top"><bold>7</bold></th>
<th align="left" valign="top"><bold>8</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top" rowspan="2"><bold>GD</bold></td>
<td align="left" valign="top"><bold>Train</bold></td>
<td align="left" valign="top">54,5 (13,0)</td>
<td align="left" valign="top">74,5 (18,1)</td>
<td align="left" valign="top">83,6 (13,5)</td>
<td align="left" valign="top">89,9 (7,0)</td>
<td align="left" valign="top">92,1 (10,1)</td>
<td align="left" valign="top">95,1 (4,4)</td>
<td align="left" valign="top">97,0 (2,6)</td>
<td align="left" valign="top">97,1 (2,0)</td></tr>
<tr>
<td align="left" valign="top"><bold><italic>Test</italic></bold></td>
<td align="left" valign="top"><italic>49,1 (16,0)</italic></td>
<td align="left" valign="top"><italic>70,4 (19,2)</italic></td>
<td align="left" valign="top"><italic>81,1 (13,1)</italic></td>
<td align="left" valign="top"><italic>86,1 (11,7)</italic></td>
<td align="left" valign="top"><italic>91,8 (10,8)</italic></td>
<td align="left" valign="top"><italic>91,8 (6,8)</italic></td>
<td align="left" valign="top"><italic>93,7 (5,5)</italic></td>
<td align="left" valign="top"><italic>96,7 (2,6)</italic></td></tr>
<tr>
<td align="left" valign="top" rowspan="2"><bold>KF</bold></td>
<td align="left" valign="top"><bold>Train</bold></td>
<td align="left" valign="top">52,9(8,4)</td>
<td align="left" valign="top">56,1 (14,6)</td>
<td align="left" valign="top">72,5 (17,9)</td>
<td align="left" valign="top">85,6 (14,5)</td>
<td align="left" valign="top">83,4 (15,1)</td>
<td align="left" valign="top">90,5 (13,3)</td>
<td align="left" valign="top">91,3 (15,4)</td>
<td align="left" valign="top">97,1 (3,0)</td></tr>
<tr>
<td align="left" valign="top"><bold><italic>Test</italic></bold></td>
<td align="left" valign="top"><italic>47,2 (11,2)</italic></td>
<td align="left" valign="top"><italic>52,5 (15,7)</italic></td>
<td align="left" valign="top"><italic>68,8 (19,6)</italic></td>
<td align="left" valign="top"><italic>79,6 (16,0)</italic></td>
<td align="left" valign="top"><italic>80,9 (17,3)</italic></td>
<td align="left" valign="top"><italic>85,6 (16,1)</italic></td>
<td align="left" valign="top"><italic>88,9 (15,8)</italic></td>
<td align="left" valign="top"><italic>94,4 (4,9)</italic></td></tr>
<tr>
<td align="left" valign="top" rowspan="2"><bold>GA</bold></td>
<td align="left" valign="top"><bold>Train</bold></td>
<td align="left" valign="top">68,7 (7,8)</td>
<td align="left" valign="top">96,9 (2,8)</td>
<td align="left" valign="top">98,8 (1,0)</td>
<td align="left" valign="top">98,8 (1,3)</td>
<td align="left" valign="top">99,1 (1,0)</td>
<td align="left" valign="top">99,5 (0,8)</td>
<td align="left" valign="top">99,6 (0,6)</td>
<td align="left" valign="top">99,8 (0,5)</td></tr>
<tr>
<td align="left" valign="top"><bold><italic>Test</italic></bold></td>
<td align="left" valign="top"><italic>65,7 (8,1)</italic></td>
<td align="left" valign="top"><italic>93,8 (4,0)</italic></td>
<td align="left" valign="top"><italic>97,5 (1,8)</italic></td>
<td align="left" valign="top"><italic>96,7 (3,2)</italic></td>
<td align="left" valign="top"><italic>97,2 (2,1)</italic></td>
<td align="left" valign="top"><italic>97,2 (1,8)</italic></td>
<td align="left" valign="top"><italic>97,3 (2,3)</italic></td>
<td align="left" valign="top"><italic>97,2 (2,4)</italic></td></tr>
<tr>
<td align="left" valign="top" rowspan="2"><bold>ABC</bold></td>
<td align="left" valign="top"><bold>Train</bold></td>
<td align="left" valign="top"><bold>74,1 (5,3)</bold></td>
<td align="left" valign="top"><bold>98,5 (1,5)</bold></td>
<td align="left" valign="top"><bold>99,2 (0,8)</bold></td>
<td align="left" valign="top"><bold>99,6 (0,6)</bold></td>
<td align="left" valign="top"><bold>99,5 (0,5)</bold></td>
<td align="left" valign="top"><bold>99,6 (0,5)</bold></td>
<td align="left" valign="top"><bold>99,8 (0,4)</bold></td>
<td align="left" valign="top"><bold>99,6 (0,5)</bold></td></tr>
<tr>
<td align="left" valign="top"><bold><italic>Test</italic></bold></td>
<td align="left" valign="top"><bold><italic>70,7 (8,5)</italic></bold></td>
<td align="left" valign="top"><bold><italic>95,8 (2,9)</italic></bold></td>
<td align="left" valign="top"><bold><italic>97,1 (1,7)</italic></bold></td>
<td align="left" valign="top"><bold><italic>97,9 (1,9)</italic></bold></td>
<td align="left" valign="top"><bold><italic>96,9 (2,1)</italic></bold></td>
<td align="left" valign="top"><bold><italic>97,6 (1,7)</italic></bold></td>
<td align="left" valign="top"><bold><italic>97,2 (2,0)</italic></bold></td>
<td align="left" valign="top"><bold><italic>96,9 (2,2)</italic></bold></td></tr></tbody></table></table-wrap>
<table-wrap id="t6-sensors-09-06312" position="float">
<label>Table 6.</label>
<caption>
<p>Statistical PCCS results of Glass dataset.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th colspan="2" align="left" valign="top" rowspan="2"/>
<th colspan="8" align="left" valign="top"><bold>Hidden Layer Neurons</bold></th></tr>
<tr>
<th align="left" valign="top"><bold>1</bold></th>
<th align="left" valign="top"><bold>2</bold></th>
<th align="left" valign="top"><bold>3</bold></th>
<th align="left" valign="top"><bold>4</bold></th>
<th align="left" valign="top"><bold>5</bold></th>
<th align="left" valign="top"><bold>6</bold></th>
<th align="left" valign="top"><bold>7</bold></th>
<th align="left" valign="top"><bold>8</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top" rowspan="2"><bold>GD</bold></td>
<td align="left" valign="top"><bold>Train</bold></td>
<td align="left" valign="top">84,8 (5,4)</td>
<td align="left" valign="top">88,3 (5,4)</td>
<td align="left" valign="top">90,6 (2,1)</td>
<td align="left" valign="top">90,8 (2,2)</td>
<td align="left" valign="top">92,8 (2,4)</td>
<td align="left" valign="top">93,0 (2,5)</td>
<td align="left" valign="top">91,7 (3,1)</td>
<td align="left" valign="top">91,8 (2,8)</td></tr>
<tr>
<td align="left" valign="top"><bold><italic>Test</italic></bold></td>
<td align="left" valign="top"><italic>80,6 (7,1)</italic></td>
<td align="left" valign="top"><italic>86,6 (5,8)</italic></td>
<td align="left" valign="top"><italic>89,7 (3,5)</italic></td>
<td align="left" valign="top"><italic>90,1 (4,0)</italic></td>
<td align="left" valign="top"><italic>89,5 (3,4)</italic></td>
<td align="left" valign="top"><italic>90,7 (2,4)</italic></td>
<td align="left" valign="top"><italic>90,1 (4,3)</italic></td>
<td align="left" valign="top"><italic>89,9 (4,5)</italic></td></tr>
<tr>
<td align="left" valign="top" rowspan="2"><bold>KF</bold></td>
<td align="left" valign="top"><bold>Train</bold></td>
<td align="left" valign="top">76,6 (3,6)</td>
<td align="left" valign="top">84,8 (6,7)</td>
<td align="left" valign="top">89,6 (5,9)</td>
<td align="left" valign="top">91,0 (4,2)</td>
<td align="left" valign="top">92,0 (3,6)</td>
<td align="left" valign="top">94,1 (2,7)</td>
<td align="left" valign="top">93,8 (2,2)</td>
<td align="left" valign="top">94,7 (3,1)</td></tr>
<tr>
<td align="left" valign="top"><bold><italic>Test</italic></bold></td>
<td align="left" valign="top"><italic>78,2 (5,6)</italic></td>
<td align="left" valign="top"><italic>84,3 (7,4)</italic></td>
<td align="left" valign="top"><italic>89,2 (4,3)</italic></td>
<td align="left" valign="top"><italic>90,1 (3,0)</italic></td>
<td align="left" valign="top"><italic>90,8 (4,5)</italic></td>
<td align="left" valign="top"><italic>91,5 (3,3)</italic></td>
<td align="left" valign="top"><italic>90,9 (2,8)</italic></td>
<td align="left" valign="top"><italic>90,5 (5,6)</italic></td></tr>
<tr>
<td align="left" valign="top" rowspan="2"><bold>GA</bold></td>
<td align="left" valign="top"><bold>Train</bold></td>
<td align="left" valign="top">82,6 (6,8)</td>
<td align="left" valign="top">92,6 (2,3)</td>
<td align="left" valign="top">94,0 (1,5)</td>
<td align="left" valign="top">94,7 (1,6)</td>
<td align="left" valign="top">95,4 (1,5)</td>
<td align="left" valign="top">96,2 (1,2)</td>
<td align="left" valign="top">95,9 (1,9)</td>
<td align="left" valign="top">96,5 (1,8)</td></tr>
<tr>
<td align="left" valign="top"><bold><italic>Test</italic></bold></td>
<td align="left" valign="top"><italic>81,3 (8,1)</italic></td>
<td align="left" valign="top"><italic>91,0 (2,3)</italic></td>
<td align="left" valign="top"><italic>91,0 (2,8)</italic></td>
<td align="left" valign="top"><italic>91,9 (2,4)</italic></td>
<td align="left" valign="top"><italic>90,8 (2,6)</italic></td>
<td align="left" valign="top"><italic>91,9 (2,5)</italic></td>
<td align="left" valign="top"><italic>91,4 (3,8)</italic></td>
<td align="left" valign="top"><italic>91,8 (2,9)</italic></td></tr>
<tr>
<td align="left" valign="top" rowspan="2"><bold>ABC</bold></td>
<td align="left" valign="top"><bold>Train</bold></td>
<td align="left" valign="top"><bold>92,2 (1,7)</bold></td>
<td align="left" valign="top"><bold>94,1 (1,8)</bold></td>
<td align="left" valign="top"><bold>95,5 (1,1)</bold></td>
<td align="left" valign="top"><bold>95,3 (1,5)</bold></td>
<td align="left" valign="top"><bold>96,3 (1,5)</bold></td>
<td align="left" valign="top"><bold>96,7 (1,3)</bold></td>
<td align="left" valign="top"><bold>97,0 (1,4)</bold></td>
<td align="left" valign="top"><bold>96,9 (1,5)</bold></td></tr>
<tr>
<td align="left" valign="top"><bold><italic>Test</italic></bold></td>
<td align="left" valign="top"><bold><italic>88,8 (3,0)</italic></bold></td>
<td align="left" valign="top"><bold><italic>91,7 (2,8)</italic></bold></td>
<td align="left" valign="top"><bold><italic>91,2 (2,6)</italic></bold></td>
<td align="left" valign="top"><bold><italic>92,6 (2,8)</italic></bold></td>
<td align="left" valign="top"><bold><italic>91,9 (2,4)</italic></bold></td>
<td align="left" valign="top"><bold><italic>91,8 (2,7)</italic></bold></td>
<td align="left" valign="top"><bold><italic>91,7 (3,9)</italic></bold></td>
<td align="left" valign="top"><bold><italic>92,1 (2,9)</italic></bold></td></tr></tbody></table></table-wrap>
<table-wrap id="t7-sensors-09-06312" position="float">
<label>Table 7.</label>
<caption>
<p>Statistical PCCS results of Terrain Classification dataset.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th colspan="2" align="left" valign="top" rowspan="2"/>
<th colspan="8" align="left" valign="top"><bold>Hidden Layer Neurons</bold></th></tr>
<tr>
<th align="left" valign="top"><bold>1</bold></th>
<th align="left" valign="top"><bold>2</bold></th>
<th align="left" valign="top"><bold>3</bold></th>
<th align="left" valign="top"><bold>4</bold></th>
<th align="left" valign="top"><bold>5</bold></th>
<th align="left" valign="top"><bold>6</bold></th>
<th align="left" valign="top"><bold>7</bold></th>
<th align="left" valign="top"><bold>8</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top" rowspan="2"><bold>GD</bold></td>
<td align="left" valign="top"><bold>Train</bold></td>
<td align="left" valign="top">42,2 (6,1)</td>
<td align="left" valign="top">50,1 (6,6)</td>
<td align="left" valign="top">59,2 (8,3)</td>
<td align="left" valign="top">58,6 (7,3)</td>
<td align="left" valign="top">65,8 (5,0)</td>
<td align="left" valign="top">65,5 (5,8)</td>
<td align="left" valign="top">70,3 (5,2)</td>
<td align="left" valign="top">70,9 (6,0)</td></tr>
<tr>
<td align="left" valign="top"><bold><italic>Test</italic></bold></td>
<td align="left" valign="top"><italic>36,6 (7,5)</italic></td>
<td align="left" valign="top"><italic>46,9 (7,9)</italic></td>
<td align="left" valign="top"><italic>55,2 (8,8)</italic></td>
<td align="left" valign="top"><italic>55,8 (8,3)</italic></td>
<td align="left" valign="top"><italic>60,7 (6,2)</italic></td>
<td align="left" valign="top"><italic>62,0 (5,3)</italic></td>
<td align="left" valign="top"><italic>66,9 (5,4)</italic></td>
<td align="left" valign="top"><italic>66,2 (5,1)</italic></td></tr>
<tr>
<td align="left" valign="top" rowspan="2"><bold>KF</bold></td>
<td align="left" valign="top"><bold>Train</bold></td>
<td align="left" valign="top">36,8 (7,1)</td>
<td align="left" valign="top">46,7 (6,9)</td>
<td align="left" valign="top">45,1 (11,8)</td>
<td align="left" valign="top">58,0 (10,0)</td>
<td align="left" valign="top">62,4 (12,3)</td>
<td align="left" valign="top">63,2 (11,7)</td>
<td align="left" valign="top">63,7 (11,7)</td>
<td align="left" valign="top">68,4 (9,4)</td></tr>
<tr>
<td align="left" valign="top"><bold><italic>Test</italic></bold></td>
<td align="left" valign="top"><italic>33,8 (7,9)</italic></td>
<td align="left" valign="top"><italic>42,3 (8,2)</italic></td>
<td align="left" valign="top"><italic>41,2 (11,7)</italic></td>
<td align="left" valign="top"><italic>53,5 (10,8)</italic></td>
<td align="left" valign="top"><italic>59,4 (11,2)</italic></td>
<td align="left" valign="top"><italic>60,9 (11,0)</italic></td>
<td align="left" valign="top"><italic>59,7 (12,2)</italic></td>
<td align="left" valign="top"><italic>65,0 (12)</italic></td></tr>
<tr>
<td align="left" valign="top" rowspan="2"><bold>GA</bold></td>
<td align="left" valign="top"><bold>Train</bold></td>
<td align="left" valign="top">42,0 (5,5)</td>
<td align="left" valign="top">55,7 (6,9)</td>
<td align="left" valign="top">68,6 (4,3)</td>
<td align="left" valign="top">71,4 (3,2)</td>
<td align="left" valign="top">70,2 (3,5)</td>
<td align="left" valign="top">74,1 (3,1)</td>
<td align="left" valign="top">77,0 (3,3)</td>
<td align="left" valign="top">74,2 (2,7)</td></tr>
<tr>
<td align="left" valign="top"><bold><italic>Test</italic></bold></td>
<td align="left" valign="top"><italic>37,4 (8,1)</italic></td>
<td align="left" valign="top"><italic>48,3 (5,9)</italic></td>
<td align="left" valign="top"><italic>65,1 (5,6)</italic></td>
<td align="left" valign="top"><italic>64,8 (5,7)</italic></td>
<td align="left" valign="top"><italic>66,7 (5,4)</italic></td>
<td align="left" valign="top"><italic>69,5 (6,9)</italic></td>
<td align="left" valign="top"><italic>73,2 (5,0)</italic></td>
<td align="left" valign="top"><italic>72,1 (5,5)</italic></td></tr>
<tr>
<td align="left" valign="top" rowspan="2"><bold>ABC</bold></td>
<td align="left" valign="top"><bold>Train</bold></td>
<td align="left" valign="top"><bold>52,6 (4,3)</bold></td>
<td align="left" valign="top"><bold>70,8 (4,2)</bold></td>
<td align="left" valign="top"><bold>73,4 (2,6)</bold></td>
<td align="left" valign="top"><bold>77,4 (3,2)</bold></td>
<td align="left" valign="top"><bold>75,3 (1,6)</bold></td>
<td align="left" valign="top"><bold>79,3 (1,2)</bold></td>
<td align="left" valign="top"><bold>79,0 (1,9)</bold></td>
<td align="left" valign="top"><bold>78,9 (2,6)</bold></td></tr>
<tr>
<td align="left" valign="top"><bold><italic>Test</italic></bold></td>
<td align="left" valign="top"><bold><italic>50,3 (3,2)</italic></bold></td>
<td align="left" valign="top"><bold><italic>66,5 (2,5)</italic></bold></td>
<td align="left" valign="top"><bold><italic>74,5 (5,0)</italic></bold></td>
<td align="left" valign="top"><bold><italic>73,7 (2,0)</italic></bold></td>
<td align="left" valign="top"><bold><italic>72,7 (3,0)</italic></bold></td>
<td align="left" valign="top"><bold><italic>75,7 (4,1)</italic></bold></td>
<td align="left" valign="top"><bold><italic>74,6 (1,3)</italic></bold></td>
<td align="left" valign="top"><bold><italic>79,6 (3,0)</italic></bold></td></tr></tbody></table></table-wrap></sec></back></article>
