<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!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" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Hum. Neurosci.</journal-id>
<journal-title>Frontiers in Human Neuroscience</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Hum. Neurosci.</abbrev-journal-title>
<issn pub-type="epub">1662-5161</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fnhum.2017.00261</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Neuroscience</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Evaluating and Improving Automatic Sleep Spindle Detection by Using Multi-Objective Evolutionary Algorithms</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Liu</surname> <given-names>Min-Yin</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/338316/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Huang</surname> <given-names>Adam</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<xref ref-type="author-notes" rid="fn001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/393097/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Huang</surname> <given-names>Norden E.</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>Department of Biomedical Sciences and Engineering, Institute of Systems Biology and Bioinformatics, National Central University</institution> <country>Taoyuan, Taiwan</country></aff>
<aff id="aff2"><sup>2</sup><institution>Research Center for Adaptive Data Analysis, National Central University</institution> <country>Taoyuan, Taiwan</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Juliana Yordanova, Bulgarian Academy of Sciences, Bulgaria</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Frederik D. Weber, University of T&#x000FC;bingen, Germany; Yingchun Zhang, University of Houston, United States; Sung Chan Jun, Gwangju Institute of Science and Technology, South Korea</p></fn>
<fn fn-type="corresp" id="fn001"><p>&#x0002A;Correspondence: Adam Huang <email>adamhuan&#x00040;ncu.edu.tw</email></p></fn>
</author-notes>
<pub-date pub-type="epub">
<day>18</day>
<month>05</month>
<year>2017</year>
</pub-date>
<pub-date pub-type="collection">
<year>2017</year>
</pub-date>
<volume>11</volume>
<elocation-id>261</elocation-id>
<history>
<date date-type="received">
<day>21</day>
<month>11</month>
<year>2016</year>
</date>
<date date-type="accepted">
<day>02</day>
<month>05</month>
<year>2017</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2017 Liu, Huang and Huang.</copyright-statement>
<copyright-year>2017</copyright-year>
<copyright-holder>Liu, Huang and Huang</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) or licensor are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license>
</permissions>
<abstract><p>Sleep spindles are brief bursts of brain activity in the sigma frequency range (11&#x02013;16 Hz) measured by electroencephalography (EEG) mostly during non-rapid eye movement (NREM) stage 2 sleep. These oscillations are of great biological and clinical interests because they potentially play an important role in identifying and characterizing the processes of various neurological disorders. Conventionally, sleep spindles are identified by expert sleep clinicians via visual inspection of EEG signals. The process is laborious and the results are inconsistent among different experts. To resolve the problem, numerous computerized methods have been developed to automate the process of sleep spindle identification. Still, the performance of these automated sleep spindle detection methods varies inconsistently from study to study. There are two reasons: (1) the lack of common benchmark databases, and (2) the lack of commonly accepted evaluation metrics. In this study, we focus on tackling the second problem by proposing to evaluate the performance of a spindle detector in a multi-objective optimization context and hypothesize that using the resultant Pareto fronts for deriving evaluation metrics will improve automatic sleep spindle detection. We use a popular multi-objective evolutionary algorithm (MOEA), the Strength Pareto Evolutionary Algorithm (SPEA2), to optimize six existing frequency-based sleep spindle detection algorithms. They include three Fourier, one continuous wavelet transform (CWT), and two Hilbert-Huang transform (HHT) based algorithms. We also explore three hybrid approaches. Trained and tested on open-access DREAMS and MASS databases, two new hybrid methods of combining Fourier with HHT algorithms show significant performance improvement with F<sub>1</sub>-scores of 0.726&#x02013;0.737.</p></abstract>
<kwd-group>
<kwd>sleep spindles</kwd>
<kwd>automatic detection</kwd>
<kwd>Hilbert-Huang transform</kwd>
<kwd>performance assessment</kwd>
<kwd>multi-objective evolutionary algorithm</kwd>
<kwd>Pareto front</kwd>
</kwd-group>
<contract-num rid="cn001">MOST 103-2911-I-008-001</contract-num>
<contract-num rid="cn001">MOST 105-2221-E-008-114</contract-num>
<contract-sponsor id="cn001">Ministry of Science and Technology, Taiwan<named-content content-type="fundref-id">10.13039/501100004663</named-content></contract-sponsor>
<counts>
<fig-count count="8"/>
<table-count count="4"/>
<equation-count count="22"/>
<ref-count count="46"/>
<page-count count="18"/>
<word-count count="10844"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>Introduction</title>
<p>Sleep spindles are brief (at least 0.5 s), distinct bursts of brain activity in the sigma frequency range (11&#x02013;16 Hz) as measured by electroencephalography (EEG). They are characterized by the waxing and waning shape of a spindle. Along with K-complexes they are key EEG features used to define non-rapid eye movement (NREM) stage 2 sleep in sleep scoring according to AASM (Iber et al., <xref ref-type="bibr" rid="B25">2007</xref>) guidelines. These oscillations are also of great biological and clinical interests because they potentially play an important role in identifying and characterizing the processes of aging, learning, memory consolidation, as well as various neurological disorders. For example, spindle density (events per minute), amplitude, and duration decrease with age (Crowley et al., <xref ref-type="bibr" rid="B7">2002</xref>; Martin et al., <xref ref-type="bibr" rid="B29">2013</xref>). Recent evidence also suggests that spindle density, frequency, and activity have been correlated with both intelligence and general mental ability (B&#x000F3;dizs et al., <xref ref-type="bibr" rid="B3">2005</xref>; Fogel et al., <xref ref-type="bibr" rid="B15">2007</xref>; Schabus et al., <xref ref-type="bibr" rid="B36">2008</xref>; Geiger et al., <xref ref-type="bibr" rid="B16">2011</xref>; Gruber et al., <xref ref-type="bibr" rid="B18">2013</xref>). In addition, increased sleep spindle density following learning improves memory consolidation (Eschenko et al., <xref ref-type="bibr" rid="B13">2006</xref>; Tamminen et al., <xref ref-type="bibr" rid="B39">2010</xref>; Bergmann et al., <xref ref-type="bibr" rid="B2">2012</xref>). On the other hand, the sleep spindle deficiency in schizophrenia subjects may reflect dysfunction in thalamic-reticular and thalamocortical mechanisms (Ferrarelli et al., <xref ref-type="bibr" rid="B14">2007</xref>). Some sleep spindle abnormalities implicating thalamocortical network dysfunction are also observed in schizophrenia (Wamsley et al., <xref ref-type="bibr" rid="B41">2012</xref>). Furthermore, sleep spindle alterations are associated with later development of dementia in Parkinson&#x00027;s disease, and thus may serve as an additional biomarker of cognitive decline in these patients (Latreille et al., <xref ref-type="bibr" rid="B28">2015</xref>). For the aforementioned reasons, detecting sleep spindles, and scoring their properties have become an important task in both research and clinical settings.</p>
<p>Sleep spindles are conventionally identified through visual inspection of the EEG data by expert sleep clinicians. Although such practice is the gold standard for spindle detection, it is a laborious, subjective process, and the results are rather inconsistent among different experts (O&#x00027;Reilly and Nielsen, <xref ref-type="bibr" rid="B34">2015</xref>). Because of the rapidly growing biological and clinical interests in sleep spindles, many automated detection methods of sleep spindles have been developed to improve the process. There are several basic methodological strategies for automating spindle detection, each of which has given rise to many closely related spindle detectors. One of the first automated sleep spindle detectors based on a bandpass filtering and amplitude thresholding approach was published by Schimicek et al. (<xref ref-type="bibr" rid="B37">1994</xref>). Thereafter, Fourier-based bandpass filtering has become the foundation of numerous new algorithms for frequency-based discrimination (M&#x000F6;lle et al., <xref ref-type="bibr" rid="B31">2002</xref>; Ferrarelli et al., <xref ref-type="bibr" rid="B14">2007</xref>; Huupponen et al., <xref ref-type="bibr" rid="B24">2007</xref>; B&#x000F3;dizs et al., <xref ref-type="bibr" rid="B4">2009</xref>; Wendt et al., <xref ref-type="bibr" rid="B44">2012</xref>; Martin et al., <xref ref-type="bibr" rid="B29">2013</xref>). Some algorithms replace the bandpass filtering with wavelet transformation (Sitnikova et al., <xref ref-type="bibr" rid="B38">2009</xref>; Wamsley et al., <xref ref-type="bibr" rid="B41">2012</xref>; Adamczyk et al., <xref ref-type="bibr" rid="B1">2015</xref>; Lajnef et al., <xref ref-type="bibr" rid="B27">2015</xref>; Tsanas and Clifford, <xref ref-type="bibr" rid="B40">2015</xref>). Alternatively, Causa et al. (<xref ref-type="bibr" rid="B6">2010</xref>) propose using Hilbert-Huang transform (HHT) for determining sleep spindle&#x00027;s instantaneous frequency and amplitude (Huang et al., <xref ref-type="bibr" rid="B22">1998</xref>). Although there are more and more open-access automated sleep spindle detectors becoming available in the literature (O&#x00027;Reilly, <xref ref-type="bibr" rid="B32">2013</xref>; Warby et al., <xref ref-type="bibr" rid="B43">2014</xref>), the performance of these open-access spindle detectors remains equally inconsistent from study to study because of: (1) the lack of common benchmark databases, and (2) the lack of commonly accepted evaluation metrics. The first problem has been addressed recently and in response, there are two publicly available databases: the DREAMS database (Devuyst, <xref ref-type="bibr" rid="B10">2013</xref>) and the Montreal Archive of Sleep Study (MASS) database (O&#x00027;Reilly et al., <xref ref-type="bibr" rid="B33">2014</xref>). The second problem has also received quite a lot of attention and resulted in several fruitful papers in the literature (Huupponen et al., <xref ref-type="bibr" rid="B24">2007</xref>; Devuyst et al., <xref ref-type="bibr" rid="B11">2011</xref>; Warby et al., <xref ref-type="bibr" rid="B43">2014</xref>; O&#x00027;Reilly and Nielsen, <xref ref-type="bibr" rid="B34">2015</xref>). However, we think that the second problem remains ambivalent as the gold standard may vary greatly from expert to expert (or institute to institute) even for the same dataset (Tables <xref ref-type="table" rid="T1">1</xref>, <xref ref-type="table" rid="T2">2</xref>; Devuyst et al., <xref ref-type="bibr" rid="B11">2011</xref>; Warby et al., <xref ref-type="bibr" rid="B43">2014</xref>; O&#x00027;Reilly and Nielsen, <xref ref-type="bibr" rid="B34">2015</xref>). To resolve this dilemma, we suggest that commonly acceptable evaluation metrics should be gold standard adaptive. This adaptive capability is crucial because abnormal spindles in general play a more important role in a real clinical setting. Therefore, an ideal detector should excel in the ability to find the clinically significant sleep spindles specified by a gold standard of the user&#x00027;s choice.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p><bold>Summary of sleep spindle numbers in DREAMS database with 4 different gold standards</bold>.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>GS\Subj</bold></th>
<th valign="top" align="center"><bold>Subj 1</bold></th>
<th valign="top" align="center"><bold>Subj 2</bold></th>
<th valign="top" align="center"><bold>Subj 3</bold></th>
<th valign="top" align="center"><bold>Subj 4</bold></th>
<th valign="top" align="center"><bold>Subj 5</bold></th>
<th valign="top" align="center"><bold>Subj 6</bold></th>
<th valign="top" align="center"><bold>Subj 7</bold></th>
<th valign="top" align="center"><bold>Subj 8</bold></th>
<th valign="top" align="center"><bold>Total</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Scorer 1</td>
<td valign="top" align="center">52</td>
<td valign="top" align="center">60</td>
<td valign="top" align="center">5</td>
<td valign="top" align="center">44</td>
<td valign="top" align="center">56</td>
<td valign="top" align="center">72</td>
<td valign="top" align="center">18</td>
<td valign="top" align="center">48</td>
<td valign="top" align="center">355</td>
</tr>
<tr>
<td valign="top" align="left">Scorer 2</td>
<td valign="top" align="center">115</td>
<td valign="top" align="center">52</td>
<td valign="top" align="center">44</td>
<td valign="top" align="center">25</td>
<td valign="top" align="center">86</td>
<td valign="top" align="center">87</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">409</td>
</tr>
<tr>
<td valign="top" align="left">Intersection</td>
<td valign="top" align="center">33</td>
<td valign="top" align="center">35</td>
<td valign="top" align="center">5</td>
<td valign="top" align="center">6</td>
<td valign="top" align="center">39</td>
<td valign="top" align="center">42</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">160</td>
</tr>
<tr>
<td valign="top" align="left">Union</td>
<td valign="top" align="center">134</td>
<td valign="top" align="center">77</td>
<td valign="top" align="center">44</td>
<td valign="top" align="center">63</td>
<td valign="top" align="center">103</td>
<td valign="top" align="center">117</td>
<td valign="top" align="center">18</td>
<td valign="top" align="center">48</td>
<td valign="top" align="center">604</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>GS stands for gold standard</italic>.</p>
</table-wrap-foot>
</table-wrap>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p><bold>Summary of MASS SS2 database with gold standards by Scorers 1 and 2, and their overlapping information by intersection and union operations</bold>.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Subj\GS</bold></th>
<th valign="top" align="center"><bold>Scorer 1</bold></th>
<th valign="top" align="center"><bold>Scorer 2</bold></th>
<th valign="top" align="center"><bold>Intersection</bold></th>
<th valign="top" align="center"><bold>Union</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Subj 1</td>
<td valign="top" align="center">1,040</td>
<td valign="top" align="center">2,389</td>
<td valign="top" align="center">1,025</td>
<td valign="top" align="center">2,404</td>
</tr>
<tr>
<td valign="top" align="left">Subj 2</td>
<td valign="top" align="center">1,142</td>
<td valign="top" align="center">2,191</td>
<td valign="top" align="center">1,120</td>
<td valign="top" align="center">2,212</td>
</tr>
<tr>
<td valign="top" align="left">Subj 3</td>
<td valign="top" align="center">143</td>
<td valign="top" align="center">596</td>
<td valign="top" align="center">134</td>
<td valign="top" align="center">605</td>
</tr>
<tr>
<td valign="top" align="left">Subj 4</td>
<td valign="top" align="center">250</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">Subj 5</td>
<td valign="top" align="center">341</td>
<td valign="top" align="center">1,186</td>
<td valign="top" align="center">331</td>
<td valign="top" align="center">1,194</td>
</tr>
<tr>
<td valign="top" align="left">Subj 6</td>
<td valign="top" align="center">150</td>
<td valign="top" align="center">829</td>
<td valign="top" align="center">139</td>
<td valign="top" align="center">838</td>
</tr>
<tr>
<td valign="top" align="left">Subj 7</td>
<td valign="top" align="center">905</td>
<td valign="top" align="center">1,572</td>
<td valign="top" align="center">820</td>
<td valign="top" align="center">1,655</td>
</tr>
<tr>
<td valign="top" align="left">Subj 8</td>
<td valign="top" align="center">384</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">Subj 9</td>
<td valign="top" align="center">810</td>
<td valign="top" align="center">1,643</td>
<td valign="top" align="center">781</td>
<td valign="top" align="center">1,671</td>
</tr>
<tr>
<td valign="top" align="left">Subj 10</td>
<td valign="top" align="center">790</td>
<td valign="top" align="center">1,909</td>
<td valign="top" align="center">769</td>
<td valign="top" align="center">1,930</td>
</tr>
<tr>
<td valign="top" align="left">Subj 11</td>
<td valign="top" align="center">605</td>
<td valign="top" align="center">1,521</td>
<td valign="top" align="center">594</td>
<td valign="top" align="center">1,529</td>
</tr>
<tr>
<td valign="top" align="left">Subj 12</td>
<td valign="top" align="center">705</td>
<td valign="top" align="center">1,188</td>
<td valign="top" align="center">653</td>
<td valign="top" align="center">1,236</td>
</tr>
<tr>
<td valign="top" align="left">Subj 13</td>
<td valign="top" align="center">692</td>
<td valign="top" align="center">1,427</td>
<td valign="top" align="center">658</td>
<td valign="top" align="center">1,458</td>
</tr>
<tr>
<td valign="top" align="left">Subj 14</td>
<td valign="top" align="center">708</td>
<td valign="top" align="center">1,601</td>
<td valign="top" align="center">681</td>
<td valign="top" align="center">1,626</td>
</tr>
<tr>
<td valign="top" align="left">Subj 15</td>
<td valign="top" align="center">97</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">Subj 16</td>
<td valign="top" align="center">445</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">Subj 17</td>
<td valign="top" align="center">469</td>
<td valign="top" align="center">1,189</td>
<td valign="top" align="center">453</td>
<td valign="top" align="center">1,205</td>
</tr>
<tr>
<td valign="top" align="left">Subj 18</td>
<td valign="top" align="center">1,156</td>
<td valign="top" align="center">1,662</td>
<td valign="top" align="center">1,045</td>
<td valign="top" align="center">1,773</td>
</tr>
<tr style="border-bottom: thin solid #000000;">
<td valign="top" align="left">Subj 19</td>
<td valign="top" align="center">315</td>
<td valign="top" align="center">1,048</td>
<td valign="top" align="center">311</td>
<td valign="top" align="center">1,052</td>
</tr> <tr>
<td valign="top" align="left">Total</td>
<td valign="top" align="center">11,147</td>
<td valign="top" align="center">21,951</td>
<td valign="top" align="center">9,514</td>
<td valign="top" align="center">22,388</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In this paper, we have focused on tackling the second problem by proposing to evaluate the performance of a spindle detector in a multi-objective optimization context with the resultant Pareto fronts as the basis for deriving more commonly accepted performance evaluation metrics such as precision (P), recall (R), and F<sub>1</sub>-scores. In a nutshell, the performance of any type of detector can be characterized by two competing objectives: low false negative (FN) and low false positive (FP) rates (Huang et al., <xref ref-type="bibr" rid="B20">2010</xref>). As a sleep spindle detector generally has several operating parameters such as upper/lower frequency, amplitude, and duration criteria, these parameters can be adjusted and optimized according to a given training dataset with a specific gold standard. Among all possible combinations of operating parameter values, the commonly accepted optimal solutions of such a multi-objective problem are a set of Pareto optimal solutions known as the Pareto front in objective space (Figure <xref ref-type="fig" rid="F1">1A</xref>; Knowles and Corne, <xref ref-type="bibr" rid="B26">2000</xref>; Zitzler et al., <xref ref-type="bibr" rid="B45">2001a</xref>; Messac et al., <xref ref-type="bibr" rid="B30">2003</xref>). Although no close form solutions are available for most spindle detectors, these types of optimization problems can be solved by using multi-objective evolutionary algorithms (MOEA). MOEA is a mature technique that is applied in many fields (Doncieux et al., <xref ref-type="bibr" rid="B12">2011</xref>) and efficient MOEAs now exist, as for instance NSGA-II (Deb et al., <xref ref-type="bibr" rid="B9">2002</xref>) and &#x003B5;-MOEA (Deb et al., <xref ref-type="bibr" rid="B8">2005</xref>). Compared with any empirical chosen operating point shown in Figure <xref ref-type="fig" rid="F1">1</xref>, the Pareto optimal solutions of FN and FP and their derived PR- and F<sub>1</sub>-curves are much more informative in evaluating and comparing automatic spindle detectors. We hypothesize that the Pareto optimal operating parameters solved by using MOEA will improve automatic sleep spindle detection. The rationale and derivation are given in the Methods section.</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p><bold>Pareto fronts and proposed performance metrics for detector d<sub>3</sub>, trained results by using DREAMS database with the union gold standard (Table <xref ref-type="table" rid="T1">1</xref>)</bold>. <bold>(A)</bold> 100 randomly chosen operating parameter values (crosses) and the Pareto front (green dots) solved by SPEA2. <bold>(B)</bold> The performance of d<sub>3</sub> with a single set of values (red circle) and with an adjustable threshold (blue dots). <bold>(C)</bold> PR-curve as performance metrics derived from FN and FP in <bold>(B)</bold>. <bold>(D)</bold> Derived <italic>F</italic><sub>1</sub>-curve.</p></caption>
<graphic xlink:href="fnhum-11-00261-g0001.tif"/>
</fig>
<p>Here we used the Strength Pareto Evolutionary Algorithm (SPEA2) (Zitzler et al., <xref ref-type="bibr" rid="B45">2001a</xref>,<xref ref-type="bibr" rid="B46">b</xref>), another popular MOEA, to optimize six existing frequency-based sleep spindle detection algorithms. They included three Fourier (M&#x000F6;lle et al., <xref ref-type="bibr" rid="B31">2002</xref>; Ferrarelli et al., <xref ref-type="bibr" rid="B14">2007</xref>; Martin et al., <xref ref-type="bibr" rid="B29">2013</xref>), one continuous wavelet transform (CWT) (Tsanas and Clifford, <xref ref-type="bibr" rid="B40">2015</xref>), and two Hilbert-Huang transform (HHT) based algorithms (Causa et al., <xref ref-type="bibr" rid="B6">2010</xref>; Huang et al., <xref ref-type="bibr" rid="B21">2015</xref>). We also explored three hybrid approaches in combining Fourier- or CWT- with HHT-based methods for improvement. The experiment was conducted by using both hold-out and cross-validation strategies such that hold-out was used to assess overfitting by our SPEA2 implementations and cross-validation was used to assess spindle detectors. The sleep spindle data and experimental methods are delineated in the following section.</p>
</sec>
<sec sec-type="materials and methods" id="s2">
<title>Materials and methods</title>
<sec>
<title>Data</title>
<p>Two publicly available databases were used to evaluate 6 simplex and 3 hybrid automated sleep spindle detection algorithms. The first sleep EEG database was from the DREAMS Spindles Database of University of MONS&#x02014;TCTS Laboratory and Universit&#x000E9; Libre de Bruxelles&#x02014;CHU de Charleroi Sleep Laboratory (Devuyst, <xref ref-type="bibr" rid="B10">2013</xref>). It consists of eight patients (4 men and 4 women aged between 31 and 53) with different pathologies (Devuyst et al., <xref ref-type="bibr" rid="B11">2011</xref>). A segment of 30 min of the central EEG channel (C3-A1 or Cz-A1) from these 8 individual patients are publicly available on the DREAMS Database website where the sampling frequency is 200 Hz (6 patients), 100 Hz (1 patient), and 50 Hz (1 patient) respectively. Sleep spindles of these 30-min-long EEG signals are annotated independently by two experts. The second expert annotated only six out of eight datasets and the spindles are uniformly assigned 1-s-long duration. In order to build a common ground truth from multiple raters, there are several different approaches such as treating individual rater separately (O&#x00027;Reilly and Nielsen, <xref ref-type="bibr" rid="B34">2015</xref>), the total agreement (intersection operation; Devuyst et al., <xref ref-type="bibr" rid="B11">2011</xref>), and partial agreement (union operation; Warby et al., <xref ref-type="bibr" rid="B43">2014</xref>; Tsanas and Clifford, <xref ref-type="bibr" rid="B40">2015</xref>). For forming (total/partial) agreement sets, we took the same approach proposed by Tsanas and Clifford (<xref ref-type="bibr" rid="B40">2015</xref>) specifically for the DREAMS database. In the case of overlapped spindles, we only kept the annotations by expert 1 for their better duration assessment. In total, the number of identified spindles was 355 (from 8 subjects) by scorer 1, 409 (from 6 subjects) by scorer 2, 160 by both, and 604 by either, respectively. The details are summarized in Table <xref ref-type="table" rid="T1">1</xref>. Note that the authors of the DREAMS database did not specify which scoring rules the experts used for scoring spindles.</p>
<p>The second EEG sleep database was a subset (denoted as SS2) of the MASS database. The MASS database consists of 200 polysomnographic (PSG) recordings gathered from eight research protocols conducted between 2001 and 2013 in three different laboratories at the Center for Advanced Research in Sleep Medicine (CARSM), Montreal, Canada (O&#x00027;Reilly et al., <xref ref-type="bibr" rid="B33">2014</xref>). The MASS SS2 consists of 19 complete-night PSG recordings sampled at 256 Hz from young healthy subjects. For this subset, sleep spindles are scored by two experts on NREM stage 2 sleep epochs and on channel C3 with linked-ear reference. The first scorer used traditional AASM scoring rules. The second scorer used both broad-band EEG signals (0.35&#x02013;35 Hz band) and sigma filtered signals (11&#x02013;17 Hz band) to facilitate the identification of short duration, small amplitude or obscured (by delta waves or K-complexes) spindles. Also, no minimal spindle duration was used by the second scorer and four datasets (out of the 19) were not scored due to poor quality sleep or signal (O&#x00027;Reilly and Nielsen, <xref ref-type="bibr" rid="B34">2015</xref>). In total, the number of identified spindles was 11,147 (from 19 subjects) by scorer 1, 21,951 (from 15 subjects) by scorer 2, 9,514 by both, and 22,388 by either, respectively. The details are summarized in Table <xref ref-type="table" rid="T2">2</xref>. Note that the total/partial (intersection/union) agreement in Table <xref ref-type="table" rid="T2">2</xref> is solely given as supplementary information to describe inter-rater agreement. The intersection and union operations were carried out based on each sample point (by-sample) and then the resultant spindle points were regrouped into individual sleep spindles (by-event) without duration checking.</p>
</sec>
<sec>
<title>Performance evaluation</title>
<p>The performance of a diagnostic test is generally characterized by sensitivity and specificity. However, sleep spindles are sparse events such that their lengths sum up to 8.2 (mean) &#x000B1; 4.9 (standard deviation) and 29.4 &#x000B1; 11.2 min per whole night sleep according to scorers 1&#x00027;s and 2&#x00027;s annotations of the MASS SS2 database respectively. The performance evaluation using specificity measurement will be high and therefore provide unrealistically positive results. To avoid this pitfall, Warby et al. (<xref ref-type="bibr" rid="B43">2014</xref>) propose using precision, recall, and F<sub>1</sub>-score for the evaluation of infrequent, discrete events such as sleep spindles in the EEG signal. Let <italic>TP</italic> denote the amount of true positives, <italic>FN</italic> false negatives and <italic>FP</italic> false positives, precision, <italic>P</italic>, and recall, <italic>R</italic>, are defined as:</p>
<disp-formula id="E1"><label>(1)</label><mml:math id="M1"><mml:mrow><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>T</mml:mi><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>F</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula>
<disp-formula id="E2"><label>(2)</label><mml:math id="M2"><mml:mrow><mml:mi>R</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>T</mml:mi><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>F</mml:mi><mml:mi>N</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula>
<p>Taking the weighted harmonic average of precision and recall leads to the <italic>F</italic>-score,</p>
<disp-formula id="E3"><label>(3)</label><mml:math id="M3"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>&#x003B2;</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mi>&#x003B2;</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mfrac><mml:mrow><mml:mi>P</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>R</mml:mi><mml:mo>+</mml:mo><mml:msup><mml:mi>&#x003B2;</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mi>P</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mi>&#x003B2;</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mi>&#x003B2;</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:msup><mml:mi>&#x003B2;</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mi>F</mml:mi><mml:mi>N</mml:mi><mml:mo>+</mml:mo><mml:mi>F</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula>
<p>If we assume a uniform prior (&#x003B2; &#x0003D; 1), then</p>
<disp-formula id="E4"><label>(4)</label><mml:math id="M4"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>P</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>R</mml:mi></mml:mrow></mml:mfrac><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
<p>Although <italic>P, R</italic>, and <italic>F</italic><sub>1</sub> are commonly used evaluation metrics for the assessment of spindle detector performance, so far their potentials have not been fully explored yet. In the original work of Warby et al. (<xref ref-type="bibr" rid="B43">2014</xref>), spindle detectors were only tested with default operating parameters. This view is too narrow as a detector generally has several adjustable operating parameters that allow the user to optimize its performance between two competing objectives: minimizing <italic>FN</italic> and minimizing <italic>FP</italic>. For example, we can take the root mean square (RMS) algorithm of Martin et al. (<xref ref-type="bibr" rid="B29">2013</xref>) and test it out on the DREAMS database, the default operating parameter with a threshold of 0.95 (95 percentile) and a duration between 0.3 and 3 s. The result is simply a point (red circle) among many other possible performances (black crosses) on the objective space as shown in Figures <xref ref-type="fig" rid="F1">1A,B</xref>. O&#x00027;Reilly and Nielsen (<xref ref-type="bibr" rid="B34">2015</xref>) took a step forward by making the threshold an adjustable parameter within a range between 0.7 and 0.995. The resultant <italic>FN</italic>-<italic>FP</italic> pairs, <italic>PR</italic>-curve and <italic>F</italic><sub>1</sub>-curve (blue dots in Figures <xref ref-type="fig" rid="F1">1B&#x02013;D</xref>) provide a broader view to evaluate the detector&#x00027;s performance. In this study, we extended the idea of O&#x00027;Reilly and Nielsen (<xref ref-type="bibr" rid="B34">2015</xref>) even further by making adjustable more operating parameters (such as the upper and lower duration criteria) and derived the performance metrics from the Pareto optimal solutions (green dots in Figure <xref ref-type="fig" rid="F1">1</xref>) in the multi-objective optimization context. Figure <xref ref-type="fig" rid="F1">1</xref> demonstrates that results from a detector can be improved substantially in a multi-objective context by allowing the operating parameters to adapt to a training gold standard and that its Pareto optimal solutions enable us to define some useful performance metrics uniquely. The following section summarizes the proposed performance metrics more formally.</p>
</sec>
<sec>
<title>Pareto front-derived performance metrics</title>
<p>In a multi-objective context, the performance of a sleep spindle detector is described by a pair of raw numbers: <italic>FN</italic> and <italic>FP</italic>. The number of detections on the C3 channel of EEG signals that do not have an appropriate overlap rate (<italic>R</italic><sub>ov</sub>) with any true sleep spindle (SS) is defined as <italic>FP</italic>; similarly, the number of true sleep spindles that are not detected by automatic detectors is defined as <italic>FN</italic>. Note that <italic>FN</italic> and <italic>FP</italic> were defined in the event-by-event analysis context (Warby et al., <xref ref-type="bibr" rid="B43">2014</xref>) throughout this study. Note also that a true positive event-detection (D) was scored based on an overlap rate,</p>
<disp-formula id="E5"><label>(5)</label><mml:math id="M5"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mtext>ov</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mtext>SS</mml:mtext><mml:mo>&#x02229;</mml:mo><mml:mtext>D</mml:mtext></mml:mrow><mml:mrow><mml:mtext>SS</mml:mtext><mml:mo>&#x0222A;</mml:mo><mml:mtext>D</mml:mtext></mml:mrow></mml:mfrac><mml:mo>&#x0003E;</mml:mo><mml:mn>0.2.</mml:mn></mml:mrow></mml:math></disp-formula>
<p>We followed these scoring rules to make our results comparable to the work by Warby et al. (<xref ref-type="bibr" rid="B43">2014</xref>) because the first three Fourier-based detectors evaluated in this study were derived directly from their work.</p>
<p>In mathematical terms, let <italic>FN</italic> and <italic>FP</italic> be described as functions of an operating parameter set <bold>x</bold>: <italic>FP</italic>(<bold>x</bold>) and <italic>FN</italic>(<bold>x</bold>). For example, <bold>x</bold> includes threshold, lower duration, and upper duration for the RMS algorithm illustrated in Figure <xref ref-type="fig" rid="F1">1</xref>. Figure <xref ref-type="fig" rid="F1">1A</xref> shows a random selection <bold>x</bold>&#x00027;s of 100 possible operating parameter combinations with their results [<italic>FN</italic>(<bold>x</bold>), <italic>FP</italic>(<bold>x</bold>)] scattered around the objective space. The optimal solutions of such a detector involve minimizing both <italic>FN</italic> and <italic>FP</italic> rates simultaneously. Since low <italic>FN</italic> and <italic>FP</italic> rates are two conflicting objectives, this problem does not produce a single optimal solution but a set of possible solutions known as a Pareto optimal set, which results in a Pareto front (green dots in Figure <xref ref-type="fig" rid="F1">1A</xref>) in objective space. A Pareto front is essentially an objective boundary such that any solution on the front can only be outperformed by another solution in at most one of the two competing objectives. Therefore, a Pareto optimal set is also called a Pareto non-dominated set.</p>
<p>Formally the multi-objective optimization problem can be equivalently stated as minimizing a two-objective vector</p>
<disp-formula id="E6"><label>(6)</label><mml:math id="M6"><mml:mrow><mml:mi>F</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>F</mml:mi><mml:mi>N</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mo stretchy='false'>)</mml:mo><mml:mo>,</mml:mo><mml:mi>F</mml:mi><mml:mi>P</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>where <bold>x</bold> is the vector of a detector&#x00027;s operating parameters. A solution <bold>x</bold><sub>1</sub> is said to dominate <bold>x</bold><sub>2</sub> if and only if</p>
<disp-formula id="E7"><label>(7)</label><mml:math id="M7"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mi>F</mml:mi><mml:mi>N</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mtext>&#x000A0;</mml:mtext><mml:mo>&#x02264;</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:mi>F</mml:mi><mml:mi>N</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mtext>&#x000A0;</mml:mtext><mml:mo>&#x000A0;</mml:mo><mml:mtext>and</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>F</mml:mi><mml:mi>P</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mtext>&#x000A0;</mml:mtext><mml:mo>&#x02264;</mml:mo><mml:mi>F</mml:mi><mml:mi>P</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x000A0;</mml:mo><mml:mtext>&#x000A0;and</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mi>F</mml:mi><mml:mi>N</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow><mml:mo>&#x0003C;</mml:mo><mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>N</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x000A0;</mml:mo><mml:mtext>&#x000A0;or</mml:mtext><mml:mo>&#x000A0;</mml:mo><mml:mi>F</mml:mi><mml:mi>P</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x0003C;</mml:mo><mml:mi>F</mml:mi><mml:mi>P</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <bold>x</bold><sub>2</sub> &#x02260; <bold>x</bold><sub>1</sub>. From the aforementioned Pareto optimal solutions and Equations (1&#x02013;4), we are able to derive PR-curves and <italic>F</italic><sub>1</sub>-curves that are Pareto optimal as illustrated in Figures <xref ref-type="fig" rid="F1">1C,D</xref>.</p>
<p>The solutions of Equation (6) satisfying the conditions listed in Equation (7) can be found rather efficiently by MOEA with genetic mechanisms. In a standard genetic algorithm, there are usually four steps in the evolutionary procedure: (1) randomly initializing the solution population, (2) evaluating and assigning a fitness value for each individual in the population according to its performance, (3) selecting individuals based on their fitness values to procreate, and (4) using crossover and mutation to produce next generation from the selected individuals. In this study, we used the SPEA2 algorithm to find the Pareto fronts of all of the 9 examined detectors. SPEA2 was selected for its fast convergence rate and good performance because it kept a relatively small, yet diverse population (Zitzler et al., <xref ref-type="bibr" rid="B45">2001a</xref>).</p>
<p>A brief work flowchart of our proposed metrics is provided in Figure <xref ref-type="fig" rid="F2">2</xref>. It consists of three key modules: (1) detector, (2) subsample, and (3) SPEA2 modules. Six simplex and 3 hybrid detectors with their operating parameter descriptions are given in Sections Six Simplex Detectors and Three Hybridization Detectors respectively. Subsample and SPEA2 implementations are delineated in Sections Subsample Strategy and SPEA2 Module.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p><bold>Work flowchart of proposed evaluation metrics</bold>.</p></caption>
<graphic xlink:href="fnhum-11-00261-g0002.tif"/>
</fig>
</sec>
<sec>
<title>Six simplex detectors</title>
<p>Fourier-based bandpass filtering (Figure <xref ref-type="fig" rid="F3">3</xref>, 2nd row) is the foundation of many automated detection methods for identifying the frequency of sleep spindles. The main difference among such bandpass automatic spindle detectors is to apply various methodological strategies for improving the identification of the &#x0201C;right amplitude&#x0201D; and &#x0201C;right duration&#x0201D; of sleep spindles. Alternatively, CWT and HHT for frequency discrimination are also proposed in more recent approaches. We have focused on six existing algorithms: three using Fourier filtering, one using CWT, and two using HHT. They are briefly reviewed as follows.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p><bold>Frequency-based sleep spindle detection</bold>. An example C3 signal (data 1 from the MASS database) with sleep spindles marked by scorer 1 in red and scorer 2 in green (1st row). Bandpass filtering results (2nd row). Envelope of rectified filtered signal peaks (blue) and RMS (red) of filtered results (3rd row). Normalized power spectrum of CWT coefficients (4th row). CWT probabilistic estimate derived from top 10 coefficients (5th row). First 3 IMFs by the EMD method (6th row). High frequency component extracted by the rolling ball sifting algorithm with a cutoff frequency at 10 Hz (7th row). Fuzzy logic estimates of d<sub>5</sub> (red) and d<sub>6</sub> (blue) (8th row).</p></caption>
<graphic xlink:href="fnhum-11-00261-g0003.tif"/>
</fig>
<sec>
<title>Detector 1. (d<sub>1</sub>). Ferrarelli&#x00027;s bandpass filtering and amplitude thresholding</title>
<p>The first detector d<sub>1</sub>, proposed by Ferrarelli et al. (<xref ref-type="bibr" rid="B14">2007</xref>), detects sleep spindles through bandpass filtering and using lower and upper amplitude thresholds. In our Pareto-optimization software implementation (refer to <xref ref-type="supplementary-material" rid="SM1">Supplementary Material</xref> for all software implementation), the EEG signal was preprocessed with a filter using the bandpass setting published by Warby et al. (<xref ref-type="bibr" rid="B43">2014</xref>) and the envelope of the rectified filtered signal peaks (blue curve in Figure <xref ref-type="fig" rid="F3">3</xref>, 3rd row) was thresholded by two parameters: <italic>p</italic><sub>1,1</sub> &#x000D7; <italic>A</italic><sub>1</sub> and <italic>p</italic><sub>1,2</sub> &#x000D7; <italic>A</italic><sub>2</sub>. <italic>A</italic><sub>1</sub> and <italic>A</italic><sub>2</sub> were derived respectively from the peak and average amplitude of filtered signals in NREM stages 2, 3, and 4; <italic>p</italic><sub>1,1</sub> and <italic>p</italic><sub>1,2</sub> were the lower and upper threshold ratios respectively. Finally, each spindle candidate was examined by the lower and upper duration criteria <italic>p</italic><sub>1,3</sub> and <italic>p</italic><sub>1,4</sub> s. As an optimization algorithm in our implementation, the vector of operating parameters for detector d<sub>1</sub> can be explicitly expressed as</p>
<disp-formula id="E8"><label>(8)</label><mml:math id="M8"><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mrow><mml:mtext>d</mml:mtext><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
</sec>
<sec>
<title>Detector 2. (d<sub>2</sub>). M&#x000F6;lle&#x00027;s bandpass filtering and RMS thresholding</title>
<p>M&#x000F6;lle et al. (<xref ref-type="bibr" rid="B31">2002</xref>) published a detection method by first applying a bandpass filter to the EEG signal and then computing the RMS of the filtered signal. In our software implementation, the RMS of the filtered signal was calculated with a time resolution of <italic>p</italic><sub>2,1</sub> s and a window of <italic>p</italic><sub>2,2</sub> s. The lower amplitude threshold was defined as <italic>p</italic><sub>2,3</sub> (a threshold ratio) times the standard deviation of the filtered NREM stage 2 signals. Parameters <italic>p</italic><sub>2,4</sub> and <italic>p</italic><sub>2,5</sub> defined the lower and upper spindle durations. The vector of operating parameters for detector d<sub>2</sub> was</p>
<disp-formula id="E9"><label>(9)</label><mml:math id="M9"><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mrow><mml:mtext>d</mml:mtext><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
</sec>
<sec>
<title>Detector 3. (d<sub>3</sub>). Martin&#x00027;s bandpass filtering and RMS thresholding</title>
<p>Martin et al. (<xref ref-type="bibr" rid="B29">2013</xref>) published a detection method that also took the RMS approach (similar to d<sub>2</sub>) with different time resolution <italic>p</italic><sub>3,1</sub> &#x0003D; 0.25 s, time window <italic>p</italic><sub>3,2</sub> &#x0003D; 0.25 s, and a threshold ratio <italic>p</italic><sub>3,3</sub> as the 95 percentile (0.95) of the RMS amplitude of the bandpass filtered signal in NREM stages 2, 3, and 4. And <italic>p</italic><sub>3,4</sub> and <italic>p</italic><sub>3,5</sub> defined the lower and upper spindle durations. In this study, however, time resolution <italic>p</italic><sub>3,1</sub> and time window <italic>p</italic><sub>3,2</sub> were fixed at 0.1 and 0.25 s respectively so that RMS was preprocessed only once to reduce the high RMS-and-percentile computation cost for all NREM stages 2, 3, and 4. Note that <italic>p</italic><sub>3,1</sub> was lowered from 0.25 to 0.1 s for a finer time resolution. An example RMS is shown as the red curve in Figure <xref ref-type="fig" rid="F3">3</xref>, 3rd row. The final vector of operating parameters for detector d<sub>3</sub> was</p>
<disp-formula id="E10"><label>(10)</label><mml:math id="M10"><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mrow><mml:mtext>d</mml:mtext><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
</sec>
<sec>
<title>Detector 4. (d<sub>4</sub>). Tsanas&#x00027; CWT instantaneous probabilistic estimate with moving averaging</title>
<p>Detector d<sub>4</sub> is one of two CWT-based methods proposed by Tsanas and Clifford (<xref ref-type="bibr" rid="B40">2015</xref>). With a Morlet basis function which identifies regions where the power of CWT coefficients corresponding to frequencies of spindles, d<sub>4</sub> has the advantage over the previous 3 Fourier-based methods without needing the sleep stage information for deriving a normalized threshold. However, it is also the most complicated detector with 15 adjustable parameters. In our implementation, we first made the lower and upper spindle frequencies adjustable parameters <italic>p</italic><sub>4,1</sub> and <italic>p</italic><sub>4,2</sub>. The normalized percentage power of the CWT coefficients (Figure <xref ref-type="fig" rid="F3">3</xref>, 4th row) were sorted in descending order at each time instant and the instantaneous probabilistic estimate of spindle occurrence was derived from the top 10 scales which fell in the range between <italic>p</italic><sub>4,1</sub> and <italic>p</italic><sub>4,2</sub> Hz. Second, the probabilistic estimate was smoothed by a moving average filter of <italic>p</italic><sub>4,3</sub> s (Figure <xref ref-type="fig" rid="F3">3</xref>, 5th row<bold>)</bold>. Third, candidate spindles were detected by a probabilistic estimate threshold <italic>p</italic><sub>4,4</sub> and initial regions longer than <italic>p</italic><sub>4,5</sub> s were kept and merged with neighboring regions if their time gap was shorter than <italic>p</italic><sub>4,6</sub> s. The last step was to group together regions which contained series of samples with high probabilities of denoting spindles. There were two grouping rules. One was for grouping intermediate spindle candidates with a lower average probability threshold <italic>p</italic><sub>4,10</sub> and one candidate was at least <italic>p</italic><sub>4,8</sub> s long and the other was at least <italic>p</italic><sub>4,9</sub> s. Similarly, <italic>p</italic><sub>4,7</sub>, <italic>p</italic><sub>4,11</sub>, and <italic>p</italic><sub>4,12</sub> were for grouping strong spindle candidates with an higher average probability threshold <italic>p</italic><sub>4,7</sub> and a duration over <italic>p</italic><sub>4,11</sub> or <italic>p</italic><sub>4,12</sub> s. Finally, <italic>p</italic><sub>4,13</sub>, <italic>p</italic><sub>4,14</sub>, and <italic>p</italic><sub>4,15</sub> were the merging time gap, lower duration, and upper mergeable duration criteria, respectively. The vector of operating parameters for detector d<sub>4</sub> was</p>
<disp-formula id="E11"><label>(11)</label><mml:math id="M11"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mrow><mml:mtext>d</mml:mtext><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>7</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>8</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>9</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>10</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mrow><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>12</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>13</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>14</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>15</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
</sec>
<sec>
<title>Detector 5. (d<sub>5</sub>). Causa&#x00027;s HHT instantaneous frequency and amplitude fuzzy-logic estimate</title>
<p>Causa et al. (<xref ref-type="bibr" rid="B6">2010</xref>) proposed using HHT-derived instantaneous amplitude and frequency for determining sleep spindle&#x00027;s probabilistic estimate. HHT is fundamentally different from Fourier- or CWT-based approaches because it can generate physically meaningful components, called intrinsic mode functions (IMFs), empirically through a sifting procedure which fits extrema with splines recursively (Huang et al., <xref ref-type="bibr" rid="B22">1998</xref>). In our software implementation, we generated first three IMFs (Figure <xref ref-type="fig" rid="F3">3</xref>, 6th row) and used a zero crossing method (Huang et al., <xref ref-type="bibr" rid="B23">2009</xref>) for estimating their instantaneous frequency. For deriving probabilistic estimates, 4 positive parameters <italic>p</italic><sub>5,1</sub>, <italic>p</italic><sub>5,2</sub>, <italic>p</italic><sub>5,3</sub>, and <italic>p</italic><sub>5,4</sub> &#x003BC;V were used to form the trapezoidal-shaped membership function (<italic>p</italic><sub>5,2&#x02212;</sub> <italic>p</italic><sub>5,1</sub>, <italic>p</italic><sub>5,2</sub>, <italic>p</italic><sub>5,2&#x0002B;</sub> <italic>p</italic><sub>5,3</sub>, <italic>p</italic><sub>5,2&#x0002B;</sub> <italic>p</italic><sub>5,3&#x0002B;</sub> <italic>p</italic><sub>5,4</sub>) for amplitude. Similarly, 4 parameters <italic>p</italic><sub>5,5</sub>, <italic>p</italic><sub>5,6</sub>, <italic>p</italic><sub>5,7</sub>, and <italic>p</italic><sub>5,8</sub> Hz for frequency. The fuzzy-logic estimates from amplitude and frequency were multiplied for each IMF respectively, and the maximal estimate of all 3 IMFs at each sample time was retained as the final fuzzy-logic estimate (red curve in Figure <xref ref-type="fig" rid="F3">3</xref>, 8th row). Lastly, the final estimate was thresholded by <italic>p</italic><sub>5,9</sub>, merged by a time gap criterion <italic>p</italic><sub>5,10</sub> s, and checked by lower and upper duration criteria <italic>p</italic><sub>5,11</sub> and <italic>p</italic><sub>5,12</sub> s. The vector of operating parameters for d<sub>5</sub> was</p>
<disp-formula id="E12"><label>(12)</label><mml:math id="M12"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mrow><mml:mtext>d</mml:mtext><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>7</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>8</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>9</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>10</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mrow><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>12</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
</sec>
<sec>
<title>Detector 6. (d<sub>6</sub>). Huang&#x00027;s rolling ball sifting frequency and amplitude fuzzy-logic estimate</title>
<p>Huang et al. (<xref ref-type="bibr" rid="B21">2015</xref>) proposed a new HHT-based detector that applied a bandpass empirical mode decomposition (EMD) algorithm to extract IMFs with an adjustable frequency discriminating capability. It worked in a way similar to d<sub>5</sub> except that the IMF containing sleep spindles was extracted by using two rolling balls (with cutoff frequencies at 10 and 16 Hz respectively) for selecting appropriate extrema in the sifting process. Since the rolling ball algorithm was computationally expensive, instead of using two balls, we applied a new rolling ball sifting algorithm (Huang et al., <xref ref-type="bibr" rid="B19">2016</xref>) with only one ball (cutoff frequency at 10 Hz) in our new software implementation for processing long MASS datasets. The extracted high frequency component (&#x0003E;10 Hz), illustrated in Figure <xref ref-type="fig" rid="F3">3</xref>, 7th row, generated only one set of instantaneous amplitude. However, 5 average frequencies were estimated with a window of 1, 3, 5, 7, 9 zero-crossings for smoothing purpose. The fuzzy-logic estimation (blue curve in Figure <xref ref-type="fig" rid="F3">3</xref>, 8th row), thresholding, merging and duration checking were performed identically as d<sub>5</sub>. Therefore, the vector of operating parameters for d<sub>6</sub> was also identical to <bold>x</bold><sub>d5</sub>.</p>
</sec>
</sec>
<sec>
<title>Three hybridization detectors</title>
<p>There are different ways in hybridizing different detectors for performance improvement. Simple approaches include intersection (total agreement) and union (partial agreement) of the results from multiple detectors. However, such a simple design through giving different weights to different detectors increase the computational cost cumulatively because it needs to collect the results from all participating detectors. Instead, in this study, we followed a double reading paradigm, in which the first detector screened all data to find potential sleep spindles as usual. However, the second detector only reviewed the sleep spindle candidates identified by the first detector. This approach was taken to balance between accuracy and computation cost.</p>
<p>We selected d<sub>2</sub>, d<sub>4</sub>, and d<sub>6</sub> from the RMS, CWT, and HHT categories respectively for composing 3 hybridization detectors. First, hybrid detector d<sub>7</sub> was composed of d<sub>6</sub> as the first detector and d<sub>2</sub> as the second detector. Its operating vector <bold>x</bold><sub>d7</sub> &#x0003D; {<bold>x</bold><sub>d6</sub>, <bold>x</bold><sub>d2</sub>} had 17 parameters in total. Second, hybrid detector d<sub>8</sub> was composed of d<sub>2</sub> as the first detector and d<sub>6</sub> as the second detector. Its operating vector <bold>x</bold><sub>d8</sub> &#x0003D; {<bold>x</bold><sub>d2</sub>, <bold>x</bold><sub>d6</sub>} had 17 parameters. Third, hybrid detector d<sub>9</sub> was composed of d<sub>4</sub> as the first detector and d<sub>6</sub> as the second detector. Its operating vector <bold>x</bold><sub>d9</sub> &#x0003D; {<bold>x</bold><sub>d4</sub>, <bold>x</bold><sub>d6</sub>} had 27 parameters.</p>
</sec>
<sec>
<title>Subsample strategy</title>
<p>Since the total length of sleep spindles in the MASS SS2 datasets ranged from only 8 to 30 min per night, we decided to extract a subsample of 60 min from each whole night sleep in the training datasets to reduce SPEA2 computation time. Considering that our tested detectors used intrinsically different methods to estimate frequency, we did not want to create a common, single subsample for all of them. Instead, we tried to apply the optimal parameters derived from the DREAMS database by each individual detector to collect its own false positives from the training set of MASS database. These detector-dependent false positives and all true positives (defined by the chosen gold standard) were used to create small segments of signals. These small segments were dilated by 2.5 s from both ends and merged (if overlapped) to form a pool of bigger segments. From this pool, we randomly picked a total amount of 60 min long signals with true and false spindles. Tested with the maximal F<sub>0.5</sub>-, F<sub>1</sub>-, and F<sub>2</sub>-score (beta &#x0003D; 0.5, 1, 2 in Equation 3), we found that the parameters achieving the highest F<sub>2</sub>-score based on the union gold standard of the DREAMS database were a good choice for generating false detection subsamples from the MASS database.</p>
</sec>
<sec>
<title>SPEA2 module</title>
<p>SPEA2 software has three mandatory input operating parameters: (1) solution population size, (2) maximum number of generations, and (3) minimum and maximum boundary values of the optimized detector&#x00027;s operating parameters. In this study, the solution population sizes and maximum generations were empirically chosen such that they were at least 10 times of the number of operating parameters. On several occasions, some of these numbers were increased by 50&#x02013;100 than the aforementioned recommendations to ensure convergence to Pareto front solutions. Note that population size, number of generations, and parameter boundary values were empirically chosen in the training stage of the hold-out experiment described in the following section. Their values are listed in Section Spindle Detection Performance on DREAMS Database. Finally, for the other SPEA2 parameters (such as mutation and crossover) we used the default values implemented by Popov (<xref ref-type="bibr" rid="B35">2005</xref>).</p>
</sec>
<sec>
<title>Statistics</title>
<p>For reporting the performance of each automatic spindle detector, we first derive the vector of operating parameters that achieves the maximal <italic>F</italic><sub>1</sub>-score from its Pareto-optimal solutions solved by the SPEA2 algorithm based on a training dataset. Second, we apply the optimal operating parameter vector to a test dataset (unseen to the detector) to assess the resultant <italic>F</italic><sub>1</sub>-score (Figure <xref ref-type="fig" rid="F2">2</xref>). Two validation strategies were conducted to assess the performance of spindle detectors in the proposed Pareto optimal and gold standard adaptive context. First, a hold-out strategy was used to assess overfitting by our SPEA2 implementations. Second, a k-fold cross-validation strategy was used to assess spindle detectors.</p>
<p>In our hold-out experiment, we divided the datasets into three groups: (1) all DREAMS datasets, (2) the first half of MASS datasets (subjects 1&#x02013;9), and (3) the second half of MASS datasets (subjects 10&#x02013;19). Subjects 7 and 8 were excluded from the DREAMS database if the gold standard of scorer 2 or intersection was applied; data 4, 8, 15, 16 were excluded from the MASS database if scorer 2&#x00027;s gold standard was applied. There were two versions of EEG signals in the MASS database. We used the new version published in 2015 to evaluate all the 9 detectors described in Sections Six Simplex Detectors and Three Hybridization Detectors. Our hold-out paradigm was conducted such that DREAMS and the first half of MASS were freely explored to find the proper ranges of adjusted parameters for each detector and to choose the proper population size and the number of generations for SPEA2. At this stage, we also experimented with a few different ways to generate an appropriate subsample for MASS datasets. Although subjecting a detector to 9 whole-night sleep EEG was not an impossibility, the idea of &#x0201C;gold standard adaptive&#x0201D; would work for most clinicians only if the training time was within hours by a regular personal computer. Once the parameter ranges, population size, number of generations, subsample strategy were decided, they were then fixed and used to train all the detectors with every different gold standard to find their own Pareto optimal solutions. The second half of MASS datasets that remained unseen to the spindle detectors during the entire training stage were then used to test the final solutions only once for deciding a conservative error bound (Brun et al., <xref ref-type="bibr" rid="B5">2008</xref>).</p>
<p>The 95% confidence intervals (CI) of the estimated <italic>F</italic><sub>1</sub>-scores by the training and test datasets in the hold-out experiment were derived by using probabilistic interpretation. Since the distributions of the precision and recall are Beta distributions (Goutte and Gaussier, <xref ref-type="bibr" rid="B17">2005</xref>), the 95% CI of a F<sub>1</sub>-score can be estimated by running Monte Carlo simulation of precision and recall that are calculated from the data. We assumed that the number of true negatives in the data was 10 times the number of true positives and estimate the 95% CI by running Monte Carlo simulation for 10,000 times.</p>
<p>Lastly, 3-fold cross-validation, where the subjects in the MASS SS2 database were randomly partitioned into 3 equal sized subgroups, was conducted to assess the performance of 9 detectors. Of the 3 subgroups, a single subgroup was retained as the validation data for testing the detectors, and the remaining 2 subgroups were used as training data. In each fold, multiple Pareto optimal parameter vectors were solved by using a subsample of the training data as shown in Figure <xref ref-type="fig" rid="F2">2</xref> for computation efficiency. However, the parameter vector <bold>x</bold> which generated the maximum F<sub>1</sub>-score was judged based on the complete-night training data. This maximum F<sub>1</sub>-score <bold>x</bold> was then used to assess the FN and FP results on the complete-night validation data. The cross-validation process was repeated 3 times with each of the 3 subgroups used exactly once as the validation data. The validation results from all 3-folds were finally grouped together to produce a single estimation.</p>
</sec>
<sec>
<title>Software implementation</title>
<p>All the sleep spindle detection algorithms evaluated in this study were implemented in Matlab version R2015a (MathWorks, Natick, MA, USA) and C language. Fourier-based bandpass filtering software (d<sub>1</sub>, d<sub>2</sub>, and d<sub>3</sub>) was originally developed by Warby et al. (<xref ref-type="bibr" rid="B43">2014</xref>). The CWT-based software (d<sub>4</sub>) was developed by Tsanas and Clifford (<xref ref-type="bibr" rid="B40">2015</xref>). Parts of these Matlab codes were rewritten in C language for reducing SPEA2 computation time. The HHT-based software (d<sub>5</sub> and d<sub>6</sub>) and hybrid software (d<sub>7</sub>, d<sub>8</sub>, and d<sub>9</sub>) was developed by our group. All Matlab and C source codes are available in <xref ref-type="supplementary-material" rid="SM1">Supplementary Material</xref>. Third party software such as SPEA2 and EMD is available in Popov (<xref ref-type="bibr" rid="B35">2005</xref>) and Wang et al. (<xref ref-type="bibr" rid="B42">2014</xref>) respectively. Computation time estimates were performed on a Fujitsu Lifebook laptop with Intel Core i7-3632QM processors at 2.20 GHz, using 12 GB of RAM memory running a 64-bit Windows 10 operating system.</p>
</sec>
</sec>
<sec sec-type="results" id="s3">
<title>Results</title>
<sec>
<title>Spindle detection performance on dreams database</title>
<p>In the training stage of the hold-out experiment, we found that SPEA2 was able to converge to an adequate set of solutions with a population size of 100 parameter vectors that evolved 100 generations for detectors d<sub>1</sub>-d<sub>3</sub> with 3&#x02013;5 adjustable parameters. For detectors d<sub>4</sub>-d<sub>9</sub> with more than 10 parameters, the population size was ascertained by 10 times the number of parameters and the number of generations was empirically determined by the population size plus 50&#x02013;100 to ensure convergence to Pareto front solutions for the DREAMS database. In summary, the population sizes of d<sub>1</sub>-d<sub>9</sub> were 100, 100, 100, 150, 120, 120, 170, 170, and 270 respectively. The maximum generations were 100, 100, 100, 250, 200, 200, 250, 250, and 320 respectively. The ranges of lower and upper parameter values were also empirically determined based the Pareto front results of the DREAMS database for all 9 detectors. The ascertained minimum and maximum (boundary) values of detectors d<sub>1</sub>-d<sub>5</sub> parameters were</p>
<disp-formula id="E13"><label>(13)</label><mml:math id="M13"><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mrow><mml:mtext>d</mml:mtext><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mtext>min</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>0.1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.3</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="E14"><label>(14)</label><mml:math id="M14"><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mrow><mml:mtext>d</mml:mtext><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mtext>max</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>20</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>30</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>3</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="E15"><label>(15)</label><mml:math id="M15"><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mrow><mml:mtext>d</mml:mtext><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mtext>min</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>0.05</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.05</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.3</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="E16"><label>(16)</label><mml:math id="M16"><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mrow><mml:mtext>d</mml:mtext><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mtext>max</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>0.5</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.5</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>10</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>3</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="E17"><label>(17)</label><mml:math id="M17"><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mrow><mml:mtext>d</mml:mtext><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mtext>min</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>0.1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.3</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="E18"><label>(18)</label><mml:math id="M18"><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mrow><mml:mtext>d</mml:mtext><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mtext>max</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>99</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>3</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="E19"><label>(19)</label><mml:math id="M19"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mrow><mml:mtext>d</mml:mtext><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mtext>min</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>8</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>14</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.05</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.01</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.05</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.05</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.3</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mrow><mml:mrow><mml:mn>0.05</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.05</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.3</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E20"><label>(20)</label><mml:math id="M20"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mrow><mml:mtext>d</mml:mtext><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mtext>max</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>12</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>18</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.25</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.8</mml:mn><mml:mo>,</mml:mo><mml:mn>0.1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.25</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.9</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.25</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.5</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.8</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mrow><mml:mrow><mml:mo>&#x000A0;</mml:mo><mml:mn>0.25</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.5</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>0.5</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>3</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E21"><label>(21)</label><mml:math id="M21"><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mrow><mml:mtext>d</mml:mtext><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mtext>min</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>10</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>0.1</mml:mn><mml:mo>,</mml:mo><mml:mn>8</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>0.1</mml:mn><mml:mo>,</mml:mo><mml:mn>0.01</mml:mn><mml:mo>,</mml:mo><mml:mn>0.05</mml:mn><mml:mo>,</mml:mo><mml:mn>0.3</mml:mn><mml:mo>,</mml:mo><mml:mn>0.3</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="E22"><label>(22)</label><mml:math id="M22"><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>x</mml:mi></mml:mstyle><mml:mrow><mml:mtext>d</mml:mtext><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mtext>max</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>10</mml:mn><mml:mo>,</mml:mo><mml:mn>40</mml:mn><mml:mo>,</mml:mo><mml:mn>120</mml:mn><mml:mo>,</mml:mo><mml:mn>50</mml:mn><mml:mo>,</mml:mo><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>13.5</mml:mn><mml:mo>,</mml:mo><mml:mn>8</mml:mn><mml:mo>,</mml:mo><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>0.99</mml:mn><mml:mo>,</mml:mo><mml:mn>0.5</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mn>3</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>The minimum and maximum values of <bold>x</bold><sub><italic>d</italic>6</sub> were the same as <bold>x</bold><sub><italic>d</italic>5</sub>. The hybrid detectors d<sub>7</sub>-d<sub>9</sub> used the same minimum and maximum boundaries for their respective components d<sub>2</sub>, d<sub>4</sub> and d<sub>6</sub>. The ranges of other parameters are given in <xref ref-type="supplementary-material" rid="SM1">Supplementary Material</xref> for code transparency and result reproducibility. Figure <xref ref-type="fig" rid="F4">4</xref> shows the Pareto front-derived PR-curves and F<sub>1</sub>-scores of 9 sleep spindle detectors, simplex d<sub>1</sub>&#x02013;d<sub>6</sub> and hybrid d<sub>7</sub>&#x02013;d<sub>9</sub>, solved by using the SPEA2 algorithm with the DREAMS database of 4 different gold standards listed in Table <xref ref-type="table" rid="T1">1</xref>. The PR-curves (Figures <xref ref-type="fig" rid="F4">4A,C,E,G</xref>) and F<sub>1</sub>-scores (Figures <xref ref-type="fig" rid="F4">4B,D,F,H</xref>) vary dramatically from the worst performance evaluated based on scorer 1&#x00027;s gold standard to the gold standard of intersection, union, and finally to the best performance of scorer 2&#x00027;s gold standard. Although the F<sub>1</sub>-scores of all tested detectors vary, the hybrid detectors (especially d<sub>9</sub>) seem to perform better regardless of which gold standard is used.</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p><bold>Pareto front-derived PR-curves and F1-scores for the DREAMS database with scorer 1&#x00027;s gold standard (A,B)</bold>, scorer 2&#x00027;s gold standard <bold>(C,D)</bold>, intersection gold standard <bold>(E,F)</bold>, and union gold standard <bold>(G,H)</bold>.</p></caption>
<graphic xlink:href="fnhum-11-00261-g0004.tif"/>
</fig>
</sec>
<sec>
<title>Spindle detector hold-out validation on mass database</title>
<p>After we trained these 9 detectors with the subsamples extracted from the first half of MASS database by using the subsample strategy (Section Subsample Strategy), we reported their training performance based on the FN and FP calculated from the whole night training datasets with the Pareto optimal solutions derived from subsamples. The Pareto front-derived PR-curves estimated in the training procedure are shown as red dots in Figures <xref ref-type="fig" rid="F5">5</xref>, <xref ref-type="fig" rid="F6">6</xref> for the gold standard of scorers 1 and 2 respectively. The PR-values of test results derived from the second half of MASS database are shown as blue dots (in Figures <xref ref-type="fig" rid="F5">5</xref>, <xref ref-type="fig" rid="F6">6</xref>) and are connected by a light blue line to the training results (red dots) that are estimated by using the same vector of operating parameters. The maximal F<sub>1</sub>-scores acquired by training are marked by red squares in Figures <xref ref-type="fig" rid="F5">5</xref>, <xref ref-type="fig" rid="F6">6</xref>. Note that the blue squares in Figures <xref ref-type="fig" rid="F5">5</xref>, <xref ref-type="fig" rid="F6">6</xref> are not the maximal test F<sub>1</sub>-scores but the test results by using the same set of operating parameters of the corresponding red squares. Here we did not report the maximal test F<sub>1</sub>-scores because in real practice we can choose only a small number of operating parameters after the software system has been optimized. The PR-values, F<sub>1</sub>-scores, and 95% CI of F<sub>1</sub> at the operating points marked by squares in Figures <xref ref-type="fig" rid="F5">5</xref>, <xref ref-type="fig" rid="F6">6</xref> are listed in Table <xref ref-type="table" rid="T3">3</xref> and their operating parameter values are given in <xref ref-type="supplementary-material" rid="SM1">Supplementary Material</xref>.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p><bold>Pareto-front-derived PR-curves for the MASS database by scorer 1&#x00027;s gold standard for detectors d<sub>1</sub> (A)</bold>, d<sub>2</sub> <bold>(B)</bold>, d<sub>3</sub> <bold>(C)</bold>, d<sub>4</sub> <bold>(D)</bold>, d<sub>5</sub><bold>(E)</bold>, d<sub>6</sub> <bold>(F)</bold>, d<sub>7</sub> <bold>(G)</bold>, d<sub>8</sub> <bold>(H)</bold>, and d<sub>9</sub> <bold>(I)</bold>. The training results (red) and the test results (blue) are connected by light blue lines to indicate that they are derived by using the same vector of operating parameters. The maximal training F<sub>1</sub>-scores and their corresponding test results are marked with squares and their values presented.</p></caption>
<graphic xlink:href="fnhum-11-00261-g0005.tif"/>
</fig>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p><bold>Pareto-front-derived PR-curves for the MASS database by scorer 2&#x00027;s gold standard for detectors d<sub>1</sub> (A)</bold>, d<sub>2</sub> <bold>(B)</bold>, d<sub>3</sub> <bold>(C)</bold>, d<sub>4</sub> <bold>(D)</bold>, d<sub>5</sub><bold>(E)</bold>, d<sub>6</sub> <bold>(F)</bold>, d<sub>7</sub> <bold>(G)</bold>, d<sub>8</sub> <bold>(H)</bold>, and d<sub>9</sub> <bold>(I)</bold>. The training results (red) and the test results (blue) are connected by light blue lines to indicate that they are derived by using the same vector of operating parameters. The maximal training F<sub>1</sub>-scores and their corresponding test results are marked with squares and their values presented.</p></caption>
<graphic xlink:href="fnhum-11-00261-g0006.tif"/>
</fig>
<table-wrap position="float" id="T3">
<label>Table 3</label>
<caption><p><bold>Sleep spindle detector performance evaluation</bold>.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Detector</bold></th>
<th valign="top" align="center" colspan="4" style="border-bottom: thin solid #000000;"><bold>Scorer 1&#x00027;s gold standard</bold></th>
<th valign="top" align="center" colspan="4" style="border-bottom: thin solid #000000;"><bold>Scorer 2&#x00027;s gold standard</bold></th>
</tr>
<tr>
<th/>
<th valign="top" align="center"><bold>P</bold></th>
<th valign="top" align="center"><bold>R</bold></th>
<th valign="top" align="center"><bold>F1</bold></th>
<th valign="top" align="center"><bold>F1 [95% CI]</bold></th>
<th valign="top" align="center"><bold>P</bold></th>
<th valign="top" align="center"><bold>R</bold></th>
<th valign="top" align="center"><bold>F1</bold></th>
<th valign="top" align="center"><bold>F1 [95% CI]</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">d<sub>1</sub> train</td>
<td valign="top" align="center">0.557</td>
<td valign="top" align="center">0.668</td>
<td valign="top" align="center">0.607</td>
<td valign="top" align="center">[0.597, 0.618]</td>
<td valign="top" align="center">0.556</td>
<td valign="top" align="center">0.782</td>
<td valign="top" align="center">0.650</td>
<td valign="top" align="center">[0.643, 0.657]</td>
</tr>
<tr>
<td valign="top" align="left">test</td>
<td valign="top" align="center">0.567</td>
<td valign="top" align="center">0.560</td>
<td valign="top" align="center">0.563</td>
<td valign="top" align="center">[0.552, 0.574]</td>
<td valign="top" align="center">0.546</td>
<td valign="top" align="center">0.799</td>
<td valign="top" align="center">0.649</td>
<td valign="top" align="center">[0.642, 0.655]</td>
</tr>
<tr>
<td valign="top" align="left">3-fold</td>
<td valign="top" align="center">0.544</td>
<td valign="top" align="center">0.639</td>
<td valign="top" align="center">0.588</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">0.601</td>
<td valign="top" align="center">0.738</td>
<td valign="top" align="center">0.662</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">baseline</td>
<td valign="top" align="center">0.481</td>
<td valign="top" align="center">0.360</td>
<td valign="top" align="center">0.412</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">0.599</td>
<td valign="top" align="center">0.194</td>
<td valign="top" align="center">0.293</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">d<sub>2</sub> train</td>
<td valign="top" align="center">0.531</td>
<td valign="top" align="center">0.699</td>
<td valign="top" align="center">0.603</td>
<td valign="top" align="center">[0.593, 0.614]</td>
<td valign="top" align="center">0.609</td>
<td valign="top" align="center">0.764</td>
<td valign="top" align="center">0.677</td>
<td valign="top" align="center">[0.671, 0.684]</td>
</tr>
<tr>
<td valign="top" align="left">test</td>
<td valign="top" align="center">0.546</td>
<td valign="top" align="center">0.636</td>
<td valign="top" align="center">0.587</td>
<td valign="top" align="center">[0.578, 0.598]</td>
<td valign="top" align="center">0.614</td>
<td valign="top" align="center">0.814</td>
<td valign="top" align="center">0.700</td>
<td valign="top" align="center">[0.694, 0.706]</td>
</tr>
<tr>
<td valign="top" align="left">3-fold</td>
<td valign="top" align="center">0.500</td>
<td valign="top" align="center">0.762</td>
<td valign="top" align="center">0.604</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">0.594</td>
<td valign="top" align="center">0.788</td>
<td valign="top" align="center">0.677</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">baseline</td>
<td valign="top" align="center">0.268</td>
<td valign="top" align="center">0.970</td>
<td valign="top" align="center">0.420</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">0.538</td>
<td valign="top" align="center">0.807</td>
<td valign="top" align="center">0.646</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">d<sub>3</sub> train</td>
<td valign="top" align="center">0.508</td>
<td valign="top" align="center">0.688</td>
<td valign="top" align="center">0.584</td>
<td valign="top" align="center">[0.574, 0.595]</td>
<td valign="top" align="center">0.571</td>
<td valign="top" align="center">0.721</td>
<td valign="top" align="center">0.637</td>
<td valign="top" align="center">[0.630, 0.644]</td>
</tr>
<tr>
<td valign="top" align="left">test</td>
<td valign="top" align="center">0.556</td>
<td valign="top" align="center">0.673</td>
<td valign="top" align="center">0.609</td>
<td valign="top" align="center">[0.599, 0.619]</td>
<td valign="top" align="center">0.567</td>
<td valign="top" align="center">0.748</td>
<td valign="top" align="center">0.645</td>
<td valign="top" align="center">[0.638, 0.652]</td>
</tr>
<tr>
<td valign="top" align="left">3-fold</td>
<td valign="top" align="center">0.508</td>
<td valign="top" align="center">0.684</td>
<td valign="top" align="center">0.583</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">0.577</td>
<td valign="top" align="center">0.748</td>
<td valign="top" align="center">0.651</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">baseline</td>
<td valign="top" align="center">0.267</td>
<td valign="top" align="center">0.943</td>
<td valign="top" align="center">0.416</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">0.535</td>
<td valign="top" align="center">0.751</td>
<td valign="top" align="center">0.625</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">d<sub>4</sub> train</td>
<td valign="top" align="center">0.570</td>
<td valign="top" align="center">0.708</td>
<td valign="top" align="center">0.631</td>
<td valign="top" align="center">[0.621, 0.642]</td>
<td valign="top" align="center">0.650</td>
<td valign="top" align="center">0.667</td>
<td valign="top" align="center">0.659</td>
<td valign="top" align="center">[0.651, 0.666]</td>
</tr>
<tr>
<td valign="top" align="left">test</td>
<td valign="top" align="center">0.485</td>
<td valign="top" align="center">0.749</td>
<td valign="top" align="center">0.589</td>
<td valign="top" align="center">[0.579, 0.598]</td>
<td valign="top" align="center">0.554</td>
<td valign="top" align="center">0.770</td>
<td valign="top" align="center">0.645</td>
<td valign="top" align="center">[0.638, 0.651]</td>
</tr>
<tr>
<td valign="top" align="left">3-fold</td>
<td valign="top" align="center">0.535</td>
<td valign="top" align="center">0.710</td>
<td valign="top" align="center">0.610</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">0.627</td>
<td valign="top" align="center">0.677</td>
<td valign="top" align="center">0.651</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">baseline</td>
<td valign="top" align="center">0.177</td>
<td valign="top" align="center">0.980</td>
<td valign="top" align="center">0.300</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">0.352</td>
<td valign="top" align="center">0.845</td>
<td valign="top" align="center">0.497</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">d<sub>5</sub> train</td>
<td valign="top" align="center">0.648</td>
<td valign="top" align="center">0.657</td>
<td valign="top" align="center">0.653</td>
<td valign="top" align="center">[0.642, 0.663]</td>
<td valign="top" align="center">0.724</td>
<td valign="top" align="center">0.508</td>
<td valign="top" align="center">0.597</td>
<td valign="top" align="center">[0.589, 0.606]</td>
</tr>
<tr>
<td valign="top" align="left">test</td>
<td valign="top" align="center">0.531</td>
<td valign="top" align="center">0.751</td>
<td valign="top" align="center">0.622</td>
<td valign="top" align="center">[0.613, 0.631]</td>
<td valign="top" align="center">0.615</td>
<td valign="top" align="center">0.601</td>
<td valign="top" align="center">0.608</td>
<td valign="top" align="center">[0.601, 0.616]</td>
</tr>
<tr>
<td valign="top" align="left">3-fold</td>
<td valign="top" align="center">0.601</td>
<td valign="top" align="center">0.670</td>
<td valign="top" align="center">0.633</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">0.605</td>
<td valign="top" align="center">0.688</td>
<td valign="top" align="center">0.644</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">baseline</td>
<td valign="top" align="center">0.228</td>
<td valign="top" align="center">0.884</td>
<td valign="top" align="center">0.362</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">0.623</td>
<td valign="top" align="center">0.660</td>
<td valign="top" align="center">0.641</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">d<sub>6</sub> train</td>
<td valign="top" align="center">0.690</td>
<td valign="top" align="center">0.708</td>
<td valign="top" align="center">0.699</td>
<td valign="top" align="center">[0.689, 0.709]</td>
<td valign="top" align="center">0.684</td>
<td valign="top" align="center">0.680</td>
<td valign="top" align="center">0.682</td>
<td valign="top" align="center">[0.674, 0.689]</td>
</tr>
<tr>
<td valign="top" align="left">test</td>
<td valign="top" align="center">0.562</td>
<td valign="top" align="center">0.812</td>
<td valign="top" align="center">0.664</td>
<td valign="top" align="center">[0.655, 0.673]</td>
<td valign="top" align="center">0.514</td>
<td valign="top" align="center">0.786</td>
<td valign="top" align="center">0.621</td>
<td valign="top" align="center">[0.615, 0.628]</td>
</tr>
<tr>
<td valign="top" align="left">3-fold</td>
<td valign="top" align="center">0.649</td>
<td valign="top" align="center">0.712</td>
<td valign="top" align="center">0.679</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">0.643</td>
<td valign="top" align="center">0.697</td>
<td valign="top" align="center">0.669</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">baseline</td>
<td valign="top" align="center">0.051</td>
<td valign="top" align="center">0.873</td>
<td valign="top" align="center">0.097</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">0.138</td>
<td valign="top" align="center">0.903</td>
<td valign="top" align="center">0.240</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">d<sub>7</sub> train</td>
<td valign="top" align="center">0.697</td>
<td valign="top" align="center">0.783</td>
<td valign="top" align="center">0.738</td>
<td valign="top" align="center">[0.729, 0.747]</td>
<td valign="top" align="center">0.714</td>
<td valign="top" align="center">0.773</td>
<td valign="top" align="center">0.742</td>
<td valign="top" align="center">[0.736, 0.749]</td>
</tr>
<tr>
<td valign="top" align="left">test</td>
<td valign="top" align="center">0.659</td>
<td valign="top" align="center">0.827</td>
<td valign="top" align="center"><bold>0.733</bold></td>
<td valign="top" align="center"><bold>[0.725, 0.742]</bold></td>
<td valign="top" align="center">0.624</td>
<td valign="top" align="center">0.857</td>
<td valign="top" align="center">0.722</td>
<td valign="top" align="center">[0.716, 0.728]</td>
</tr>
<tr>
<td valign="top" align="left">3-fold</td>
<td valign="top" align="center">0.720</td>
<td valign="top" align="center">0.745</td>
<td valign="top" align="center"><bold>0.732</bold></td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">0.699</td>
<td valign="top" align="center">0.781</td>
<td valign="top" align="center"><bold>0.737</bold></td>
<td valign="top" align="center">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left">d<sub>8</sub> train</td>
<td valign="top" align="center">0.693</td>
<td valign="top" align="center">0.779</td>
<td valign="top" align="center">0.733</td>
<td valign="top" align="center">[0.724, 0.742]</td>
<td valign="top" align="center">0.764</td>
<td valign="top" align="center">0.696</td>
<td valign="top" align="center">0.729</td>
<td valign="top" align="center">[0.722, 0.736]</td>
</tr>
<tr>
<td valign="top" align="left">test</td>
<td valign="top" align="center">0.656</td>
<td valign="top" align="center">0.804</td>
<td valign="top" align="center">0.722</td>
<td valign="top" align="center">[0.714, 0.731]</td>
<td valign="top" align="center">0.705</td>
<td valign="top" align="center">0.789</td>
<td valign="top" align="center"><bold>0.744</bold></td>
<td valign="top" align="center"><bold>[0.738, 0.750]</bold></td>
</tr>
<tr>
<td valign="top" align="left">3-fold</td>
<td valign="top" align="center">0.706</td>
<td valign="top" align="center">0.749</td>
<td valign="top" align="center">0.727</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">0.685</td>
<td valign="top" align="center">0.774</td>
<td valign="top" align="center">0.726</td>
<td/>
</tr>
<tr>
<td valign="top" align="left">d<sub>9</sub> train</td>
<td valign="top" align="center">0.686</td>
<td valign="top" align="center">0.791</td>
<td valign="top" align="center">0.735</td>
<td valign="top" align="center">[0.725, 0.744]</td>
<td valign="top" align="center">0.709</td>
<td valign="top" align="center">0.671</td>
<td valign="top" align="center">0.690</td>
<td valign="top" align="center">[0.682, 0.697]</td>
</tr>
<tr>
<td valign="top" align="left">test</td>
<td valign="top" align="center">0.548</td>
<td valign="top" align="center">0.874</td>
<td valign="top" align="center">0.673</td>
<td valign="top" align="center">[0.664, 0.681]</td>
<td valign="top" align="center">0.551</td>
<td valign="top" align="center">0.802</td>
<td valign="top" align="center">0.653</td>
<td valign="top" align="center">[0.647, 0.660]</td>
</tr>
<tr>
<td valign="top" align="left">3-fold</td>
<td valign="top" align="center">0.657</td>
<td valign="top" align="center">0.748</td>
<td valign="top" align="center">0.700</td>
<td valign="top" align="center">&#x02013;</td>
<td valign="top" align="center">0.658</td>
<td valign="top" align="center">0.703</td>
<td valign="top" align="center">0.680</td>
<td valign="top" align="center">&#x02013;</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>CI stands for confidence intervals and the best hold-out test results are bold faced. 3-fold stands for 3-fold cross validation. The baseline performance is the result of using the suggested parameters of the original publication</italic>.</p>
</table-wrap-foot>
</table-wrap>
<p>The F<sub>1</sub>-scores for all 9 detectors by the gold standards of scorer 1 and scorer 2 are illustrated in Figure <xref ref-type="fig" rid="F7">7</xref>. From Figures <xref ref-type="fig" rid="F7">7A,B</xref>, Table <xref ref-type="table" rid="T3">3</xref>, we observe that Fourier-based simplex detectors d<sub>1</sub>&#x02013;d<sub>3</sub> perform the worst with the estimated maximal F<sub>1</sub>-scores 0.563&#x02013;0.609 by scorer 1&#x00027;s gold standard. HHT-based simplex detectors perform better with the estimated maximal F<sub>1</sub>-scores 0.622&#x02013;0.699. Hybrid detectors d<sub>7</sub> and d<sub>8</sub> perform the best with the estimated maximal F<sub>1</sub>-scores 0.722&#x02013;0.738. CWT-based simplex detector d<sub>4</sub> and hybrid d<sub>9</sub> perform well with high training F<sub>1</sub>-scores at 0.631 and 0.735 but low test results of 0.589 and 0.673 respectively. The results in Table <xref ref-type="table" rid="T3">3</xref> indicate that Fourier-based detectors improve significantly by scorer 2&#x00027;s gold standard [scored based on both broad-band EEG signals (0.35&#x02013;35 Hz band) and sigma-band filtered signals (11&#x02013;17 Hz band)]. Despite the existence of a biased gold standard in favor of Fourier filtering, hybrid d<sub>7</sub> and d<sub>8</sub> still outperform with maximal F<sub>1</sub>-scores 0.722&#x02013;0.744 compared to 0.637&#x02013;0.7 by simplex Fourier-based detectors. Finally, automatic detectors are compared to the iso-curves of F<sub>1</sub>-scores of 0.75 (good) and 0.67 (average) in Figure <xref ref-type="fig" rid="F8">8</xref>. The performance levels of &#x0201C;good&#x0201D; and &#x0201C;average&#x0201D; refer to the study by Warby et al. (<xref ref-type="bibr" rid="B43">2014</xref>), where experts&#x00027; average F<sub>1</sub> was 0.75 and non-experts&#x00027; consensus 0.67. Figures <xref ref-type="fig" rid="F8">8A,B</xref> illustrate that the optimized simplex detectors d<sub>1</sub>-d<sub>5</sub> are indeed inferior to human performance of 0.67. However, HHT-based simplex detector d<sub>6</sub> perform comparably to the level of non-experts. Hybrid detectors d<sub>7</sub> and d<sub>8</sub> perform well on a level slightly below that of experts regardless which gold standard is used (Figures <xref ref-type="fig" rid="F8">8A&#x02013;D</xref>).</p>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p><bold>The Pareto front-derived F<sub>1</sub>-scores of detectors d<sub>1</sub>-d<sub>9</sub> are shown along the recall coordinate. (A)</bold> Training results by scorer 1&#x00027;s gold standard. <bold>(B)</bold> Test results by scorer 1&#x00027;s gold standard. <bold>(C)</bold> Training results by scorer 2&#x00027;s gold standard. <bold>(D)</bold> Test results by scorer 2&#x00027;s gold standard.</p></caption>
<graphic xlink:href="fnhum-11-00261-g0007.tif"/>
</fig>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p><bold>Performance comparison with the iso-curves at F<sub>1</sub>-scores of 0.75, 0.67, and 0.6. (A)</bold> The training PR-curves on the first half MASS database and <bold>(B)</bold> the test PR-curves on the second half MASS database by scorer 1&#x00027;s gold standard. <bold>(C)</bold> The training PR-curves on the first half MASS database and <bold>(D)</bold> the test PR-curves on the second half MASS database by scorer 2&#x00027;s gold standard.</p></caption>
<graphic xlink:href="fnhum-11-00261-g0008.tif"/>
</fig>
</sec>
<sec>
<title>Spindle detector 3-fold cross-validation on mass database</title>
<p>The maximum F<sub>1</sub>-scores of d<sub>1</sub>&#x02013;d<sub>9</sub> estimated by 3-fold cross-validation were 0.588, 0.604, 0.583, 0.61, 0.633, 0.679, 0.732, 0.727, and 0.7 respectively based on scorer 1&#x00027;s gold standard. They were 0.622, 0.677, 0.651, 0.651, 0.644, 0.669, 0.737, 0.726, and 0.68 respectively based on scorer 2&#x00027;s gold standard. Most of these numbers are substantially better than the baseline performance by using their originally published parameters. Both 3-fold validation, baseline performance, and their corresponding PR-values are also listed in Table <xref ref-type="table" rid="T3">3</xref> for comparison. These cross-validation estimates were comparable to the hold-out estimates except d<sub>5</sub>&#x00027;s F<sub>1</sub>-score on scorer 2&#x00027;s gold standard. The hold-out test F<sub>1</sub>-score was 0.608 (95% confidence intervals 0.601&#x02013;0.616), which was significantly smaller than the cross-validation&#x00027;s F<sub>1</sub> estimate of 0.644.</p>
</sec>
<sec>
<title>Computation time</title>
<p>The SPEA2 training time for d<sub>1</sub>&#x02013;d<sub>3</sub>, d<sub>4</sub>, and d<sub>5</sub>&#x02013;d<sub>6</sub> was 27&#x02013;42 m, 5.3 h, and 1.7&#x02013;2.2 h, respectively; for hybrid detectors d<sub>7</sub>, d<sub>8</sub>, and d<sub>9</sub> was 4.8, 4.4, and 16 h, respectively. Although the computation time (in seconds) to preprocess the C3-A1 channel of a complete-night MASS dataset was 0.9, 7, 16, 28, 73, 835, 838, 390, 390 for d<sub>1</sub>&#x02013;d<sub>9</sub> respectively, the execution time of spindle detectors d<sub>1</sub>&#x02013;d<sub>9</sub> implemented in C language was 0.06, 0.09, 0.16, 0.63, 0.20, 0.14, 0.22, 0.27, and 0.71, which is well below 1 s per complete-night dataset. Therefore, the training time was mainly proportional to the product of population size and number of generations, which approximated the square of a detector&#x00027;s parameter number.</p>
</sec>
</sec>
<sec sec-type="discussion" id="s4">
<title>Discussion</title>
<p>Table <xref ref-type="table" rid="T4">4</xref> summarizes four previous published evaluation methodologies and our new approach. From Table <xref ref-type="table" rid="T4">4</xref>, We identify three important trends in evaluating automatic sleep spindle detection. First, using open-access databases (Devuyst et al., <xref ref-type="bibr" rid="B11">2011</xref>; O&#x00027;Reilly and Nielsen, <xref ref-type="bibr" rid="B34">2015</xref>) and/or making software source codes open-access (Warby et al., <xref ref-type="bibr" rid="B43">2014</xref>; O&#x00027;Reilly and Nielsen, <xref ref-type="bibr" rid="B34">2015</xref>) are the two most important factors in advancing our understanding of performance improvement of various spindle detectors. Second, using non-specificity-derived metrics such as F<sub>1</sub>-score (Warby et al., <xref ref-type="bibr" rid="B43">2014</xref>; O&#x00027;Reilly and Nielsen, <xref ref-type="bibr" rid="B34">2015</xref>) for reporting performance is another important trend to make results from different studies comparable. Third, a newly developing trend identified by O&#x00027;Reilly and Nielsen (<xref ref-type="bibr" rid="B34">2015</xref>) is to involve gold standards in the process of performance estimation. To make this idea work, we suggest that commonly acceptable evaluation metrics for spindle detection should be gold standard adaptive.</p>
<table-wrap position="float" id="T4">
<label>Table 4</label>
<caption><p><bold>Comparison of evaluation methods for sleep spindle detection</bold>.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th/>
<th valign="top" align="left"><bold>Huupponen et al., <xref ref-type="bibr" rid="B24">2007</xref></bold></th>
<th valign="top" align="left"><bold>Devuyst et al., <xref ref-type="bibr" rid="B11">2011</xref></bold></th>
<th valign="top" align="left"><bold>Warby et al., <xref ref-type="bibr" rid="B43">2014</xref></bold></th>
<th valign="top" align="left"><bold>O&#x00027;Reilly and Nielsen, <xref ref-type="bibr" rid="B34">2015</xref></bold></th>
<th valign="top" align="left"><bold>New method</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Open-access database used</td>
<td valign="top" align="left">No</td>
<td valign="top" align="left">DREAMS</td>
<td valign="top" align="left">No</td>
<td valign="top" align="left">DREAMS and MASS</td>
<td valign="top" align="left">DREAMS and MASS</td>
</tr>
<tr>
<td valign="top" align="left">Number of evaluated detectors</td>
<td valign="top" align="left">4</td>
<td valign="top" align="left">1</td>
<td valign="top" align="left">6</td>
<td valign="top" align="left">4</td>
<td valign="top" align="left">9</td>
</tr>
<tr>
<td valign="top" align="left">Detector source code open-access</td>
<td valign="top" align="left">unspecified</td>
<td valign="top" align="left">No</td>
<td valign="top" align="left">Yes</td>
<td valign="top" align="left">Yes</td>
<td valign="top" align="left">Yes</td>
</tr>
<tr>
<td valign="top" align="left">Operating parameter adjustment</td>
<td valign="top" align="left">According to frequency and amplitude statistics of sleep spindles</td>
<td valign="top" align="left">According to frequency and amplitude statistics of sleep spindles</td>
<td valign="top" align="left">Using the original published setting</td>
<td valign="top" align="left">Using the original published setting</td>
<td valign="top" align="left">Multiple parameters were optimized by MOEA</td>
</tr>
<tr>
<td valign="top" align="left">True detection criterion</td>
<td valign="top" align="left">By-event</td>
<td valign="top" align="left">By-event</td>
<td valign="top" align="left">By-event (with 0.2 overlap rate)</td>
<td valign="top" align="left">By-event and by-sample</td>
<td valign="top" align="left">By-event (with 0.2 overlap rate)</td>
</tr>
<tr>
<td valign="top" align="left">Evaluation metrics</td>
<td valign="top" align="left">Sensitivity, specificity, ROC-curve</td>
<td valign="top" align="left">Sensitivity, specificity, ROC-curve</td>
<td valign="top" align="left">PR, F<sub>1</sub>-score</td>
<td valign="top" align="left">ROC-, PR-curve, F<sub>1</sub>-score, Matthew&#x00027;s correlation coefficient, Cohen&#x00027;s Kappa</td>
<td valign="top" align="left">PR-curve, F<sub>1</sub>-score, Pareto front</td>
</tr>
<tr>
<td valign="top" align="left">Statistics</td>
<td valign="top" align="left">Parameters were set and tested on the same data</td>
<td valign="top" align="left">Parameters were set and tested on the same data</td>
<td valign="top" align="left">Using default parameters and threshold</td>
<td valign="top" align="left">Threshold-dependent</td>
<td valign="top" align="left">Hold-out, 3-fold cross validation</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Here we first discuss the necessity of being gold standard adaptive in evaluating a sleep spindle detector. Figure <xref ref-type="fig" rid="F4">4</xref> shows that the performance of a detector on the same database by different gold standards can vary at most by a difference of 0.2 in F<sub>1</sub>-score. One may argue that the DREAMS database is too small for an adequate evaluation. However, as an example, take d<sub>2</sub> in Table <xref ref-type="table" rid="T3">3</xref> evaluated based on the MASS database, the F<sub>1</sub>-score still changed noticeably from a low level of 0.604 by scorer 1&#x00027;s gold standard to an average (non-expert human&#x00027;s) level of 0.677 by scorer 2&#x00027;s. Although the score of 0.677 is still considerably lower than 0.726&#x02013;0.737 by d<sub>7</sub> and d<sub>8</sub>, d<sub>2</sub> is a much faster detector that can be useful in processing a big database of thousands of patients if the gold standard of scorer 2 is adequate for our study purpose. On the other hand, for performance accuracy and consistency, d<sub>7</sub> maybe the most adaptive performer with a F<sub>1</sub>-score of 0.727 and 0.737 no matter which gold standard was considered. The point we want to emphasize is that the definition of true spindles may be age- or disease-dependent. In addition, some applications may require a higher duration accuracy criterion by making the overlap rate <italic>R</italic><sub><italic>ov</italic></sub> (Equation 5) another adjustable parameter. Yet, other applications may want to adjust the ranges of a Fourier filter&#x00027;s sigma-band for detecting slow or fast spindles. Therefore, the so-called optimal detector should not only be gold standard adaptive but also application-dependent.</p>
<p>Second, a commonly accepted performance metric that is suitable for gold standard adaptive should be formally and uniquely defined. Although PR-curves and F<sub>1</sub>-scores are known to be good metrics and commonly used in evaluating detectors of sparse events such as sleep spindles, Figure <xref ref-type="fig" rid="F1">1</xref> demonstrates that PR-curves and F<sub>1</sub>-scores derived from non-optimal operating points are not uniquely defined (as compared to the uniquely defined Pareto front) even for a simple detector with 3 adjustable parameters. The situations to define <italic>ad hoc</italic> PR-curves and F<sub>1</sub>-scores for more complex detectors such as d<sub>4</sub>&#x02013;d<sub>6</sub> deteriorated and d<sub>9</sub> with 27 parameters will be an almost impossibility. In this study, we propose evaluating a spindle detector in a multi-objective optimization context with the resultant Pareto fronts for deriving PR-curves and F1-scores formally and uniquely. A Pareto front is essentially an objective boundary such that any solution on the front can only be outperformed by another solution in at most one of the two competing objectives. Therefore, a Pareto optimal set is uniquely defined for a given data with a specific gold standard. We demonstrated that the Pareto fronts can be efficiently solved by SPEA2 for spindle detectors with the proposed subsample strategy.</p>
<p>Third, as evolutionary algorithms are able to solve the optimization problems with implicit solutions that are not easily foreseen in the process of designing a new detector, we also demonstrated the possibility to develop new hybrid methods by combining two existing simplex detectors. Note that among 6 simplex detectors d<sub>1</sub>-d<sub>6</sub>, choosing two in an order yields 30 possible hybrid approaches. We did not perform all 30 possible combinations because we did not have the resources to do a full-fledged hybridization experiment. Detectors d<sub>4</sub>-d<sub>5</sub> and d<sub>4</sub>-d<sub>6</sub> combinations with 27 operating parameters were particularly time-consuming. As our main goal was to prove that spindle detectors would be improved by using MOEA, we only tested the hybridization approach on HHT-Fourier and HHT-CWT combinations. The rationale was that hybridization usually would perform best by combining different computational mechanisms. Fourier and wavelet are rather similar because both methods use inner product in deriving their coefficients. On the other hand, HHT uses a sifting procedure that is totally different from the inner product procedure. Therefore, we chose the better HHT-based algorithm d<sub>6</sub> to hybridize with the Fourier-based d<sub>2</sub> and CWT-based d<sub>4</sub>. Despite using a very simple double reading design in which the first detector screens all data to find potential sleep spindles and the second detector only reviews the sleep spindle candidates identified by the first detector, this sequential hybridization system allows us to design two very effective hybrid detectors, d<sub>7</sub> and d<sub>8</sub>, by simply switching the order of applied simplex detectors d<sub>2</sub> and d<sub>6</sub>. They achieved the highest F<sub>1</sub>-scores of 0.726&#x02013;0.737 that were notably better than their composite components d<sub>2</sub> and d<sub>6</sub> of 0.604&#x02013;0.679.</p>
<p>Last, our experiment was conducted in both hold-out and k-fold cross-validation paradigms. The hold-out validation allowed us to derive both model-based 95% CI and a more conservative error bound estimate (Brun et al., <xref ref-type="bibr" rid="B5">2008</xref>) to assess overfitting. Take the best performers d<sub>7</sub>&#x02013;d<sub>9</sub> listed in Table <xref ref-type="table" rid="T3">3</xref> for example. Detector d<sub>9</sub> performed at a good level with its training F<sub>1</sub>-score 0.735 but an average hold-out test score 0.673 (by scorer 1&#x00027;s gold standard), which was much lower than the 95% CI 0.725&#x02013;0.744 via Monte Carlo simulation at the maximal <italic>F</italic><sub>1</sub> &#x0003D; 0.735 from the training datasets. The error bound estimated by a hold-out design is larger and therefore more conservative than the model-based estimation. We double-checked its 3-fold result, which was 0.7. Therefore, the possibility of overfitting did exist. The similar poorer hold-out test scores were also observed for d<sub>4</sub> (scorer 1&#x00027;s gold standard) and d<sub>6</sub> (scorer 2&#x00027;s gold standard). This implied that these detectors were more susceptible to subsampling. For example, one possible explanation was that the 60 min long subsamples were not chosen properly by chance. Another possible explanation was that detectors d<sub>4</sub>-d<sub>6</sub> did not use any amplitude normalization strategy. On the other hand, the hold-out and 3-fold estimated F<sub>1</sub>-scores of d<sub>7</sub> (scorer 1&#x00027;s gold standard) were 0.733 and 0.732, which fell well in the 95% CI 0.729&#x02013;0.747 via Monte Carlo simulation of the maximal <italic>F</italic><sub>1</sub> &#x0003D; 0.738 from the training datasets. Since d<sub>7</sub> and d<sub>8</sub> all performed with F<sub>1</sub>-scores well above 0.7 by both model-based and hold-out error bound estimations, their performance improvement over d<sub>1</sub>&#x02013;d<sub>6</sub> was considered statistically significant.</p>
<p>In conclusion, our study has demonstrated that using multi-objective evolutionary algorithms to optimize automatic sleep spindle detectors in a gold standard adaptive approach can potentially improve the effectiveness and consistency of sleep spindle identification and make the analysis of sleep spindle properties more reliable in clinical settings.</p>
</sec>
<sec id="s5">
<title>Author contributions</title>
<p>AH was responsible for the overall study design, development, and management. ML and AH involved in coding, processing data, and interpretation of the results. NH provided methodological and computational expertise. All authors made substantial contributions to the drafting, critical revision of the important intellectual content and final approval of the manuscript.</p>
</sec>
<sec id="s6">
<title>Funding</title>
<p>This study was supported by the Ministry of Science and Technology Taiwan under Grant MOST 105-2221-E-008-114 and 103-2911-I-008-001.</p>
<sec>
<title>Conflict of interest statement</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p></sec>
</sec>
</body>
<back>
<ack><p>We thank University of MONs-TCTS Laboratory (St&#x000E9;phanie Devuyst, Thierry Dutoit) and Universit&#x000E9; Libre de Bruxelles&#x02014;CHU de Charleroi Sleep Laboratory (Myriam Kerkhofs) for making the DREAMS Sleep Spindles Database open-access. We thank the Center for Advanced Research in Sleep Medicine (CARSM), Montreal, Canada, for making the MASS database open-access and we thank Dr. Christian O&#x00027;Reilly for helping us with our study proposal and the Ethics Review Board of the H&#x000F4;pital du Sacr&#x000E9;-Coeur de Montr&#x000E9;al for reviewing our study protocol.</p>
</ack>
<sec sec-type="supplementary-material" id="s7">
<title>Supplementary material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="http://journal.frontiersin.org/article/10.3389/fnhum.2017.00261/full#supplementary-material">http://journal.frontiersin.org/article/10.3389/fnhum.2017.00261/full#supplementary-material</ext-link></p>
<supplementary-material xlink:href="Presentation1.PDF" id="SM1" mimetype="application/pdf" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Adamczyk</surname> <given-names>M.</given-names></name> <name><surname>Genzel</surname> <given-names>L.</given-names></name> <name><surname>Dresler</surname> <given-names>M.</given-names></name> <name><surname>Steiger</surname> <given-names>A.</given-names></name> <name><surname>Friess</surname> <given-names>E.</given-names></name></person-group> (<year>2015</year>). <article-title>Automatic sleep spindle detection and genetic influence estimation using continuous wavelet transform</article-title>. <source>Front. Hum. Neurosci.</source> <volume>9</volume>:<fpage>624</fpage>. <pub-id pub-id-type="doi">10.3389/fnhum.2015.00624</pub-id><pub-id pub-id-type="pmid">26635577</pub-id></citation></ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bergmann</surname> <given-names>T. O.</given-names></name> <name><surname>M&#x000F6;lle</surname> <given-names>M.</given-names></name> <name><surname>Diedrichs</surname> <given-names>J.</given-names></name> <name><surname>Born</surname> <given-names>J.</given-names></name> <name><surname>Siebner</surname> <given-names>H. R.</given-names></name></person-group> (<year>2012</year>). <article-title>Sleep spindle-related reactivation of category-specific cortical regions after learning face-scene associations</article-title>. <source>Neuroimage</source> <volume>59</volume>, <fpage>2733</fpage>&#x02013;<lpage>2742</lpage>. <pub-id pub-id-type="doi">10.1016/j.neuroimage.2011.10.036</pub-id><pub-id pub-id-type="pmid">22037418</pub-id></citation></ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>B&#x000F3;dizs</surname> <given-names>R.</given-names></name> <name><surname>Kis</surname> <given-names>T.</given-names></name> <name><surname>L&#x000E1;z&#x000E1;r</surname> <given-names>A. S.</given-names></name> <name><surname>Havran</surname> <given-names>L.</given-names></name> <name><surname>Rig&#x000F3;</surname> <given-names>P.</given-names></name> <name><surname>Clemens</surname> <given-names>Z.</given-names></name> <etal/></person-group>. (<year>2005</year>). <article-title>Prediction of general mental ability based on neural oscillation measures of sleep</article-title>. <source>J. Sleep Res.</source> <volume>14</volume>, <fpage>285</fpage>&#x02013;<lpage>292</lpage>. <pub-id pub-id-type="doi">10.1111/j.1365-2869.2005.00472.x</pub-id><pub-id pub-id-type="pmid">16120103</pub-id></citation></ref>
<ref id="B4">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>B&#x000F3;dizs</surname> <given-names>R.</given-names></name> <name><surname>K&#x000F6;rmendi</surname> <given-names>J.</given-names></name> <name><surname>Rig&#x000F3;</surname> <given-names>P.</given-names></name> <name><surname>L&#x000E1;z&#x000E1;r</surname> <given-names>A. S.</given-names></name></person-group> (<year>2009</year>). <article-title>The individual adjustment method of sleep spindle analysis: methodological improvements and roots in the fingerprint paradigm</article-title>. <source>J. Neurosci. Methods</source> <volume>178</volume>, <fpage>205</fpage>&#x02013;<lpage>213</lpage>. <pub-id pub-id-type="doi">10.1016/j.jneumeth.2008.11.006</pub-id><pub-id pub-id-type="pmid">19061915</pub-id></citation></ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Brun</surname> <given-names>M.</given-names></name> <name><surname>Xu</surname> <given-names>Q.</given-names></name> <name><surname>Dougherty</surname> <given-names>E. R.</given-names></name></person-group> (<year>2008</year>). <article-title>Which is better: holdout or full-sample classifier design?</article-title> <source>EURASIP J. Bioinform. Syst. Biol.</source> <volume>8</volume>:<fpage>297945</fpage>. <pub-id pub-id-type="doi">10.1155/2008/297945</pub-id><pub-id pub-id-type="pmid">18483613</pub-id></citation></ref>
<ref id="B6">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Causa</surname> <given-names>L.</given-names></name> <name><surname>Held</surname> <given-names>C. M.</given-names></name> <name><surname>Causa</surname> <given-names>J.</given-names></name> <name><surname>Est&#x000E9;vez</surname> <given-names>P. A.</given-names></name> <name><surname>Perez</surname> <given-names>C. A.</given-names></name> <name><surname>Chamorro</surname> <given-names>R.</given-names></name> <etal/></person-group>. (<year>2010</year>). <article-title>Automated sleep-spindle detection in healthy children Polysomnograms</article-title>. <source>IEEE Trans. Biomed. Eng.</source> <volume>57</volume>, <fpage>2135</fpage>&#x02013;<lpage>2146</lpage>. <pub-id pub-id-type="doi">10.1109/TBME.2010.2052924</pub-id><pub-id pub-id-type="pmid">20550978</pub-id></citation></ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Crowley</surname> <given-names>K.</given-names></name> <name><surname>Trinder</surname> <given-names>J.</given-names></name> <name><surname>Kim</surname> <given-names>Y.</given-names></name> <name><surname>Carrington</surname> <given-names>M.</given-names></name> <name><surname>Colrain</surname> <given-names>I. M.</given-names></name></person-group> (<year>2002</year>). <article-title>The effects of normal aging on sleep spindle and K-complex production</article-title>. <source>Clin. Neurophysiol.</source> <volume>113</volume>, <fpage>1615</fpage>&#x02013;<lpage>1622</lpage>. <pub-id pub-id-type="doi">10.1016/S1388-2457(02)00237-7</pub-id></citation>
</ref>
<ref id="B8">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Deb</surname> <given-names>K.</given-names></name> <name><surname>Mohan</surname> <given-names>M.</given-names></name> <name><surname>Mishra</surname> <given-names>S.</given-names></name></person-group> (<year>2005</year>). <article-title>Evaluation the epsilon-domination based multi objective evolutionary algorithm for a quick computation of Pareto-optimal solutions</article-title>. <source>Evol. Comput.</source> <volume>13</volume>, <fpage>501</fpage>&#x02013;<lpage>525</lpage>. <pub-id pub-id-type="doi">10.1162/106365605774666895</pub-id></citation></ref>
<ref id="B9">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Deb</surname> <given-names>K.</given-names></name> <name><surname>Pratap</surname> <given-names>A.</given-names></name> <name><surname>Agarwal</surname> <given-names>S.</given-names></name> <name><surname>Meyarivan</surname> <given-names>T.</given-names></name></person-group> (<year>2002</year>). <article-title>A fast and elitist multiobjective genetic algorithm: NSGA-II</article-title>. <source>IEEE Trans. Evol. Comput.</source> <volume>6</volume>, <fpage>182</fpage>&#x02013;<lpage>197</lpage>. <pub-id pub-id-type="doi">10.1109/4235.996017</pub-id></citation></ref>
<ref id="B10">
<citation citation-type="web"><person-group person-group-type="author"><name><surname>Devuyst</surname> <given-names>S.</given-names></name></person-group> (<year>2013</year>). <source>The DREAMS Sleep Spindles Database</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="http://www.tcts.fpms.ac.be/~devuyst/Databases/DatabaseSpindles/">http://www.tcts.fpms.ac.be/~devuyst/Databases/DatabaseSpindles/</ext-link></citation></ref>
<ref id="B11">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Devuyst</surname> <given-names>S.</given-names></name> <name><surname>Dutoit</surname> <given-names>T.</given-names></name> <name><surname>Stenuit</surname> <given-names>P.</given-names></name> <name><surname>Kerkhofs</surname> <given-names>M.</given-names></name></person-group> (<year>2011</year>). <article-title>Automatic sleep spindles detection-overview and development of a standard proposal assessment method</article-title>, in <source>Proceedings of the Annual International Conference of the IEEE Engineering in Medicine and Biology Society</source> (<publisher-loc>Boston, MA</publisher-loc>), <fpage>1713</fpage>&#x02013;<lpage>1716</lpage>. <pub-id pub-id-type="pmid">22254656</pub-id></citation></ref>
<ref id="B12">
<citation citation-type="book"><person-group person-group-type="editor"><name><surname>Doncieux</surname> <given-names>S.</given-names></name> <name><surname>Mouret</surname> <given-names>J.-B.</given-names></name> <name><surname>Bredeche</surname> <given-names>N.</given-names></name></person-group> (eds.) (<year>2011</year>). <source>New Horizons in Evolutionary Robotics.</source> <publisher-loc>Berlin; Heidelberg</publisher-loc>: <publisher-name>Springer</publisher-name>.</citation></ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Eschenko</surname> <given-names>O.</given-names></name> <name><surname>M&#x000F6;lle</surname> <given-names>M.</given-names></name> <name><surname>Born</surname> <given-names>J.</given-names></name> <name><surname>Sara</surname> <given-names>S. J.</given-names></name></person-group> (<year>2006</year>). <article-title>Elevated sleep spindle density after learning of after retrieval in rats</article-title>. <source>J. Neurosci.</source> <volume>26</volume>, <fpage>12914</fpage>&#x02013;<lpage>12920</lpage>. <pub-id pub-id-type="doi">10.1523/JNEUROSCI.3175-06.2006</pub-id><pub-id pub-id-type="pmid">17167082</pub-id></citation></ref>
<ref id="B14">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ferrarelli</surname> <given-names>F.</given-names></name> <name><surname>Huber</surname> <given-names>R.</given-names></name> <name><surname>Peterson</surname> <given-names>M. J.</given-names></name> <name><surname>Massimini</surname> <given-names>M.</given-names></name> <name><surname>Murphy</surname> <given-names>M.</given-names></name> <name><surname>Riedner</surname> <given-names>B. A.</given-names></name> <etal/></person-group>. (<year>2007</year>). <article-title>Reduced sleep spindle activity in schizophrenia patients</article-title>. <source>Am. J. Psychiatry</source> <volume>164</volume>, <fpage>483</fpage>&#x02013;<lpage>492</lpage>. <pub-id pub-id-type="doi">10.1176/ajp.2007.164.3.483</pub-id></citation>
</ref>
<ref id="B15">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Fogel</surname> <given-names>S. M.</given-names></name> <name><surname>Nader</surname> <given-names>R.</given-names></name> <name><surname>Cote</surname> <given-names>K. A.</given-names></name> <name><surname>Smith</surname> <given-names>C. T.</given-names></name></person-group> (<year>2007</year>). <article-title>Sleep spindles and learning potential</article-title>. <source>Behav. Neurosci.</source> <volume>121</volume>, <fpage>1</fpage>&#x02013;<lpage>10</lpage>. <pub-id pub-id-type="doi">10.1037/0735-7044.121.1.1</pub-id><pub-id pub-id-type="pmid">17324046</pub-id></citation></ref>
<ref id="B16">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Geiger</surname> <given-names>A.</given-names></name> <name><surname>Huber</surname> <given-names>R.</given-names></name> <name><surname>Kurth</surname> <given-names>S.</given-names></name> <name><surname>Ringli</surname> <given-names>M.</given-names></name> <name><surname>Jenni</surname> <given-names>O. G.</given-names></name> <name><surname>Achermann</surname> <given-names>P.</given-names></name></person-group> (<year>2011</year>). <article-title>The sleep EEG as a marker of intellectual ability in school age children</article-title>. <source>Sleep</source> <volume>34</volume>, <fpage>181</fpage>&#x02013;<lpage>189</lpage>. <pub-id pub-id-type="doi">10.1093/sleep/34.2.181</pub-id></citation>
</ref>
<ref id="B17">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Goutte</surname> <given-names>C.</given-names></name> <name><surname>Gaussier</surname> <given-names>E.</given-names></name></person-group> (<year>2005</year>). <article-title>A probabilistic interpretation of precision, recall and F-score, with implication for evaluation</article-title>, in <source>Proceedings of 27th European Conference on IR Research (ECIR 2005)</source> (<publisher-loc>Santiago de Compostela</publisher-loc>), <fpage>345</fpage>&#x02013;<lpage>359</lpage>.</citation>
</ref>
<ref id="B18">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gruber</surname> <given-names>R.</given-names></name> <name><surname>Wise</surname> <given-names>M. S.</given-names></name> <name><surname>Frenette</surname> <given-names>S.</given-names></name> <name><surname>Kn&#x000E4;auper</surname> <given-names>B.</given-names></name> <name><surname>Boom</surname> <given-names>A.</given-names></name> <name><surname>Fontil</surname> <given-names>L.</given-names></name> <etal/></person-group>. (<year>2013</year>). <article-title>The association between sleep spindles and IQ in healthy school-age children</article-title>. <source>Int. J. Psychophysiol.</source> <volume>89</volume>, <fpage>229</fpage>&#x02013;<lpage>240</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijpsycho.2013.03.018</pub-id><pub-id pub-id-type="pmid">23566888</pub-id></citation></ref>
<ref id="B19">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Huang</surname> <given-names>A.</given-names></name> <name><surname>Lee</surname> <given-names>C.-W.</given-names></name> <name><surname>Liu</surname> <given-names>H.-M.</given-names></name></person-group> (<year>2016</year>). <article-title>Rolling ball sifting algorithm for the augmented visual inspection of carotid bruit auscultation</article-title>. <source>Sci. Rep.</source> <volume>6</volume>:<fpage>30179</fpage>. <pub-id pub-id-type="doi">10.1038/srep30179</pub-id></citation>
</ref>
<ref id="B20">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Huang</surname> <given-names>A.</given-names></name> <name><surname>Li</surname> <given-names>J.</given-names></name> <name><surname>Summers</surname> <given-names>R. M.</given-names></name> <name><surname>Petrick</surname> <given-names>N.</given-names></name> <name><surname>Hara</surname> <given-names>A. K.</given-names></name></person-group> (<year>2010</year>). <article-title>Improving polyp detection algorithms for CT colonography: pareto front approach</article-title>. <source>Pattern Recognit. Lett.</source> <volume>31</volume>, <fpage>1461</fpage>&#x02013;<lpage>1469</lpage>. <pub-id pub-id-type="doi">10.1016/j.patrec.2010.03.013</pub-id><pub-id pub-id-type="pmid">20548966</pub-id></citation></ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Huang</surname> <given-names>A.</given-names></name> <name><surname>Liu</surname> <given-names>M. Y.</given-names></name> <name><surname>Yu</surname> <given-names>T. W.</given-names></name></person-group> (<year>2015</year>). <article-title>Bandpass empirical mode decomposition using a rolling ball algorithm</article-title>. <source>Adv. Adapt. Data Anal.</source> <volume>7</volume>:<fpage>1550003</fpage>. <pub-id pub-id-type="doi">10.1142/S179353691550003X</pub-id></citation></ref>
<ref id="B22">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Huang</surname> <given-names>N. E.</given-names></name> <name><surname>Shen</surname> <given-names>Z.</given-names></name> <name><surname>Long</surname> <given-names>S. R.</given-names></name> <name><surname>Wu</surname> <given-names>M. C.</given-names></name> <name><surname>Shih</surname> <given-names>H. H.</given-names></name> <name><surname>Zheng</surname> <given-names>Q.</given-names></name> <etal/></person-group>. (<year>1998</year>). <article-title>The empirical mode decomposition and the Hilbert spectrum for nonlinear and non-stationary time series analysis</article-title>. <source>Proc. R. Soc. Lond.</source> <volume>454A</volume>, <fpage>903</fpage>&#x02013;<lpage>995</lpage>. <pub-id pub-id-type="doi">10.1098/rspa.1998.0193</pub-id></citation></ref>
<ref id="B23">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Huang</surname> <given-names>N. E.</given-names></name> <name><surname>Wu</surname> <given-names>Z.</given-names></name> <name><surname>Long</surname> <given-names>S. R.</given-names></name> <name><surname>Arnold</surname> <given-names>K. C.</given-names></name> <name><surname>Chen</surname> <given-names>X.</given-names></name> <name><surname>Blank</surname> <given-names>K.</given-names></name></person-group> (<year>2009</year>). <article-title>On instantaneous frequency</article-title>. <source>Adv. Adapt. Data Anal.</source> <volume>1</volume>, <fpage>177</fpage>&#x02013;<lpage>229</lpage>. <pub-id pub-id-type="doi">10.1142/S1793536909000096</pub-id></citation></ref>
<ref id="B24">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Huupponen</surname> <given-names>E.</given-names></name> <name><surname>G&#x000F3;mez-Herrero</surname> <given-names>G.</given-names></name> <name><surname>Saastamoinen</surname> <given-names>A.</given-names></name> <name><surname>V&#x000E4;rri</surname> <given-names>A.</given-names></name> <name><surname>Hasan</surname> <given-names>J.</given-names></name> <name><surname>Himanen</surname> <given-names>S. L.</given-names></name></person-group> (<year>2007</year>). <article-title>Development and comparison of four sleep spindle detection methods</article-title>. <source>Artif. Intell. Med.</source> <volume>40</volume>, <fpage>157</fpage>&#x02013;<lpage>170</lpage>. <pub-id pub-id-type="doi">10.1016/j.artmed.2007.04.003</pub-id><pub-id pub-id-type="pmid">17555950</pub-id></citation></ref>
<ref id="B25">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Iber</surname> <given-names>C.</given-names></name> <name><surname>Ancoli-Israel</surname> <given-names>S.</given-names></name> <name><surname>Chesson</surname> <given-names>A. L.</given-names></name> <name><surname>Quan</surname> <given-names>S. F.</given-names></name></person-group> (<year>2007</year>). <source>The AASM Manual for the Scoring of Sleep and Associated Events: Rules, Terminology, and Technical Specifications</source>. <publisher-loc>Westchester, IL</publisher-loc>: <publisher-name>American Academy of Sleep Medicine</publisher-name>.</citation></ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Knowles</surname> <given-names>J. D.</given-names></name> <name><surname>Corne</surname> <given-names>D. W.</given-names></name></person-group> (<year>2000</year>). <article-title>Approximating the nondominated front using the Pareto archived evolution strategy</article-title>. <source>Evol. Comput.</source> <volume>8</volume>, <fpage>149</fpage>&#x02013;<lpage>172</lpage>. <pub-id pub-id-type="doi">10.1162/106365600568167</pub-id><pub-id pub-id-type="pmid">10843519</pub-id></citation></ref>
<ref id="B27">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lajnef</surname> <given-names>T.</given-names></name> <name><surname>Chaibi</surname> <given-names>S.</given-names></name> <name><surname>Eichenlaub</surname> <given-names>J.-B.</given-names></name> <name><surname>Ruby</surname> <given-names>P. M.</given-names></name> <name><surname>Aguera</surname> <given-names>P.-E.</given-names></name> <name><surname>Samet</surname> <given-names>M.</given-names></name> <etal/></person-group>. (<year>2015</year>). <article-title>Sleep spindle and K-complex detection using tunable Q-factor wavelet transform and morphological component analysis</article-title>. <source>Front. Hum. Neurosci.</source> <volume>9</volume>:<fpage>414</fpage>. <pub-id pub-id-type="doi">10.3389/fnhum.2015.00414</pub-id><pub-id pub-id-type="pmid">26283943</pub-id></citation></ref>
<ref id="B28">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Latreille</surname> <given-names>V.</given-names></name> <name><surname>Carrier</surname> <given-names>J.</given-names></name> <name><surname>Lafortune</surname> <given-names>M.</given-names></name> <name><surname>Postuma</surname> <given-names>R. B.</given-names></name> <name><surname>Bertrand</surname> <given-names>J. A.</given-names></name> <name><surname>Panisset</surname> <given-names>M.</given-names></name> <etal/></person-group>. (<year>2015</year>). <article-title>Sleep spindles in Parkinson&#x00027;s disease may predict the development of dementia</article-title>. <source>Neurobiol. Aging</source> <volume>36</volume>, <fpage>1083</fpage>&#x02013;<lpage>1090</lpage>. <pub-id pub-id-type="doi">10.1016/j.neurobiolaging.2014.09.009</pub-id><pub-id pub-id-type="pmid">25442116</pub-id></citation></ref>
<ref id="B29">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Martin</surname> <given-names>N.</given-names></name> <name><surname>Lafortune</surname> <given-names>M.</given-names></name> <name><surname>Godbout</surname> <given-names>J.</given-names></name> <name><surname>Barakat</surname> <given-names>M.</given-names></name> <name><surname>Robillard</surname> <given-names>R.</given-names></name> <name><surname>Poirier</surname> <given-names>G.</given-names></name> <etal/></person-group>. (<year>2013</year>). <article-title>Topography of age-related changes in sleep spindles</article-title>. <source>Neurobiol. Aging</source> <volume>34</volume>, <fpage>468</fpage>&#x02013;<lpage>476</lpage>. <pub-id pub-id-type="doi">10.1016/j.neurobiolaging.2012.05.020</pub-id><pub-id pub-id-type="pmid">22809452</pub-id></citation></ref>
<ref id="B30">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Messac</surname> <given-names>A.</given-names></name> <name><surname>Ismail-Yahaya</surname> <given-names>A.</given-names></name> <name><surname>Mattson</surname> <given-names>C. A.</given-names></name></person-group> (<year>2003</year>). <article-title>The normalized normal constraint method for generating the pareto frontier</article-title>. <source>Struct. Multidiscipl. Optimization</source> <volume>25</volume>, <fpage>86</fpage>&#x02013;<lpage>98</lpage>. <pub-id pub-id-type="doi">10.1007/s00158-002-0276-1</pub-id></citation></ref>
<ref id="B31">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>M&#x000F6;lle</surname> <given-names>M.</given-names></name> <name><surname>Marshall</surname> <given-names>L.</given-names></name> <name><surname>Gais</surname> <given-names>S.</given-names></name> <name><surname>Born</surname> <given-names>J.</given-names></name></person-group> (<year>2002</year>). <article-title>Grouping of spindle activity during slow oscillations in human non-rapid eye movement sleep</article-title>. <source>J. Neurosci.</source> <volume>22</volume>, <fpage>10941</fpage>&#x02013;<lpage>10947</lpage>. <pub-id pub-id-type="pmid">12486189</pub-id></citation></ref>
<ref id="B32">
<citation citation-type="web"><person-group person-group-type="author"><name><surname>O&#x00027;Reilly</surname> <given-names>C.</given-names></name></person-group> (<year>2013</year>). <source>Spyndle</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://bitbucket.org/christian_oreilly/spyndle">https://bitbucket.org/christian_oreilly/spyndle</ext-link></citation></ref>
<ref id="B33">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>O&#x00027;Reilly</surname> <given-names>C.</given-names></name> <name><surname>Gosselin</surname> <given-names>N.</given-names></name> <name><surname>Carrier</surname> <given-names>J.</given-names></name> <name><surname>Nielsen</surname> <given-names>T.</given-names></name></person-group> (<year>2014</year>). <article-title>Montreal Archive of Sleep Studies: an open-access resource for instrument benchmarking and exploratory research</article-title>. <source>J. Sleep Res.</source> <volume>23</volume>, <fpage>628</fpage>&#x02013;<lpage>635</lpage>. <pub-id pub-id-type="doi">10.1111/jsr.12169</pub-id><pub-id pub-id-type="pmid">24909981</pub-id></citation></ref>
<ref id="B34">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>O&#x00027;Reilly</surname> <given-names>C.</given-names></name> <name><surname>Nielsen</surname> <given-names>T.</given-names></name></person-group> (<year>2015</year>). <article-title>Automatic sleep spindle detection: benchmarking with fine temporal resolution using open science tools</article-title>. <source>Front. Hum. Neurosci.</source> <volume>9</volume>:<fpage>353</fpage>. <pub-id pub-id-type="doi">10.3389/fnhum.2015.00353</pub-id><pub-id pub-id-type="pmid">26157375</pub-id></citation></ref>
<ref id="B35">
<citation citation-type="web"><person-group person-group-type="author"><name><surname>Popov</surname> <given-names>A.</given-names></name></person-group> (<year>2005</year>). <source>SPEA2 for Matlab</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="http://p0p0v.com/science/downloads/MOEA_SPEA2.zip">http://p0p0v.com/science/downloads/MOEA_SPEA2.zip</ext-link></citation></ref>
<ref id="B36">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schabus</surname> <given-names>M.</given-names></name> <name><surname>Hoedlmoser</surname> <given-names>K.</given-names></name> <name><surname>Pecherstorfer</surname> <given-names>T.</given-names></name> <name><surname>Anderer</surname> <given-names>P.</given-names></name> <name><surname>Gruber</surname> <given-names>G.</given-names></name> <name><surname>Parapatics</surname> <given-names>S.</given-names></name> <etal/></person-group>. (<year>2008</year>). <article-title>Interindividual sleep spindle differences and their relation to learning-related enhancements</article-title>. <source>Brain Res.</source> <volume>1191</volume>, <fpage>127</fpage>&#x02013;<lpage>135</lpage>. <pub-id pub-id-type="doi">10.1016/j.brainres.2007.10.106</pub-id><pub-id pub-id-type="pmid">18164280</pub-id></citation></ref>
<ref id="B37">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schimicek</surname> <given-names>P.</given-names></name> <name><surname>Zeitlhofer</surname> <given-names>J.</given-names></name> <name><surname>Anderer</surname> <given-names>P.</given-names></name> <name><surname>Saletu</surname> <given-names>B.</given-names></name></person-group> (<year>1994</year>). <article-title>Automatic sleep-spindle detection procedure: aspects of reliability and validity</article-title>. <source>Clin. Electroencephalogr.</source> <volume>25</volume>, <fpage>26</fpage>&#x02013;<lpage>29</lpage>. <pub-id pub-id-type="doi">10.1177/15500594902500108</pub-id><pub-id pub-id-type="pmid">8174288</pub-id></citation></ref>
<ref id="B38">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sitnikova</surname> <given-names>E.</given-names></name> <name><surname>Hramov</surname> <given-names>A. E.</given-names></name> <name><surname>Koronovsky</surname> <given-names>A. A.</given-names></name> <name><surname>van Luijtelaar</surname> <given-names>G.</given-names></name></person-group> (<year>2009</year>). <article-title>Sleep spindles and spike-wave discharges in EEG: their generic features, similarities and distinctions disclosed with Fourier transform and continuous wavelet analysis</article-title>. <source>J. Neurosci. Methods</source> <volume>180</volume>, <fpage>304</fpage>&#x02013;<lpage>316</lpage>. <pub-id pub-id-type="doi">10.1016/j.jneumeth.2009.04.006</pub-id><pub-id pub-id-type="pmid">19383511</pub-id></citation></ref>
<ref id="B39">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tamminen</surname> <given-names>J.</given-names></name> <name><surname>Payne</surname> <given-names>J. D.</given-names></name> <name><surname>Stickgold</surname> <given-names>R.</given-names></name> <name><surname>Wamsley</surname> <given-names>E. J.</given-names></name> <name><surname>Gaskell</surname> <given-names>M. G.</given-names></name></person-group> (<year>2010</year>). <article-title>Sleep spindle activity is associated with the integration of new memories and existing knowledge</article-title>. <source>J. Neurosci.</source> <volume>30</volume>, <fpage>14356</fpage>&#x02013;<lpage>14360</lpage>. <pub-id pub-id-type="doi">10.1523/JNEUROSCI.3028-10.2010</pub-id><pub-id pub-id-type="pmid">20980591</pub-id></citation></ref>
<ref id="B40">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tsanas</surname> <given-names>A.</given-names></name> <name><surname>Clifford</surname> <given-names>G. D.</given-names></name></person-group> (<year>2015</year>). <article-title>Stage-independent, single lead EEG sleep spindle detection using the continuous wavelet transform and local weighted smoothing</article-title>. <source>Front. Hum. Neurosci.</source> <volume>9</volume>:<fpage>181</fpage>. <pub-id pub-id-type="doi">10.3389/fnhum.2015.00181</pub-id><pub-id pub-id-type="pmid">25926784</pub-id></citation></ref>
<ref id="B41">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wamsley</surname> <given-names>E. J.</given-names></name> <name><surname>Tucker</surname> <given-names>M. A.</given-names></name> <name><surname>Shinn</surname> <given-names>A. K.</given-names></name> <name><surname>Ono</surname> <given-names>K. E.</given-names></name> <name><surname>McKinley</surname> <given-names>S. K.</given-names></name> <name><surname>Ely</surname> <given-names>A. V.</given-names></name> <etal/></person-group>. (<year>2012</year>). <article-title>Reduced sleep spindles and spindle coherence in schizophrenia: mechanisms of impaired memory consolidation?</article-title> <source>Biol. Psychiatry</source> <volume>71</volume>, <fpage>154</fpage>&#x02013;<lpage>161</lpage>. <pub-id pub-id-type="doi">10.1016/j.biopsych.2011.08.008</pub-id><pub-id pub-id-type="pmid">21967958</pub-id></citation></ref>
<ref id="B42">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname> <given-names>Y.-H.</given-names></name> <name><surname>Yeh</surname> <given-names>C.-H.</given-names></name> <name><surname>Young</surname> <given-names>H.-W.</given-names></name> <name><surname>Hu</surname> <given-names>K.</given-names></name> <name><surname>Lo</surname> <given-names>M.-T.</given-names></name></person-group> (<year>2014</year>). <article-title>On the computational complexity of the empirical mode decomposition algorithm</article-title>. <source>Phys. A Stat. Mech. Appl.</source> <volume>400</volume>, <fpage>159</fpage>&#x02013;<lpage>167</lpage>. <pub-id pub-id-type="doi">10.1016/j.physa.2014.01.020</pub-id></citation></ref>
<ref id="B43">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Warby</surname> <given-names>S. C.</given-names></name> <name><surname>Wendt</surname> <given-names>S. L.</given-names></name> <name><surname>Welinder</surname> <given-names>P.</given-names></name> <name><surname>Munk</surname> <given-names>E. G.</given-names></name> <name><surname>Carrillo</surname> <given-names>O.</given-names></name> <name><surname>Sorensen</surname> <given-names>H. B.</given-names></name> <etal/></person-group>. (<year>2014</year>). <article-title>Sleep-spindle detection: crowdsourcing and evaluating performance of experts, non-experts and automated methods</article-title>. <source>Nat. Methods</source><volume>11</volume>, <fpage>385</fpage>&#x02013;<lpage>392</lpage>. <pub-id pub-id-type="doi">10.1038/nmeth.2855</pub-id></citation>
</ref>
<ref id="B44">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Wendt</surname> <given-names>S. L.</given-names></name> <name><surname>Christensen</surname> <given-names>J. A.</given-names></name> <name><surname>Kempfner</surname> <given-names>J.</given-names></name> <name><surname>Leonthin</surname> <given-names>H. L.</given-names></name> <name><surname>Jennum</surname> <given-names>P.</given-names></name> <name><surname>Sorensen</surname> <given-names>B. D.</given-names></name></person-group> (<year>2012</year>). <article-title>Validation of a novel automatic sleep spindle detector with high performance during sleep in middle aged subjects</article-title>, in <source>Proceedings of the Annual International Conference of the IEEE Engineering in Medicine and Biology Society</source> (<publisher-loc>San Diego, CA</publisher-loc>), <fpage>4250</fpage>&#x02013;<lpage>4253</lpage>.</citation></ref>
<ref id="B45">
<citation citation-type="other"><person-group person-group-type="author"><name><surname>Zitzler</surname> <given-names>E.</given-names></name> <name><surname>Laumanns</surname> <given-names>M.</given-names></name> <name><surname>Thiele</surname> <given-names>L.</given-names></name></person-group> (<year>2001a</year>). <source>SPEA2: Improving the Strength Pareto Evolutionary Algorithm</source>. TIK-Report, <fpage>103</fpage>.</citation></ref>
<ref id="B46">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Zitzler</surname> <given-names>E.</given-names></name> <name><surname>Laumanns</surname> <given-names>M.</given-names></name> <name><surname>Thiele</surname> <given-names>L.</given-names></name></person-group> (<year>2001b</year>). <article-title>SPEA2: improving the strength Pareto evolutionary algorithm</article-title>, in <source>Evolutionary Methods for Design, Optimisation and Control with Application to Industrial Problems</source> (EUROGEN 2001) (<publisher-loc>Athens</publisher-loc>), <fpage>95</fpage>&#x02013;<lpage>100</lpage>.</citation></ref>
</ref-list>
</back>
</article>
