<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.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">INFORMATICA</journal-id>
<journal-title-group><journal-title>Informatica</journal-title></journal-title-group>
<issn pub-type="epub">1822-8844</issn><issn pub-type="ppub">0868-4952</issn><issn-l>0868-4952</issn-l>
<publisher>
<publisher-name>Vilnius University</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">INFOR472</article-id>
<article-id pub-id-type="doi">10.15388/21-INFOR472</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>Binary PSO Variants for Feature Selection in Handwritten Signature Authentication</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-3213-5191</contrib-id>
<name><surname>Hancer</surname><given-names>Emrah</given-names></name><email xlink:href="ehancer@mehmetakif.edu.tr">ehancer@mehmetakif.edu.tr</email><xref ref-type="aff" rid="j_infor472_aff_001">1</xref><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>E. Hancer</bold> received the BS degree in the Department of Mathematics and Computer Science from Cankaya University, Turkey, in 2009, and the MS and PhD degrees in Computer Engineering from Erciyes University, Turkey, in 2012 and 2016, respectively. During his PhD, he worked as a visiting researcher at Victoria University of Wellington in New Zealand between 2014 and 2015 for 1 year. He is currently an associate professor at the Department of Software Engineering, Mehmet Akif Ersoy University. In 2020 and 2021, he was selected among the top 2% of the world according to the article titled “Updated science-wide author databases of standardized citation indicators” published in PLOS Biology by Dr. John PA Ioannidis, K.W. Boyack, and J. Baas from Stanford University. His research interests include image analysis, clustering, dimensionality reduction, evolutionary computation and IoT authentication. Dr. Hancer has been serving as a reviewer for several international journals and conferences in the field, such as <italic>Applied Soft Computing</italic>, <italic>Pattern Recognition</italic>, <italic>IEEE CEC</italic> and <italic>IEEE SSCI</italic>.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Bardamova</surname><given-names>Marina</given-names></name><email xlink:href="722bmb@gmail.com">722bmb@gmail.com</email><xref ref-type="aff" rid="j_infor472_aff_002">2</xref><bio>
<p><bold>M. Bardamova</bold> is a junior researcher at the Laboratory of Collection, Analysis and Control of Biological Signals at Tomsk State University of Control Systems and Radioelectronics (TUSUR). She graduated from the Faculty of Security of the same university in 2017. Currently, she is a senior instructor of the Department of Complex Information Security of Computer Systems. Her main research interests include data mining, fuzzy modelling and machine learning. She has authored and co-authored more than 10 journal and conference articles.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Hodashinsky</surname><given-names>Ilya</given-names></name><email xlink:href="hodashn@gmail.com">hodashn@gmail.com</email><xref ref-type="aff" rid="j_infor472_aff_002">2</xref><bio>
<p><bold>I. Hodashinsky</bold> graduated from the Faculty of Control Systems, Novosibirsk Electrotechnical Institute, in 1975. He received the PhD degree in 1984, the Dr. Sc. degree in 2004 from Tomsk State University of Control Systems and Radioelectronics, Russia. He received the professor title at the 2011 and currently is a professor at Tomsk State University of Control Systems and Radioelectronics. His main research interests include the computational intelligence, fuzzy modelling, pattern recognition, knowledge discovery, and data mining. He is the author and co-author of over 170 journal and conference papers as well as technical articles. Prof. Hodashinsky is a member of IEEE, IEEE Computational Intelligence Society.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Sarin</surname><given-names>Konstantin</given-names></name><email xlink:href="sks@security.tomsk.ru">sks@security.tomsk.ru</email><xref ref-type="aff" rid="j_infor472_aff_002">2</xref><bio>
<p><bold>K. Sarin</bold> recived Candidate of Sciences in Technology degree from Tomsk State University of Control Systems and Radioelectronics, Russian Federation, in 2016. He is currently an assistant professor at the Department of Complex Information Security of Computer Systems, Tomsk State University of Control Systems and Radioelectronics. His research interests include data mining, fuzzy systems, metaheuristic optimization and biometric authentication.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Slezkin</surname><given-names>Artem</given-names></name><email xlink:href="saotom724@gmail.com">saotom724@gmail.com</email><xref ref-type="aff" rid="j_infor472_aff_002">2</xref><bio>
<p><bold>A. Slezkin</bold> is a certified specialist in the field of information security and automated systems (he received his specialist diploma in 2019 from Tomsk State University of Control Systems and Radioelectronics). He is also an experienced software developer, including software designed for auditing and information security. He is currently a postgraduate student at Tomsk State University of Control Systems and Radioelectronics and a junior researcher in the laboratory of extraction, analysis and management of biological signals at the Institute of Systems Integration and Security. His research interests include fuzzy systems, metaheuristic optimization algorithms, and feature selection.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Svetlakov</surname><given-names>Mikhail</given-names></name><email xlink:href="svetlakov.m4@gmail.com">svetlakov.m4@gmail.com</email><xref ref-type="aff" rid="j_infor472_aff_002">2</xref><bio>
<p><bold>M. Svetlakov</bold> is a research associate at the Department of Complex Information Security of Computer Systems, Tomsk State University of Control Systems and Radioelectronics. M. S. received the qualification of Information Security Specialist from Tomsk State University of Control Systems and Radioelectronics, Russia, in 2019. His research interests include fuzzy systems, clustering, metaheuristics optimization, biometrics.</p></bio>
</contrib>
<aff id="j_infor472_aff_001"><label>1</label>Department of Software Engineering, <institution>Mehmet Akif Ersoy University</institution>, <country>Turkey</country></aff>
<aff id="j_infor472_aff_002"><label>2</label>Department of Security, <institution>Tomsk State University of Control Systems and Radioelectronics</institution>, <country>Russia</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2022</year></pub-date><pub-date pub-type="epub"><day>5</day><month>1</month><year>2022</year></pub-date><volume>33</volume><issue>3</issue><fpage>523</fpage><lpage>543</lpage><history><date date-type="received"><month>2</month><year>2021</year></date><date date-type="accepted"><month>12</month><year>2021</year></date></history>
<permissions><copyright-statement>© 2022 Vilnius University</copyright-statement><copyright-year>2022</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>In this paper we propose modifications of the well-known algorithm of particle swarm optimization (PSO). These changes affect the mapping of the motion of particles from continuous space to binary space for searching in it, which is widely used to solve the problem of feature selection. The modified binary PSO variations were tested on the dataset SVC2004 dedicated to the problem of user authentication based on dynamic features of a handwritten signature. In the example of k-nearest neighbours (kNN), experiments were carried out to find the optimal subset of features. The search for the subset was considered as a multicriteria optimization problem, taking into account the accuracy of the model and the number of features.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>feature selection</kwd>
<kwd>handwritten signature</kwd>
<kwd>particle swarm optimization</kwd>
<kwd>biometric authentication</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="j_infor472_s_001">
<label>1</label>
<title>Introduction</title>
<p>A handwritten signature is one of the most commonly used instruments of person authenticating. There are two types of handwritten signature recognition: static (offline) and dynamic (online) (Mailah and Han, <xref ref-type="bibr" rid="j_infor472_ref_022">2012</xref>). Static type consists only in processing a graphic image of the signature. Dynamic recognition involves the analysis of dynamic parameters, such as coordinates, pressure, pen speed, and the total time of the signature. Such dynamic parameters can’t be determined with only the final image of the signature, so the task of falsification is much more complicated. Research has shown that dynamic signature recognition can significantly improve the accuracy of user identification (Linden <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor472_ref_020">2018</xref>).</p>
<p>To obtain initial dynamic signature signals, various technical devices are used, for example, a graphic tablet (Nelson and Kishon, <xref ref-type="bibr" rid="j_infor472_ref_024">1991</xref>) or a pen equipped with special sensors (Sakamoto <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor472_ref_026">2001</xref>). Further, it is necessary to extract features from the received signals. Features should make it possible to distinguish one user from another, taking into account the variability of the signature of the same user (Li and Jain, <xref ref-type="bibr" rid="j_infor472_ref_019">2015</xref>).</p>
<p>Features can be extracted from the time domain, frequency domain or wavelet transform domain (Wu <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor472_ref_032">2018</xref>). For feature extraction, algorithms such as Fourier transform (Dimauro, <xref ref-type="bibr" rid="j_infor472_ref_008">2011</xref>) or discrete wavelet transform can be used (Fahmy, <xref ref-type="bibr" rid="j_infor472_ref_009">2010</xref>). However, after extracting features, their number may be quite large. It negatively affects the operating time of the user authentication system. In addition, not all of the obtained features can be equally useful for the correct identification of the user, some of them can reduce the classification accuracy. To solve this problem, the feature selection is used.</p>
<p>The selection of the most informative features when constructing a machine learning model is not only a way to reduce the computational complexity of the model, but also to improve the forecast accuracy. This procedure is particularly important for data describing digitized signals, which generally contain a large number of variables with different informativeness. In particular, some of these variables have a crucial role to recognize the corresponding signals, while others may be useless or even may have a negative effect for the recognition process.</p>
<p>There are three groups of feature selection methods: filters, wrappers and embedded methods. While the last group is particular to specific decision algorithms, the rest are more general. Filters are applied during a stage of data preprocessing. They rely on analysis of the relationship between feature space and output variable. The criteria for assessing the relationship can be mutual information, chi-square test, Fisher’s test, correlation coefficient and other characteristics. Disadvantages of this group of methods include the complexity of assessing a synergy between subsets of features and some separation of filters from decision algorithms.</p>
<p>In contrast, methods from the wrapper group function in conjunction with the decision algorithm. They select a subset of features that allows achieving the best value of the objective function of the model. As a rule, optimization algorithms are used as wrappers, and, above all, metaheuristics. However, not all metaheuristics in their original version are capable of working in a binary search space, such as, for example, the genetic algorithm. The development of effective variations of binary algorithms is an urgent task.</p>
<p>One of the most famous metaheuristics is the particle swarm algorithm (PSO). It is a stochastic search method based on the iteratively repeated interaction of a group of particles (Shi and Eberhart, <xref ref-type="bibr" rid="j_infor472_ref_029">1999</xref>). Its advantages are simplicity and computational efficiency due to the small number of tunable parameters and low memory usage.</p>
<p>This article is devoted to the task of PSO binarization. Binarization is a modification of the algorithm to perform a search in binary space. The contributions of this article are as follows:</p>
<list>
<list-item id="j_infor472_li_001">
<label>•</label>
<p>We propose the following new methods for binarization of continuous metaheuristics: Local search, New fitness, The merge procedure, The hybrid method of the modified arithmetic operation and the merge procedure.</p>
</list-item>
<list-item id="j_infor472_li_002">
<label>•</label>
<p>We modify the continuous PSO with new binarization methods to select features of the user’s classification based on a handwritten signature.</p>
</list-item>
<list-item id="j_infor472_li_003">
<label>•</label>
<p>We propose and demonstrate the effectiveness of our binary PSOs for classifying a user by handwritten signature. We will show that these new enhancements have greater authentication efficiency compared to standard binary PSO with transform functions.</p>
</list-item>
</list>
<p>The rest of the article is organized as follows. Section <xref rid="j_infor472_s_002">2</xref> reviews binarization methods in the literature. Section <xref rid="j_infor472_s_005">3</xref> describes the investigated modifications of the PSO algorithm for finding sub-optimal subsets of features. Section <xref rid="j_infor472_s_014">4</xref> describes the experiment. Section <xref rid="j_infor472_s_019">5</xref> contains a statistical comparison of PSO binarization methods for the problem of user authentication by handwritten signature. Finally, Section <xref rid="j_infor472_s_022">6</xref> contains an overview of the main results.</p>
</sec>
<sec id="j_infor472_s_002">
<label>2</label>
<title>Literature Review</title>
<sec id="j_infor472_s_003">
<label>2.1</label>
<title>Metaheuristic Algorithm PSO</title>
<p>Each solution vector in the algorithm is a particle moving due to the combined effect of the force of inertia, memory and acceleration reported by the best particle. The coordinates of the <italic>i</italic>th particle at the time of iteration <italic>t</italic> are determined by the vector <inline-formula id="j_infor472_ineq_001"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\boldsymbol{x}_{i}}(t)=({x_{i1}}(t),{x_{i2}}(t),\dots ,{x_{iD}}(t))$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_infor472_ineq_002"><alternatives><mml:math>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi></mml:math><tex-math><![CDATA[$i=1,2,\dots ,N$]]></tex-math></alternatives></inline-formula>, <italic>N</italic> is a particle count in a swarm. All particles store their best position <inline-formula id="j_infor472_ineq_003"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\boldsymbol{p}_{i}}(t)=({p_{i1}}(t),{p_{i2}}(t),\dots ,{p_{iD}}(t))$]]></tex-math></alternatives></inline-formula> for the iterations they have passed. The velocity of a particle is set by a vector <inline-formula id="j_infor472_ineq_004"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\boldsymbol{v}_{i}}(t)=({v_{i1}}(t),{v_{i2}}(t),\dots ,{v_{iD}}(t))$]]></tex-math></alternatives></inline-formula>. The speed and position of the <italic>i</italic>th particle at <inline-formula id="j_infor472_ineq_005"><alternatives><mml:math>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$t+1$]]></tex-math></alternatives></inline-formula> iteration are determined by the following expressions: <disp-formula-group id="j_infor472_dg_001">
<disp-formula id="j_infor472_eq_001">
<label>(1)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{\boldsymbol{x}_{i}}(t+1)& ={\boldsymbol{x}_{i}}(t)+{\boldsymbol{v}_{i}}(t+1),\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor472_eq_002">
<label>(2)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">w</mml:mi>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">rand</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>×</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mspace width="1em"/>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">rand</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>×</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{\boldsymbol{v}_{i}}(t+1)& =w\times {\boldsymbol{v}_{i}}(t)+{c_{1}}\times {\textit{rand}_{1}}\times \big({\boldsymbol{p}_{i}}(t)-{\boldsymbol{x}_{i}}(t)\big)\\ {} & \hspace{1em}+{c_{2}}\times {\textit{rand}_{2}}\times \big({\boldsymbol{p}_{g}}(t)-{\boldsymbol{x}_{i}}(t)\big),\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> where <inline-formula id="j_infor472_ineq_006"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor472_ineq_007"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{2}}$]]></tex-math></alternatives></inline-formula> are positive acceleration coefficients; <inline-formula id="j_infor472_ineq_008"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${p_{i}}(t)$]]></tex-math></alternatives></inline-formula> is a vector of previous coordinates of the particle <inline-formula id="j_infor472_ineq_009"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${x_{i}}(t)$]]></tex-math></alternatives></inline-formula> that had the best value of the fitness function, <inline-formula id="j_infor472_ineq_010"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${p_{g}}(t)$]]></tex-math></alternatives></inline-formula> is a vector of coordinates of the particle that reached the best value of the fitness function in the entire swarm for <italic>t</italic> iterations; <italic>w</italic> is the empirical coefficient of inertia; <inline-formula id="j_infor472_ineq_011"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">rand</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\textit{rand}_{1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor472_ineq_012"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">rand</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\textit{rand}_{2}}$]]></tex-math></alternatives></inline-formula> are random numbers from the interval <inline-formula id="j_infor472_ineq_013"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[0,1]$]]></tex-math></alternatives></inline-formula>. The swarm stops moving when at least one of the following conditions is met: the swarm has reached a state of equilibrium, an optimal solution has been found, or a specified number of iterations has been performed.</p>
</sec>
<sec id="j_infor472_s_004">
<label>2.2</label>
<title>Feature Selection</title>
<p>Feature selection can be represented as an NP-hard binary optimization problem (Kohavi and John, <xref ref-type="bibr" rid="j_infor472_ref_016">1997</xref>). The most optimal solution of this problem can be guaranteed to be found only by a brute-force search. However, brute-force approach is ineffective for solving this problem, since the size of the feature space in modern datasets can amount to several tens or even hundreds. Going through all possible combinations of such number of elements is a very time- and resource-consuming task. The decision to this problem can be the use of metaheuristic algorithms that allow finding a suboptimal solution in an acceptable time.</p>
<p>Most metaheuristic algorithms are designed to operate in a continuous search space. However, binary search space may be considered as a more suitable way to deal with feature selection task due to its structure. Accordingly, in order to use metaheuristics for addressing the feature selection task in binary search space, their modification is required. The modification should allow the algorithm to function in a binary space, while maximally preserving the original idea of metaheuristics. There are many ways to binarize metaheuristic algorithms. The main ones will be considered below: the method of modified algebraic operations, the method of transformation functions, and the quantum method.</p>
<p>1) <italic>Modified algebraic operations</italic>: The idea of the method is that to convert the algorithm to the binary version, it is enough to put their logical analogues in accordance with the original mathematical operations of the formulas used. For example, to use disjunction (OR) instead of addition, conjunction (AND) instead of multiplication, exclusive or (XOR) instead of subtraction, and logical negation (NOT). Thus, the search space of the algorithm changes from continuous to binary, but the original idea of changing the position of particles is formally preserved.</p>
<p>However, there are two disadvantages that make it difficult to apply this method to some algorithms. The first is that the method is practically inapplicable if the algorithm uses any operations other than addition, subtraction, multiplication, and division. The second disadvantage is typical for all methods that require working with binary vectors. Many metaheuristic algorithms, in addition to operations directly on vectors, also use a variety of coefficients represented by real numbers. When switching to binary vectors, these coefficients must also be changed or abandoned, which leads to a change in the original idea of the algorithm and, accordingly, may affect the quality of its work. So, when modifying the PSO algorithm, the authors of Yuan <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor472_ref_035">2009</xref>) refused to use the inertia coefficient, and used randomly generated binary vectors as speed coefficients.</p>
<p>Despite the external similarity of the algorithm binarized by the method of modified algebraic operations with the original continuous algorithm, its results are not always satisfactory. In such cases, the authors of some works use only a part of logical operations or use their own modified versions instead of some “classic” logical operations. In Kıran and Gündüz (<xref ref-type="bibr" rid="j_infor472_ref_017">2012</xref>) when binarizing the artificial bee colony algorithm, the authors analysed the use of logical operations and came to the conclusion that it is necessary to use only two of them: XOR and NOT. In this case, the NOT operation was modified as follows: a random real number from 0 to 1 was generated, and if it was greater than 0.5, a logical negation was performed, otherwise the vector remained unchanged.</p>
<p>2) <italic>Transfer functions</italic>: Transformation functions are often used to switch from a continuous space to a binary one. They convert a real number into the range between zero and one. If the calculated function value is greater than a random number, then the corresponding element of the vector either takes the value of one, or is replaced with the opposite (Mirjalili and Lewis, <xref ref-type="bibr" rid="j_infor472_ref_023">2013</xref>).</p>
<p>This method avoids the limitations of the previous method, since it does not require any changes to the original algorithm. However, this method has another complexity, which consists in the problem of choosing a specific function as a transformation one. The research (Mirjalili and Lewis, <xref ref-type="bibr" rid="j_infor472_ref_023">2013</xref>), which examined six transformation functions from two families (S-shaped and V-shaped), showed that the use of V-shaped functions significantly improves the performance of the PSO algorithm. In Souza <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor472_ref_030">2020</xref>), the PSO algorithm, binarized with a V-shaped transformation function, was used to select features when solving the problem of static verification of a handwritten signature. S-shaped and V-shaped transform functions have also been successfully applied to binarize gray wolf algorithm (Chantar <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor472_ref_006">2020</xref>), bat swarm (Qasim and Algamal, <xref ref-type="bibr" rid="j_infor472_ref_025">2020</xref>), dragonfly algorithm (Mafarja <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor472_ref_021">2017</xref>), and butterfly swarm (Arora and Anand, <xref ref-type="bibr" rid="j_infor472_ref_002">2019</xref>). In Ghosh <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor472_ref_011">2020</xref>), a new X-shaped transformation function, consisting of two S-shaped ones, was proposed and applied to binarize the Social Mimic algorithm. With this approach, one vector of real numbers is converted into two binary vectors, from which the best is selected.</p>
<p>3) <italic>Quantum Method</italic>: The idea of this method is to use vectors represented by Q-bits instead of binary vectors, and principles that apply to quantum mechanics, such as quantum superposition. In Hamed <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor472_ref_012">2009</xref>), it was shown that using the quantum method for binarization of the PSO algorithm allows increasing the speed of searching for the optimal set of features. In Barani <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor472_ref_004">2017</xref>), the authors also explored a quantum approach for binarization of the gravitational search algorithm when solving the feature selection task using the kNN classifier. The principle of superposition was used in the work, and a quantum rotation gate was applied to update the solutions. The researchers concluded that the proposed algorithm can significantly reduce the total number of features, while maintaining a comparable classification accuracy relative to other algorithms. The authors (Ashry <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor472_ref_003">2020</xref>) compared binary gray wolf algorithms using the quantum method (BQI-GWO) and the S-shaped transformation function (BGWO). Comparison of the algorithms showed that the BQI-GWO makes it possible to exclude a larger number of features, while increasing the classification accuracy. Researchers in Zouache and Ben Abdelaziz (<xref ref-type="bibr" rid="j_infor472_ref_036">2018</xref>) proposed a hybrid swarm intelligence algorithm based on quantum computations and a combination of the firefly algorithm and PSO for feature selection. Quantum computations provided a good tradeoff between the intensification and diversification of search, while the combination of the firefly algorithm and PSO made it possible to efficiently investigate the generated subsets of features. To evaluate the relevance of these subsets, rough set theory was employed.</p>
</sec>
</sec>
<sec id="j_infor472_s_005">
<label>3</label>
<title>Formulation of the Problem and Algorithmic Framework</title>
<sec id="j_infor472_s_006">
<label>3.1</label>
<title>Formulation of the Problem</title>
<p>The set of instances is a list of objects of the type <inline-formula id="j_infor472_ineq_014"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${x_{i}}=\{{x_{i1}},{x_{i2}},\dots ,{x_{iD}}\}$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_infor472_ineq_015"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${x_{ij}}$]]></tex-math></alternatives></inline-formula> is a value of the <italic>j</italic>th feature of the <italic>i</italic>th object, <inline-formula id="j_infor472_ineq_016"><alternatives><mml:math>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$j\in \{1,3,\dots ,D\}$]]></tex-math></alternatives></inline-formula>, <italic>D</italic> is a number of features, <inline-formula id="j_infor472_ineq_017"><alternatives><mml:math>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$i\in \{1,2,\dots ,N\}$]]></tex-math></alternatives></inline-formula>, <italic>N</italic> is a number of objects. The task of classification is to match each object with the most suitable class from the set of all classes <inline-formula id="j_infor472_ineq_018"><alternatives><mml:math>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$c=\{{c_{1}},{c_{2}},\dots ,{c_{K}}\}$]]></tex-math></alternatives></inline-formula>, <italic>K</italic> is a number of classes. Decision algorithms restore the dependence between input attributes and classes.</p>
<p>In this paper, k-nearest neighbour (KNN) is used as a decision algorithm, as one of the simplest and most frequently used classifiers. The algorithm has only one parameter <italic>k</italic> that indicates the number of neighbours used to define a class label for a new data instance. As a result of the absence of other parameters, the algorithm does not need a learning stage or setting of these parameters, which is expressed in its high speed.</p>
<p>The algorithm operation process can be described as follows: 
<list>
<list-item id="j_infor472_li_004">
<label>1.</label>
<p>To determine the value <italic>k</italic>.</p>
</list-item>
<list-item id="j_infor472_li_005">
<label>2.</label>
<p>Save all positions and class labels of all training data (<bold>TR</bold>).</p>
</list-item>
<list-item id="j_infor472_li_006">
<label>3.</label>
<p>For each new instance of data <bold>X</bold>:</p>
<list>
<list-item id="j_infor472_li_007">
<label>3.1</label>
<p>Calculate distances from <bold>X</bold> to each of the elements <bold>TR</bold>.</p>
</list-item>
<list-item id="j_infor472_li_008">
<label>3.2</label>
<p>Choose from <bold>TR</bold> <italic>k</italic> elements with the shortest distances up to <bold>X</bold>.</p>
</list-item>
<list-item id="j_infor472_li_009">
<label>3.3</label>
<p>Define a class <italic>c</italic> label that has a majority of the elements selected in Step 3.2.</p>
</list-item>
<list-item id="j_infor472_li_010">
<label>3.4</label>
<p>Assign the <bold>X</bold> to class <italic>c</italic>.</p>
</list-item>
</list>
</list-item>
</list> 
In this paper, the value of <italic>k</italic> was chosen to be 5, which is the most preferred value in the literature (Hancer, <xref ref-type="bibr" rid="j_infor472_ref_014">2020</xref>, <xref ref-type="bibr" rid="j_infor472_ref_015">2021</xref>).</p>
<p>The feature selection problem is formulated as follows: on the given set of features, find a feature subset that does not cause a significant decrease in classification accuracy, or even increases it, when the number of features is decreased. The solution is represented as a vector <inline-formula id="j_infor472_ineq_019"><alternatives><mml:math>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$s=\{{s_{1}},{s_{2}},\dots ,{s_{D}}\}$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_infor472_ineq_020"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[${s_{i}}=0$]]></tex-math></alternatives></inline-formula> means that the <italic>i</italic>th feature is excluded from classification and <inline-formula id="j_infor472_ineq_021"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${s_{i}}=1$]]></tex-math></alternatives></inline-formula> means that the <italic>i</italic>th feature is used by the classifier.</p>
<p>Since an algorithm that works as a wrapper has been chosen to select features, a fitness function that evaluates the quality of a subset of selected variables must be used. We have applied the following function: 
<disp-formula id="j_infor472_eq_003">
<label>(3)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext mathvariant="italic">Fit</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>×</mml:mo>
<mml:mtext mathvariant="italic">Error</mml:mtext>
<mml:mo>+</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">F</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \textit{Fit}=\alpha \times \textit{Error}+(1-\alpha )\times F/D,\]]]></tex-math></alternatives>
</disp-formula> 
where <italic>Error</italic> is a classification error, <italic>F</italic> is a number of features in the evaluated subset, <italic>α</italic> is the priority coefficient between an error and the ratio of selected features, <inline-formula id="j_infor472_ineq_022"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$\alpha \in [0,1]$]]></tex-math></alternatives></inline-formula>. The classification error is the number of incorrectly classified objects in relation to the total number of instances.</p>
<p>The task of the binary optimization algorithm is to search for the minimum of the given function.</p>
</sec>
<sec id="j_infor472_s_007">
<label>3.2</label>
<title>Fuzzy Entropy and Mutual Information</title>
<p>Since first founded by Shannon (<xref ref-type="bibr" rid="j_infor472_ref_028">1948</xref>) to address communication, information theory has now been implemented to a variety of fields, from clustering, fuzzy logic to decision making, just to name a few. Specifically, information theory has been implemented to quantify information. The information quantity is described as the amount of information observed in an event (called uncertainty) computed using probabilistic measures. In addition to the probabilistic measures, the fuzziness measures are also very common as an uncertainty measure among researchers. In particular, the fuzziness measures differ from the probabilistic measures by introducing vagueness uncertainties rather than randomness uncertainties.</p>
<p>The first fuzziness extension of the Shannon’s entropy was first considered by De Luca and Termini (<xref ref-type="bibr" rid="j_infor472_ref_007">1972</xref>). Specifically, the fuzzy entropy was described on the basis of a membership function. Based on the axioms of De Luca and Termini, Al-Ani and Khushaba (<xref ref-type="bibr" rid="j_infor472_ref_001">2012</xref>) defined the membership of <italic>k</italic>th feature belonging to <italic>i</italic>th class as follows: 
<disp-formula id="j_infor472_eq_004">
<label>(4)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" maxsize="2.03em" minsize="2.03em">(</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">ˆ</mml:mo></mml:mover>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo>±</mml:mo>
<mml:mi mathvariant="italic">ϵ</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal" fence="true" maxsize="2.03em" minsize="2.03em">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mu _{ik}}={\bigg(\frac{\| \hat{{x_{i}}}-{x_{k}}{\| _{\sigma }}}{r\pm \epsilon }\bigg)^{\frac{-2}{m-1}}},\]]]></tex-math></alternatives>
</disp-formula> 
where <italic>m</italic> is the fuzziness, <italic>σ</italic> is the standard deviation, <italic>r</italic> is the radius of the data such that <inline-formula id="j_infor472_ineq_023"><alternatives><mml:math>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo movablelimits="false">max</mml:mo>
<mml:mo stretchy="false">‖</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">ˆ</mml:mo></mml:mover>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$r=\max \| \hat{{x_{i}}}-{x_{k}}{\| _{\sigma }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor472_ineq_024"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">ˆ</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\hat{{x_{i}}}$]]></tex-math></alternatives></inline-formula> is the mean of data samples belonging to <italic>i</italic>th class.</p>
<p>Based on the membership function defined by Eq. (<xref rid="j_infor472_eq_004">4</xref>), the memberships of all data samples (with size <inline-formula id="j_infor472_ineq_025"><alternatives><mml:math>
<mml:mtext mathvariant="italic">NP</mml:mtext></mml:math><tex-math><![CDATA[$\textit{NP}$]]></tex-math></alternatives></inline-formula>) for each of fuzzy sets (with size <italic>C</italic>) along <italic>k</italic>th and <italic>l</italic>th features are respectively denoted as <italic>A</italic> and <italic>B</italic>. In other words, <italic>A</italic> and <italic>B</italic> are <inline-formula id="j_infor472_ineq_026"><alternatives><mml:math>
<mml:mi mathvariant="italic">C</mml:mi>
<mml:mo>×</mml:mo>
<mml:mtext mathvariant="italic">NP</mml:mtext></mml:math><tex-math><![CDATA[$C\times \textit{NP}$]]></tex-math></alternatives></inline-formula> membership matrixes for <italic>k</italic>th and <italic>l</italic>th features, respectively. Based on the membership matrix, the fuzzy marginal uncertainty measure along each <italic>k</italic>th feature is defined as follows: 
<disp-formula id="j_infor472_eq_005">
<label>(5)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ P(k)=\frac{\sqrt{A{A^{\prime }}}}{NP}.\]]]></tex-math></alternatives>
</disp-formula> 
The fuzzy marginal entropy along each <italic>k</italic>th feature is then calculated as follows: 
<disp-formula id="j_infor472_eq_006">
<label>(6)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle><mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo movablelimits="false">log</mml:mo>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ H(k)=-\sum \sum P(k)\log P(k).\]]]></tex-math></alternatives>
</disp-formula> 
The fuzzy joint entropy, called <inline-formula id="j_infor472_ineq_027"><alternatives><mml:math>
<mml:mi mathvariant="italic">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$H(k,l)$]]></tex-math></alternatives></inline-formula>, between <italic>k</italic>th and <italic>l</italic>th features is calculated as follows: 
<disp-formula id="j_infor472_eq_007">
<label>(7)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo><mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle><mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo movablelimits="false">log</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ H(k,l)=-\sum \sum \frac{\sqrt{A{B^{\prime }}}}{NP}\log \frac{\sqrt{A{B^{\prime }}}}{NP}.\]]]></tex-math></alternatives>
</disp-formula> 
Using the joint entropy, the fuzzy mutual information between <italic>k</italic>th and <italic>l</italic>th features can be calculated as follows: 
<disp-formula id="j_infor472_eq_008">
<label>(8)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ I(k,l)=H(k)+H(l)-H(k,l).\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Assuming <italic>S</italic> is a selected feature subset for a dataset. The intra-class feature dependencies (denoted as relevancy (<italic>Rel</italic>)) and the inter-feature dependencies (denoted as redundancy (<italic>Red</italic>)) are respectively defined as follows: <disp-formula-group id="j_infor472_dg_002">
<disp-formula id="j_infor472_eq_009">
<label>(9)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mi mathvariant="italic">R</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& Rel(S)=\sum \limits_{k\in S}I(k,y),\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor472_eq_010">
<label>(10)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mi mathvariant="italic">R</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
</mml:munder>
<mml:munder>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& Red(S)=\sum \limits_{k\in S}\sum \limits_{l\in S}I(k,l),\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> where <italic>y</italic> denotes the output variable. Then, in terms of the intra-class and the inter-feature dependencies, the fuzzy version of MIFS (Battiti, <xref ref-type="bibr" rid="j_infor472_ref_005">1994</xref>) along <italic>S</italic> can be calculated as follows: 
<disp-formula id="j_infor472_eq_011">
<label>(11)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext mathvariant="italic">FMIFS</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">γ</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">R</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mo>+</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">γ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>×</mml:mo>
<mml:mtext mathvariant="italic">Red</mml:mtext>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \textit{FMIFS}=\gamma \times Rel+(1-\gamma )\times \textit{Red},\]]]></tex-math></alternatives>
</disp-formula> 
where <italic>γ</italic> is a priority coefficient between <italic>Rel</italic> and <italic>Red</italic>.</p>
<p>In case of fuzzy entropy measures, the fuzzy version of symmetry uncertainty (SU) (Witten and Frank, <xref ref-type="bibr" rid="j_infor472_ref_031">2002</xref>) between the <italic>k</italic>th feature and the output variable can be calculated as follows: 
<disp-formula id="j_infor472_eq_012">
<label>(12)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext mathvariant="italic">FSU</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \textit{FSU}(k,y)=\frac{H(k)+H(k|y)}{H(k)+H(y)},\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_infor472_ineq_028"><alternatives><mml:math>
<mml:mi mathvariant="italic">H</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$H(k|y)$]]></tex-math></alternatives></inline-formula> represents the conditional entropy of the output variable given <italic>k</italic>th feature.</p>
</sec>
<sec id="j_infor472_s_008">
<label>3.3</label>
<title>Proposed Binary PSO Variants</title>
<p>This subsection describes the investigated modifications of the PSO algorithm for finding suboptimal subsets of features. A population of randomly generated binary vectors <italic>s</italic> is given to the algorithm input. After passing a specified number of iterations, the PSO outputs a solution with the best value of the fitness function.</p>
<sec id="j_infor472_s_009">
<label>3.3.1</label>
<title>Standard Binary PSO with S-Shaped Transformation Function</title>
<p>This method uses an S-shaped transformation function to update elements of binary vectors. The transformation function takes as input the velocity of the <italic>j</italic>th element of the particle. We use the following standard expression: 
<disp-formula id="j_infor472_eq_013">
<label>(13)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {F_{S}}({v_{j}})=\frac{1}{1+{e^{-{v_{j}}}}},\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_infor472_ineq_029"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${v_{j}}$]]></tex-math></alternatives></inline-formula> is the velocity value of the particle element <inline-formula id="j_infor472_ineq_030"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${s_{j}}$]]></tex-math></alternatives></inline-formula>, <italic>j</italic> is a position number of the element in the vector <italic>s</italic>. Based on the velocity, the function value is calculated, which is then converted to the binary equivalent according to a specific rule: 
<disp-formula id="j_infor472_eq_014">
<label>(14)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfenced separators="" open="{" close="">
<mml:mrow>
<mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left">
<mml:mtr>
<mml:mtd class="array">
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mtext mathvariant="italic">rand</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mtext>otherwise</mml:mtext>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {s_{i}}=\left\{\begin{array}{l@{\hskip4.0pt}l}1,\hspace{1em}& \textit{rand}(0,1)<{F_{S}}({v_{j}}),\\ {} 0,\hspace{1em}& \text{otherwise}.\end{array}\right.\]]]></tex-math></alternatives>
</disp-formula> 
Thus, the elements with the highest positive speed are more likely to be equal to zero.</p>
<p>V-shaped transformation functions are symmetric about the ordinate axis. In this paper, two such functions were tested. The first one is calculated using hyperbolic tangent: 
<disp-formula id="j_infor472_eq_015">
<label>(15)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo movablelimits="false">tanh</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {F_{{V_{1}}}}({v_{j}})=\big|\tanh ({v_{j}})\big|.\]]]></tex-math></alternatives>
</disp-formula> 
The second function belongs to the same family: 
<disp-formula id="j_infor472_eq_016">
<label>(16)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo fence="true" maxsize="1.61em" minsize="1.61em" stretchy="true">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true" mathvariant="normal">/</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msqrt>
<mml:mspace width="0.1667em"/>
<mml:mo fence="true" maxsize="1.61em" minsize="1.61em" stretchy="true">|</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {F_{{V_{2}}}}({v_{j}})=\Big|{v_{j}}\big/\sqrt{1+{({v_{j}})^{2}}}\hspace{0.1667em}\Big|.\]]]></tex-math></alternatives>
</disp-formula> 
To update elements in the binary feature vector, we will use the same rule: 
<disp-formula id="j_infor472_eq_017">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mtext>IF</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:mtext mathvariant="italic">rand</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mtext>then</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mtext>else</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \text{IF}\hspace{2.5pt}\textit{rand}(0,1)<{F_{V}}({v_{j}}),\hspace{1em}\text{then}\hspace{2.5pt}{s_{j}}=1,\hspace{2.5pt}\text{else}\hspace{2.5pt}{s_{j}}=0,\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_infor472_ineq_031"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${F_{V}}({v_{j}})$]]></tex-math></alternatives></inline-formula> is one of the two V-shaped transformation functions. In this case, a vector element that has gained high negative speed also has a high chance of becoming zero.</p>
</sec>
<sec id="j_infor472_s_010">
<label>3.3.2</label>
<title>Local Search</title>
<p>Due to its promising performance with differential evolution for feature selection, the local search module (Hancer, <xref ref-type="bibr" rid="j_infor472_ref_013">2019</xref>) is also adopted in the standard binary PSO with S-shaped transformation function to eliminate less informative features from the selected feature subset of the global best solution and add unselected informative features to the selected feature subset of the global best solution (<inline-formula id="j_infor472_ineq_032"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\boldsymbol{p}_{g}}$]]></tex-math></alternatives></inline-formula>). Once all the positions are updated, the add/remove process is applied in a probabilistic manner. The add process is described as follows: 
<list>
<list-item id="j_infor472_li_011">
<label>1.</label>
<p>A set of unselected features in the data, which are not present in the selected subset, are ranked in descending order in terms of the fuzzy version of the SU criterion, defined by Eq. (<xref rid="j_infor472_eq_010">10</xref>).</p>
</list-item>
<list-item id="j_infor472_li_012">
<label>2.</label>
<p>A predefined percentage of top features from the unselected feature subset are determined as candidate features for the selected feature subset.</p>
</list-item>
<list-item id="j_infor472_li_013">
<label>3.</label>
<p>The mean value of the fuzzy SU (called mean(FSU)) criterion within the selected feature subset is computed.</p>
</list-item>
<list-item id="j_infor472_li_014">
<label>4.</label>
<p>If the fuzzy SU score of each candidate feature is greater than mean(FSU), it is added to the selected feature subset.</p>
</list-item>
</list> 
The remove process is described as follows: 
<list>
<list-item id="j_infor472_li_015">
<label>1.</label>
<p>The features from the selected subset are ranked in terms of the fuzzy version of the MIFS criterion, defined by Eq. (<xref rid="j_infor472_eq_009">9</xref>).</p>
</list-item>
<list-item id="j_infor472_li_016">
<label>2.</label>
<p>A predefined percentage of selected features from the selected feature subset which own lower fuzzy MIFS scores are determined as candidates for the elimination process.</p>
</list-item>
<list-item id="j_infor472_li_017">
<label>3.</label>
<p>A random number between 0 and 1 is generated for each candidate.</p>
</list-item>
<list-item id="j_infor472_li_018">
<label>4.</label>
<p>If the random number of each candidate is smaller than a user-specified threshold, it is eliminated from the selected feature subset.</p>
</list-item>
</list> 
After adding or removing features, the fitness value of the updated feature subset is calculated by Eq. (<xref rid="j_infor472_eq_001">1</xref>). If the fitness value of the updated feature subset is better than that of the current selected feature subset, the positions of <inline-formula id="j_infor472_ineq_033"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\boldsymbol{p}_{g}}$]]></tex-math></alternatives></inline-formula> are then updated based on the updated feature subset. This process is repeated for a smaller predefined number of iterations. Notice that the fuzzy SU and the fuzzy MIFS scores of each feature in the data are first calculated before the evolutionary process to avoid additional computational cost. More information concerning the local search module can be found in Hancer (<xref ref-type="bibr" rid="j_infor472_ref_013">2019</xref>).</p>
</sec>
<sec id="j_infor472_s_011">
<label>3.3.3</label>
<title>New Fitness</title>
<p>The overall aim of a wrapper method is to minimize both the classification error rate and the number of features using a classifier. From an optimization perspective, a wrapper method tries to minimize the objective function, defined by Eq. (<xref rid="j_infor472_eq_001">1</xref>). Different from wrappers, filters select a feature subset by evaluating the relationships between feature space and the output variable. To evaluate this relationship, information theoretic criteria may be treated as the most widely applied for feature selection among a variety of criteria. To utilize filter criteria in wrappers, researchers generally use the following cases:</p>
<p>1) Two-stage feature selection: In this case, a filter approach is initially carried out to reduce a feature space, and then a wrapper approach is performed on the reduced feature space. However, no interaction is built between the stages, i.e. it does not guarantee high-performing feature subsets.</p>
<p>2) Locally hybridized feature selection: In this case, a local elimination module based on a filter (wrapper) evaluation is adopted in a wrapper (filter) method to increase the effectiveness of the method in the feature space. Compared to the previous case, this case can help a feature selection method to obtain high-performing feature subsets. The aforementioned method, called local search, is an example of this case.</p>
<p>To bring the positive effects of both wrappers and filters, different from these cases, we develop a new fitness function which does not require any additional module or computations during the selection process. The newly developed function is adopted in the standard binary PSO with an S-shaped transformation function, defined as follows. 
<disp-formula id="j_infor472_eq_018">
<label>(17)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext mathvariant="italic">newFF</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>×</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="italic">Error</mml:mtext>
<mml:mo>×</mml:mo>
<mml:mtext mathvariant="italic">Rel</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>×</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">F</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mo>×</mml:mo>
<mml:mtext mathvariant="italic">Red</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \textit{newFF}=\alpha \times (\textit{Error}\times \textit{Rel})+(1-\alpha )\times (F/D\times \textit{Red}),\]]]></tex-math></alternatives>
</disp-formula> 
where <italic>Rel</italic> and <italic>Red</italic> are defined by Eqs. (<xref rid="j_infor472_eq_007">7</xref>) and (<xref rid="j_infor472_eq_008">8</xref>).</p>
</sec>
<sec id="j_infor472_s_012">
<label>3.3.4</label>
<title>The Merge Procedure</title>
<p>The essence of this operation is to save matching elements of two binary vectors and randomly select from non-matching elements. Getting the value of the <inline-formula id="j_infor472_ineq_034"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{j}}$]]></tex-math></alternatives></inline-formula> element of the resulting <italic>d</italic> vector from the corresponding elements of the <italic>a</italic> and <italic>b</italic> vectors can be described as follows: 
<disp-formula id="j_infor472_eq_019">
<label>(18)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext mathvariant="italic">merge</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="bold-italic">b</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mfenced separators="" open="{" close="">
<mml:mrow>
<mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left">
<mml:mtr>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mtext>if</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mtext>if</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">≠</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:mtext>and</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:mtext mathvariant="italic">rand</mml:mtext>
<mml:mo>⩽</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mtext>if</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">≠</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:mtext>and</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:mtext mathvariant="italic">rand</mml:mtext>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \textit{merge}(\boldsymbol{a},\boldsymbol{b})=\left\{\begin{array}{l@{\hskip4.0pt}l}{d_{j}}={a_{j}}={b_{j}},\hspace{1em}& \text{if}\hspace{2.5pt}{a_{j}}={b_{j}},\\ {} {d_{j}}={a_{j}},\hspace{1em}& \text{if}\hspace{2.5pt}{a_{j}}\ne {b_{j}}\hspace{2.5pt}\text{and}\hspace{2.5pt}\textit{rand}\leqslant 0.5,\\ {} {d_{j}}={b_{j}},\hspace{1em}& \text{if}\hspace{2.5pt}{a_{j}}\ne {b_{j}}\hspace{2.5pt}\text{and}\hspace{2.5pt}\textit{rand}>0.5,\end{array}\right.\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_infor472_ineq_035"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${a_{j}}$]]></tex-math></alternatives></inline-formula> is the <italic>j</italic>th element of the input vector <inline-formula id="j_infor472_ineq_036"><alternatives><mml:math>
<mml:mi mathvariant="bold-italic">a</mml:mi></mml:math><tex-math><![CDATA[$\boldsymbol{a}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor472_ineq_037"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${b_{j}}$]]></tex-math></alternatives></inline-formula> is the <italic>j</italic>th element of the input vector <inline-formula id="j_infor472_ineq_038"><alternatives><mml:math>
<mml:mi mathvariant="bold-italic">b</mml:mi></mml:math><tex-math><![CDATA[$\boldsymbol{b}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor472_ineq_039"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{j}}$]]></tex-math></alternatives></inline-formula> is the <italic>j</italic>th element of the output vector <inline-formula id="j_infor472_ineq_040"><alternatives><mml:math>
<mml:mi mathvariant="bold-italic">d</mml:mi></mml:math><tex-math><![CDATA[$\boldsymbol{d}$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_infor472_ineq_041"><alternatives><mml:math>
<mml:mtext mathvariant="italic">rand</mml:mtext></mml:math><tex-math><![CDATA[$\textit{rand}$]]></tex-math></alternatives></inline-formula> is a random real number from 0 to 1.</p>
<p>An example of how this operation works is shown as follows. Assume that <inline-formula id="j_infor472_ineq_042"><alternatives><mml:math>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$\boldsymbol{a}=[1,0,0,1]$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor472_ineq_043"><alternatives><mml:math>
<mml:mi mathvariant="bold-italic">b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$\boldsymbol{b}=[1,0,1,0]$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor472_ineq_044"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">rand</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.38</mml:mn></mml:math><tex-math><![CDATA[${\textit{rand}_{1}}=0.38$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor472_ineq_045"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">rand</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.67</mml:mn></mml:math><tex-math><![CDATA[${\textit{rand}_{2}}=0.67$]]></tex-math></alternatives></inline-formula>. The first two elements of vectors <inline-formula id="j_infor472_ineq_046"><alternatives><mml:math>
<mml:mi mathvariant="bold-italic">a</mml:mi></mml:math><tex-math><![CDATA[$\boldsymbol{a}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor472_ineq_047"><alternatives><mml:math>
<mml:mi mathvariant="bold-italic">b</mml:mi></mml:math><tex-math><![CDATA[$\boldsymbol{b}$]]></tex-math></alternatives></inline-formula> are the same, so <inline-formula id="j_infor472_ineq_048"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${d_{1}}=1$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor472_ineq_049"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[${d_{2}}=0$]]></tex-math></alternatives></inline-formula>. To determine the values of the third and fourth elements, we generate two random numbers: <inline-formula id="j_infor472_ineq_050"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">rand</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\textit{rand}_{1}}$]]></tex-math></alternatives></inline-formula> to determine <inline-formula id="j_infor472_ineq_051"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{3}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor472_ineq_052"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">rand</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\textit{rand}_{2}}$]]></tex-math></alternatives></inline-formula> to determine <inline-formula id="j_infor472_ineq_053"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${d_{4}}$]]></tex-math></alternatives></inline-formula>. Since <inline-formula id="j_infor472_ineq_054"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">rand</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mn>0.5</mml:mn></mml:math><tex-math><![CDATA[${\textit{rand}_{1}}<0.5$]]></tex-math></alternatives></inline-formula>, then <inline-formula id="j_infor472_ineq_055"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[${d_{3}}={a_{3}}=0$]]></tex-math></alternatives></inline-formula>. Similarly, since <inline-formula id="j_infor472_ineq_056"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">rand</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mn>0.5</mml:mn></mml:math><tex-math><![CDATA[${\textit{rand}_{2}}>0.5$]]></tex-math></alternatives></inline-formula>, then <inline-formula id="j_infor472_ineq_057"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[${d_{4}}={b_{4}}=0$]]></tex-math></alternatives></inline-formula>. Thus, the resulting vector <inline-formula id="j_infor472_ineq_058"><alternatives><mml:math>
<mml:mi mathvariant="bold-italic">d</mml:mi></mml:math><tex-math><![CDATA[$\boldsymbol{d}$]]></tex-math></alternatives></inline-formula> will be equal to <inline-formula id="j_infor472_ineq_059"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[1,0,0,0]$]]></tex-math></alternatives></inline-formula>. The essence of the binarization method in this case will be to replace all the original arithmetic operations with the merge operation.</p>
</sec>
<sec id="j_infor472_s_013">
<label>3.3.5</label>
<title>The Hybrid Method of the Modified Arithmetic Operation and the Merge Procedure</title>
<p>This approach to binarization is a combination of the modified algebraic operations and the merge procedure. As in the method of modified algebraic operations, instead of multiplication you need to use conjunction (AND), instead of subtraction – exclusive or (XOR), but instead of addition – the merge procedure.</p>
<p>After the binarization of the PSO algorithm by this method, change of the particle position can be described by the following expressions: <disp-formula-group id="j_infor472_dg_003">
<disp-formula id="j_infor472_eq_020">
<label>(19)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">merge</mml:mtext>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}\boldsymbol{s}(t+1)& =\textit{merge}\big(\boldsymbol{s}(t),\boldsymbol{v}(t+1)\big),\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor472_eq_021">
<label>(20)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">merge</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mtext mathvariant="italic">merge</mml:mtext>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">randbinvector</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>∧</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⊕</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">randbinvector</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>∧</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⊕</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}\boldsymbol{v}(t+1)& =\textit{merge}(\boldsymbol{v}(t),\textit{merge}\big({\textit{randbinvector}_{1}}\wedge \big(\boldsymbol{p}(t)\oplus \boldsymbol{s}(t)\big),\\ {} & \hspace{1em}{\textit{randbinvector}_{2}}\wedge \big({\boldsymbol{p}_{g}}(t)\oplus \boldsymbol{s}(t)\big)\big),\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> where <inline-formula id="j_infor472_ineq_060"><alternatives><mml:math>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\boldsymbol{p}(t)$]]></tex-math></alternatives></inline-formula> is a vector of previous coordinates of the particle <inline-formula id="j_infor472_ineq_061"><alternatives><mml:math>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\boldsymbol{s}(t)$]]></tex-math></alternatives></inline-formula> with the best value of the fitness function, <inline-formula id="j_infor472_ineq_062"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\boldsymbol{p}_{g}}(t)$]]></tex-math></alternatives></inline-formula> is a vector of coordinates of the particle that reached the best fitness function in the entire swarm for <italic>t</italic> iterations; <inline-formula id="j_infor472_ineq_063"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">randbinvector</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\textit{randbinvector}_{1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor472_ineq_064"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">randbinvector</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\textit{randbinvector}_{2}}$]]></tex-math></alternatives></inline-formula> are random binary vectors.</p>
<p>As already mentioned when describing the method of modified algebraic operations, the disadvantage of this method is the impossibility to use real coefficients. That is why in this case the coefficients <italic>w</italic>, <inline-formula id="j_infor472_ineq_065"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor472_ineq_066"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{2}}$]]></tex-math></alternatives></inline-formula> will not be used.</p>
</sec>
</sec>
</sec>
<sec id="j_infor472_s_014">
<label>4</label>
<title>Description of the Experiment</title>
<sec id="j_infor472_s_015">
<label>4.1</label>
<title>Preprocessing</title>
<p>The graphics tablets produce signals of the <italic>X</italic>-axis and the <italic>Y</italic>-axis for the points where the user touches the tablet with a digital pen. These signals are the source of the pure digitized data. While writing a signature, it is possible to obtain signatures which differ in the case of size, orientation and deviation due to some factors (e.g. the limited space and the inclination of the tablet) even with the same person. Such differences may adversely affect the reliability of a verification system. Therefore, all signatures should be transformed in the case of position, rotation and size to decrease the differences in the signals. We follow the procedures described in Lam and Kamins (<xref ref-type="bibr" rid="j_infor472_ref_018">1989</xref>), Yanikoglu and Kholmatov (<xref ref-type="bibr" rid="j_infor472_ref_033">2009</xref>) to carry out the transformation process, defined as follows:</p>
<p>1. <italic>Elimination of discontinuities</italic>: It is possible to observe discontinuities (broken lines) in signals, if the user detaches the pen from the tablet while writing the signature. To recombine the broken lines in signals, two interpolation techniques can be used. If the space between broken lines is wide, the newton interpolation can be used; otherwise, the linear interpolation can be applied. For more detailed information concerning the reconstruction of broken lines, please see Samet and Hancer (<xref ref-type="bibr" rid="j_infor472_ref_027">2012</xref>).</p>
<p>2. <italic>Elimination of the signature inclination</italic>: The angles of a signature written by the same user is possible to be varied. The signature inclination is reduced using an exponential function with respect to the <italic>X</italic>-axis, defined as in Yanikoglu and Kholmatov (<xref ref-type="bibr" rid="j_infor472_ref_033">2009</xref>).</p>
<p>3. <italic>Normalization</italic>: The user can write his or her signature in any area of the tablet. Accordingly, the positions of the signature may differ. To address this issue, normalization is applied by subtracting the mean value from each value of the signal.</p>
<p>4. <italic>Scaling</italic>: The same person can write his or her signature in different sizes. It is therefore necessary to scale their size at a reasonable rate.</p>
</sec>
<sec id="j_infor472_s_016">
<label>4.2</label>
<title>Feature Extraction</title>
<p>A set of dynamic signature features described by authors of Fierrez-Aguilar <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor472_ref_010">2005</xref>) are used in this work. One hundred features were selected. The initial data for the feature extraction are <italic>x</italic> and <italic>y</italic> signals <inline-formula id="j_infor472_ineq_067"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({x_{1}},{x_{2}},\dots ,{x_{N}};{y_{1}},{y_{2}},\dots ,{y_{N}})$]]></tex-math></alternatives></inline-formula>. Some of the features used require signals that characterize the velocity and acceleration of the digital pen. For the velocity signals, their absolute values and values for each coordinate are computed; for the acceleration signals, only their relative values are used. These signals can be obtained using the <italic>x</italic> and <italic>y</italic> signals. The absolute velocity signals at certain instants can be measured using the distance between two adjacent touch points of the pen. The absolute velocity signals are defined as follows: 
<disp-formula id="j_infor472_eq_022">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msqrt>
<mml:mo>+</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {v_{i}}=\frac{\sqrt{{({x_{i+1}}-{x_{i}})^{2}}}+\sqrt{{({y_{i+1}}-{y_{i}})^{2}}}}{\Delta t},\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_infor472_ineq_068"><alternatives><mml:math>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$i=1,2,\dots ,N-1$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor472_ineq_069"><alternatives><mml:math>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi></mml:math><tex-math><![CDATA[$\Delta t$]]></tex-math></alternatives></inline-formula> is the duration of an instant. The velocity signals in the respective coordinates are computed as follows: 
<disp-formula id="j_infor472_eq_023">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {V_{{x_{i}}}}=\frac{{x_{i+1}}-{x_{i}}}{\Delta t},\hspace{2em}{v_{{y_{i}}}}=\frac{{y_{i+1}}-{y_{i}}}{\Delta t},\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_infor472_ineq_070"><alternatives><mml:math>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$i=1,2,\dots ,N-1$]]></tex-math></alternatives></inline-formula>. The relative acceleration signals in the respective coordinates are computed as follows: 
<disp-formula id="j_infor472_eq_024">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {a_{{x_{i}}}}=\frac{{v_{{x_{i+1}}}}-{v_{{x_{i}}}}}{\Delta t},\hspace{2em}{v_{{y_{i}}}}=\frac{{v_{{y_{i+1}}}}-{v_{{y_{i}}}}}{\Delta t},\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_infor472_ineq_071"><alternatives><mml:math>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn></mml:math><tex-math><![CDATA[$i=1,2,\dots ,N-2$]]></tex-math></alternatives></inline-formula>.</p>
</sec>
<sec id="j_infor472_s_017">
<label>4.3</label>
<title>Dataset</title>
<p>The signature signals were taken from the SVC2004 dataset (Task 1) (Yeung <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor472_ref_034">2004</xref>). There were 40 sets of signatures. Each set contained 20 genuine signatures from one signer and 20 skilled forgeries from at least four other signers. Each signer was asked to provide 20 genuine signatures. For privacy reasons, the signers were advised not to use their real signatures. Instead, each of them was asked to design a new signature and practice writing it so that this new signature remained relatively consistent over different signature instances, just like a real one. The signers were also reminded that consistency should not be limited to the spatial consistency in the signature shape and it should also include the temporal consistency of the dynamic features.</p>
</sec>
<sec id="j_infor472_s_018">
<label>4.4</label>
<title>Parameter Settings</title>
<p>Table <xref rid="j_infor472_tab_001">1</xref> shows the designations of the studied PSO modifications. The parameter settings for these PSO modifications are presented as follows. The population size is set to 50 and the maximum number of evaluations is chosen as 2500 for all the methods. The parameters of local are set to the default values defined in Hancer (<xref ref-type="bibr" rid="j_infor472_ref_013">2019</xref>). The following parameters were used in methods using transformation functions: positive acceleration coefficients <inline-formula id="j_infor472_ineq_072"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor472_ineq_073"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{2}}$]]></tex-math></alternatives></inline-formula> are equal to 1, the coefficient of inertia <italic>w</italic> is 0.5.</p>
<table-wrap id="j_infor472_tab_001">
<label>Table 1</label>
<caption>
<p>The brief notation of the tested modifications of the PSO algorithm.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Method</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Designation</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">The S-shaped transformation function</td>
<td style="vertical-align: top; text-align: left"><italic>standard</italic></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Previous method with new fitness function</td>
<td style="vertical-align: top; text-align: left"><italic>newFF</italic></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">New version of local search</td>
<td style="vertical-align: top; text-align: left"><italic>local</italic></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">The merge operation</td>
<td style="vertical-align: top; text-align: left"><italic>merge</italic></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">The hybrid method of the modified arithmetic and merging operation</td>
<td style="vertical-align: top; text-align: left"><italic>opmerge</italic></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">The FV1 transformation functions</td>
<td style="vertical-align: top; text-align: left"><italic>tanh</italic></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">The FV2 transformation function</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><italic>Vshaped</italic></td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="j_infor472_tab_002">
<label>Table 2</label>
<caption>
<p>Averaged classification results after feature selection by the PSO algorithm.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Metric</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Accuracy</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Coefficient</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_074"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\alpha =1$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_075"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.9</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.9$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_076"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.7</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.7$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_077"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.5</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.5$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><italic>standard</italic></td>
<td style="vertical-align: top; text-align: left">88.34 ± 5.22</td>
<td style="vertical-align: top; text-align: left">89.18 ± 5.57</td>
<td style="vertical-align: top; text-align: left">88.75 ± 5.76</td>
<td style="vertical-align: top; text-align: left">88.65 ± 5.69</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>newFF</italic></td>
<td style="vertical-align: top; text-align: left">87.69 ± 3.65</td>
<td style="vertical-align: top; text-align: left">89.18 ± 3.69</td>
<td style="vertical-align: top; text-align: left">89.93 ± 4.07</td>
<td style="vertical-align: top; text-align: left">89.58 ± 4.77</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>local</italic></td>
<td style="vertical-align: top; text-align: left">88.29 ± 5.09</td>
<td style="vertical-align: top; text-align: left"><bold>90.64</bold> ± 5.54</td>
<td style="vertical-align: top; text-align: left"><bold>90.37</bold> ± 5.57</td>
<td style="vertical-align: top; text-align: left"><bold>89.72</bold> ± 5.94</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>merge</italic></td>
<td style="vertical-align: top; text-align: left">87.20 ± 6.83</td>
<td style="vertical-align: top; text-align: left">87.62 ± 7.14</td>
<td style="vertical-align: top; text-align: left">87.54 ± 7.17</td>
<td style="vertical-align: top; text-align: left">87.68 ± 7.07</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>opmerge</italic></td>
<td style="vertical-align: top; text-align: left"><bold>89.82</bold> ± 6.62</td>
<td style="vertical-align: top; text-align: left">88.35 ± 7.94</td>
<td style="vertical-align: top; text-align: left">88.49 ± 7.82</td>
<td style="vertical-align: top; text-align: left">88.07 ± 8.07</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>tanh</italic></td>
<td style="vertical-align: top; text-align: left">88.38 ± 6.51</td>
<td style="vertical-align: top; text-align: left">87.88 ± 7.73</td>
<td style="vertical-align: top; text-align: left">87.99 ± 7.63</td>
<td style="vertical-align: top; text-align: left">87.64 ± 8.10</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><italic>Vshaped</italic></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">88.80 ± 6.70</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">87.65 ± 7.91</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">87.49 ± 8.25</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">87.65 ± 8.05</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Metric</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">FRR</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Coefficient</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_078"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\alpha =1$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_079"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.9</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.9$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_080"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.7</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.7$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_081"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.5</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.5$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><italic>standard</italic></td>
<td style="vertical-align: top; text-align: left">2.84 ± 3.07</td>
<td style="vertical-align: top; text-align: left">3.90 ± 4.64</td>
<td style="vertical-align: top; text-align: left">4.02 ± 4.36</td>
<td style="vertical-align: top; text-align: left">4.10 ± 4.71</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>newFF</italic></td>
<td style="vertical-align: top; text-align: left"><bold>2.28</bold> ± 1.53</td>
<td style="vertical-align: top; text-align: left"><bold>2.26</bold> ± 1.65</td>
<td style="vertical-align: top; text-align: left"><bold>2.31</bold> ± 2.01</td>
<td style="vertical-align: top; text-align: left"><bold>2.68</bold> ± 2.87</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>local</italic></td>
<td style="vertical-align: top; text-align: left">2.92 ± 3.16</td>
<td style="vertical-align: top; text-align: left">5.08 ± 5.23</td>
<td style="vertical-align: top; text-align: left">5.43 ± 5.44</td>
<td style="vertical-align: top; text-align: left">5.35 ± 5.63</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>merge</italic></td>
<td style="vertical-align: top; text-align: left">2.73 ± 3.62</td>
<td style="vertical-align: top; text-align: left">3.82 ± 5.55</td>
<td style="vertical-align: top; text-align: left">3.97 ± 5.52</td>
<td style="vertical-align: top; text-align: left">3.73 ± 5.47</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>opmerge</italic></td>
<td style="vertical-align: top; text-align: left">4.35 ± 5.67</td>
<td style="vertical-align: top; text-align: left">9.08 ± 9.16</td>
<td style="vertical-align: top; text-align: left">9.05 ± 9.13</td>
<td style="vertical-align: top; text-align: left">9.04 ± 8.93</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>tanh</italic></td>
<td style="vertical-align: top; text-align: left">3.08 ± 4.07</td>
<td style="vertical-align: top; text-align: left">5.48 ± 7.36</td>
<td style="vertical-align: top; text-align: left">5.37 ± 7.46</td>
<td style="vertical-align: top; text-align: left">6.05 ± 8.21</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><italic>Vshaped</italic></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3.47 ± 4.72</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">6.59 ± 8.49</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">6.67 ± 8.56</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">6.77 ± 8.54</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Metric</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">FAR</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Coefficient</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_082"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\alpha =1$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_083"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.9</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.9$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_084"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.7</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.7$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_085"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.5</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.5$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><italic>standard</italic></td>
<td style="vertical-align: top; text-align: left">20.48 ± 9.62</td>
<td style="vertical-align: top; text-align: left">17.74 ± 9.88</td>
<td style="vertical-align: top; text-align: left">18.49 ± 10.40</td>
<td style="vertical-align: top; text-align: left">18.60 ± 10.21</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>newFF</italic></td>
<td style="vertical-align: top; text-align: left">22.35 ± 6.74</td>
<td style="vertical-align: top; text-align: left">19.39 ± 6.73</td>
<td style="vertical-align: top; text-align: left">17.83 ± 7.51</td>
<td style="vertical-align: top; text-align: left">18.15 ± 8.64</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>local</italic></td>
<td style="vertical-align: top; text-align: left">20.49 ± 9.30</td>
<td style="vertical-align: top; text-align: left"><bold>13.65</bold> ± 9.08</td>
<td style="vertical-align: top; text-align: left"><bold>13.82</bold> ± 9.11</td>
<td style="vertical-align: top; text-align: left">15.22 ± 9.96</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>merge</italic></td>
<td style="vertical-align: top; text-align: left">22.88 ± 12.74</td>
<td style="vertical-align: top; text-align: left">20.94 ± 13.10</td>
<td style="vertical-align: top; text-align: left">20.95 ± 13.21</td>
<td style="vertical-align: top; text-align: left">20.91 ± 12.96</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>opmerge</italic></td>
<td style="vertical-align: top; text-align: left"><bold>16.00</bold> ± 11.92</td>
<td style="vertical-align: top; text-align: left">14.22 ± 12.40</td>
<td style="vertical-align: top; text-align: left">13.97 ± 12.76</td>
<td style="vertical-align: top; text-align: left"><bold>14.82</bold> ± 12.86</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>tanh</italic></td>
<td style="vertical-align: top; text-align: left">20.16 ± 12.11</td>
<td style="vertical-align: top; text-align: left">18.77 ± 13.37</td>
<td style="vertical-align: top; text-align: left">18.65 ± 13.41</td>
<td style="vertical-align: top; text-align: left">18.68 ± 13.79</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><italic>Vshaped</italic></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">18.93 ± 12.17</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">18.12 ± 13.45</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">18.35 ± 14.17</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">17.93 ± 13.43</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Metric</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Features</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>Coefficient</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_086"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\alpha =1$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_087"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.9</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.9$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_088"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.7</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.7$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_089"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.5</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.5$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><italic>standard</italic></td>
<td style="vertical-align: top; text-align: left">48.17 ± 4.99</td>
<td style="vertical-align: top; text-align: left">28.97 ± 2.76</td>
<td style="vertical-align: top; text-align: left">28.65 ± 2.72</td>
<td style="vertical-align: top; text-align: left">26.27 ± 2.46</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>newFF</italic></td>
<td style="vertical-align: top; text-align: left">66.54 ± 3.75</td>
<td style="vertical-align: top; text-align: left">49.25 ± 3.26</td>
<td style="vertical-align: top; text-align: left">36.16 ± 2.81</td>
<td style="vertical-align: top; text-align: left">29.12 ± 2.55</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>local</italic></td>
<td style="vertical-align: top; text-align: left">46.65 ± 5.28</td>
<td style="vertical-align: top; text-align: left">9.19 ± 4.64</td>
<td style="vertical-align: top; text-align: left">8.11 ±4.45</td>
<td style="vertical-align: top; text-align: left">6.95 ± 3.83</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>merge</italic></td>
<td style="vertical-align: top; text-align: left">55.64 ± 8.84</td>
<td style="vertical-align: top; text-align: left">30.27 ± 4.35</td>
<td style="vertical-align: top; text-align: left">30.29 ± 4.33</td>
<td style="vertical-align: top; text-align: left">29.53 ± 4.24</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>opmerge</italic></td>
<td style="vertical-align: top; text-align: left"><bold>37.60</bold> ± 10.99</td>
<td style="vertical-align: top; text-align: left"><bold>1.89</bold> ± 0.66</td>
<td style="vertical-align: top; text-align: left"><bold>1.89</bold> ± 0.64</td>
<td style="vertical-align: top; text-align: left"><bold>1.87</bold> ± 0.62</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>tanh</italic></td>
<td style="vertical-align: top; text-align: left">47.33 ± 9.98</td>
<td style="vertical-align: top; text-align: left">16.07 ± 5.58</td>
<td style="vertical-align: top; text-align: left">16.07 ± 5.58</td>
<td style="vertical-align: top; text-align: left">12.95 ± 5.59</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><italic>Vshaped</italic></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">44.21 ± 10.35</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">10.10 ± 4.13</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">10.25 ± 4.06</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">9.57 ± 3.71</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="j_infor472_s_019">
<label>5</label>
<title>Experimental Results</title>
<p>The experiment was conducted in accordance with a 10-fold cross-validation scheme. The data was split into ten training and ten test samples. However, instances in different test samples are not repeated. Due to the stochasticity of the algorithm, each version was run 30 times, and then the results were averaged.</p>
<sec id="j_infor472_s_020">
<label>5.1</label>
<title>Classification Results</title>
<p>Table <xref rid="j_infor472_tab_002">2</xref> presents the results of constructing classifiers using the binary PSO variants in terms of different <italic>α</italic> values. Four characteristics are given: overall accuracy, type I error (False Rejection Rate, FRR), type II error (False Acceptance Rate, FAR), and the number of selected features (Features). Type I error shows what percentage of legitimate users was mistaken by the classifier for an intruder. Type II error demonstrates the percentage of intruders who managed to deceive the classifier and pass their signature off as the signature of a legitimate user. Bold text in the table indicates the best results within a group with one value of the coefficient <italic>α</italic> in the fitness function.</p>
<p>The presented results show that with a value of <italic>α</italic> less than one, the number of features in the set decreases with any method. In this case, the overall accuracy of the classification is either improving (methods <italic>standardFF</italic>, <italic>newFF</italic>, <italic>local</italic>, <italic>merge</italic>) or decreasing (methods <italic>opmerge</italic>, <italic>tanh</italic>, <italic>Vshaped</italic>). In general, the best ability to reduce features with a decrease in the coefficient <italic>α</italic> was demonstrated by the methods <italic>opmerge</italic>, <italic>local</italic> and <italic>Vshaped</italic>. It should be indicated that the classification model built on a smaller number of features can even provide a remarkable performance from the perspective of the other metrics. For instance, <italic>opmerge</italic> can achieve competitive verification results despite selecting only 2 features from 100 available features. For another instance, <italic>local</italic> shows the best verification performance for lower <italic>α</italic> cases by reducing the dimensionality at least ten times compared to the original feature set. In other words, the corresponding methods have shown good skills to detect noisy features or variables. It is therefore possible to build less complex and more generalized classification models that can obtain promising verification results.</p>
<table-wrap id="j_infor472_tab_003">
<label>Table 3</label>
<caption>
<p>Ranks of Friedman’s two-way analyses for investigated metrics.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Metric</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">1 – Accuracy</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Coefficient</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_090"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\alpha =1$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_091"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.9</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.9$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_092"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.7</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.7$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_093"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.5</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.5$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><italic>standard</italic></td>
<td style="vertical-align: top; text-align: left">4.01</td>
<td style="vertical-align: top; text-align: left">3.05</td>
<td style="vertical-align: top; text-align: left">2.67</td>
<td style="vertical-align: top; text-align: left">2.91</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>newFF</italic></td>
<td style="vertical-align: top; text-align: left">4.54</td>
<td style="vertical-align: top; text-align: left">3.34</td>
<td style="vertical-align: top; text-align: left">2.64</td>
<td style="vertical-align: top; text-align: left">2.67</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>local</italic></td>
<td style="vertical-align: top; text-align: left">3.97</td>
<td style="vertical-align: top; text-align: left">2.55</td>
<td style="vertical-align: top; text-align: left">3.61</td>
<td style="vertical-align: top; text-align: left">3.61</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>merge</italic></td>
<td style="vertical-align: top; text-align: left">5.15</td>
<td style="vertical-align: top; text-align: left">4.85</td>
<td style="vertical-align: top; text-align: left">4.85</td>
<td style="vertical-align: top; text-align: left">4.64</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>opmerge</italic></td>
<td style="vertical-align: top; text-align: left">2.97</td>
<td style="vertical-align: top; text-align: left">4.22</td>
<td style="vertical-align: top; text-align: left">4.32</td>
<td style="vertical-align: top; text-align: left">4.11</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>tanh</italic></td>
<td style="vertical-align: top; text-align: left">3.9</td>
<td style="vertical-align: top; text-align: left">4.9</td>
<td style="vertical-align: top; text-align: left">4.74</td>
<td style="vertical-align: top; text-align: left">4.91</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><italic>Vshaped</italic></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3.45</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">5.09</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">5.16</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">5.14</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Metric</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">FRR</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Coefficient</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_094"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\alpha =1$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_095"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.9</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.9$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_096"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.7</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.7$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_097"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.5</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.5$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><italic>standard</italic></td>
<td style="vertical-align: top; text-align: left">3.79</td>
<td style="vertical-align: top; text-align: left">4.11</td>
<td style="vertical-align: top; text-align: left">4.21</td>
<td style="vertical-align: top; text-align: left">4.38</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>newFF</italic></td>
<td style="vertical-align: top; text-align: left">2.35</td>
<td style="vertical-align: top; text-align: left">1.48</td>
<td style="vertical-align: top; text-align: left">1.46</td>
<td style="vertical-align: top; text-align: left">1.78</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>local</italic></td>
<td style="vertical-align: top; text-align: left">3.64</td>
<td style="vertical-align: top; text-align: left">3.3</td>
<td style="vertical-align: top; text-align: left">2.96</td>
<td style="vertical-align: top; text-align: left">2.94</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>merge</italic></td>
<td style="vertical-align: top; text-align: left">3.59</td>
<td style="vertical-align: top; text-align: left">3.03</td>
<td style="vertical-align: top; text-align: left">3.23</td>
<td style="vertical-align: top; text-align: left">2.83</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>opmerge</italic></td>
<td style="vertical-align: top; text-align: left">5.74</td>
<td style="vertical-align: top; text-align: left">5.69</td>
<td style="vertical-align: top; text-align: left">5.85</td>
<td style="vertical-align: top; text-align: left">5.53</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>tanh</italic></td>
<td style="vertical-align: top; text-align: left">4.13</td>
<td style="vertical-align: top; text-align: left">4.73</td>
<td style="vertical-align: top; text-align: left">4.63</td>
<td style="vertical-align: top; text-align: left">4.98</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><italic>Vshaped</italic></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4.78</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">5.68</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">5.66</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">5.59</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Metric</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">FAR</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Coefficient</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_098"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\alpha =1$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_099"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.9</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.9$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_100"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.7</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.7$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_101"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.5</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.5$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><italic>standard</italic></td>
<td style="vertical-align: top; text-align: left">4.18</td>
<td style="vertical-align: top; text-align: left">2.43</td>
<td style="vertical-align: top; text-align: left">2.36</td>
<td style="vertical-align: top; text-align: left">2.75</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>newFF</italic></td>
<td style="vertical-align: top; text-align: left">4.71</td>
<td style="vertical-align: top; text-align: left">4.24</td>
<td style="vertical-align: top; text-align: left">3.8</td>
<td style="vertical-align: top; text-align: left">3.78</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>local</italic></td>
<td style="vertical-align: top; text-align: left">4.04</td>
<td style="vertical-align: top; text-align: left">3.48</td>
<td style="vertical-align: top; text-align: left">4.4</td>
<td style="vertical-align: top; text-align: left">4.23</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>merge</italic></td>
<td style="vertical-align: top; text-align: left">5.28</td>
<td style="vertical-align: top; text-align: left">5.61</td>
<td style="vertical-align: top; text-align: left">5.2</td>
<td style="vertical-align: top; text-align: left">5.36</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>opmerge</italic></td>
<td style="vertical-align: top; text-align: left">2.63</td>
<td style="vertical-align: top; text-align: left">3.04</td>
<td style="vertical-align: top; text-align: left">3.11</td>
<td style="vertical-align: top; text-align: left">3.06</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>tanh</italic></td>
<td style="vertical-align: top; text-align: left">3.91</td>
<td style="vertical-align: top; text-align: left">4.58</td>
<td style="vertical-align: top; text-align: left">4.6</td>
<td style="vertical-align: top; text-align: left">4.5</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><italic>Vshaped</italic></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3.26</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4.64</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4.53</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">4.33</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Metric</td>
<td colspan="4" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><bold>FRR</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Coefficient</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_102"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\alpha =1$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_103"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.9</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.9$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_104"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.7</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.7$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor472_ineq_105"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.5</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.5$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><italic>standard</italic></td>
<td style="vertical-align: top; text-align: left">3.4</td>
<td style="vertical-align: top; text-align: left">2.38</td>
<td style="vertical-align: top; text-align: left">2.18</td>
<td style="vertical-align: top; text-align: left">2</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>newFF</italic></td>
<td style="vertical-align: top; text-align: left">6.4</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">6.9</td>
<td style="vertical-align: top; text-align: left">6.3</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>local</italic></td>
<td style="vertical-align: top; text-align: left">4.35</td>
<td style="vertical-align: top; text-align: left">5.25</td>
<td style="vertical-align: top; text-align: left">5.18</td>
<td style="vertical-align: top; text-align: left">5.13</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>merge</italic></td>
<td style="vertical-align: top; text-align: left">5.85</td>
<td style="vertical-align: top; text-align: left">5.75</td>
<td style="vertical-align: top; text-align: left">5.93</td>
<td style="vertical-align: top; text-align: left">6.58</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>opmerge</italic></td>
<td style="vertical-align: top; text-align: left">2.15</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">1</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>tanh</italic></td>
<td style="vertical-align: top; text-align: left">3.33</td>
<td style="vertical-align: top; text-align: left">3.98</td>
<td style="vertical-align: top; text-align: left">4</td>
<td style="vertical-align: top; text-align: left">4</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><italic>Vshaped</italic></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2.53</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2.65</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2.83</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="j_infor472_s_021">
<label>5.2</label>
<title>Statistical Processing of Results</title>
<p>Table <xref rid="j_infor472_tab_003">3</xref> summarizes the mean ranks calculated according to Friedman’s criterion for different metrics and values of the coefficient <italic>α</italic> (at 40 observations and 6 degrees of freedom). The ranks for Accuracy and Errors (FAR, FRR) are multidirectional. To bring them to a single scale, we consider 1-Accuracy (called Error) instead of Accuracy. Since the p-value in all cases was equal to zero, which is less than the significance level (0.05), it can be concluded that there is a significant statistical difference in the results of the modification methods used.</p>
<fig id="j_infor472_fig_001">
<label>Fig. 1</label>
<caption>
<p>Pareto front based on the ranks of the classification error and the number of features.</p>
</caption>
<graphic xlink:href="infor472_g001.jpg"/>
</fig>
<p>Graphs have been created on the basis of the obtained average rank values in order to assess the Pareto front in terms of the ratio of metrics to the number of selected features. In the first group of graphs shown in Fig. <xref rid="j_infor472_fig_001">1</xref>, the inverse metric, classification error, was used instead of accuracy.</p>
<p>From the graphs obtained, it is clear that in all cases the use of the opmerge method provides the smallest set of features. With <italic>α</italic> coefficients equal to 0.7 and 0.5, PSO with the newFF fitness function allowed us to obtain a classifier with the lowest error. The best results in terms of the ratio of error and number of features were demonstrated by PSO with the local modification when the value of the coefficient <italic>α</italic> is less than one.</p>
<p>Fig. <xref rid="j_infor472_fig_002">2</xref> shows plots with a Pareto front for the ratio of the type I error (FRR) and the number of selected features. The smallest value of the type I error for any value of the coefficient <italic>α</italic> was obtained using <italic>newFF</italic>, but this method coped worst of all with the selection of features.</p>
<p>Fig. <xref rid="j_infor472_fig_003">3</xref> shows graphs with a Pareto front in terms of the ratio of type II error (FAR) and the number of selected features. <italic>Opmerge</italic> and <italic>local</italic> showed the lowest type II error values. For the first, this statement is valid for any value of the coefficient <italic>α</italic>, for the second, only for <italic>α</italic> less than 1.</p>
<fig id="j_infor472_fig_002">
<label>Fig. 2</label>
<caption>
<p>Pareto front based on the ranks of the type I error and the number of features.</p>
</caption>
<graphic xlink:href="infor472_g002.jpg"/>
</fig>
<fig id="j_infor472_fig_003">
<label>Fig. 3</label>
<caption>
<p>Pareto front based on the ranks of the type II error and the number of features.</p>
</caption>
<graphic xlink:href="infor472_g003.jpg"/>
</fig>
</sec>
</sec>
<sec id="j_infor472_s_022">
<label>6</label>
<title>Conclusion</title>
<p>The work considered seven approaches for PSO modification when solving the task of feature selection for a handwritten signature authentication. The investigated methods made it possible in the considered set SVC2004, containing 100 input variables, to select subsets of size from 66.54 (using new fitness function with coefficient <inline-formula id="j_infor472_ineq_106"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\alpha =1$]]></tex-math></alternatives></inline-formula>) to 1.87 features (combination of the modified algebraic operations and the merge procedure with coefficient <inline-formula id="j_infor472_ineq_107"><alternatives><mml:math>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.5</mml:mn></mml:math><tex-math><![CDATA[$\alpha =0.5$]]></tex-math></alternatives></inline-formula>). The best selection ability was demonstrated by the hybrid method, which combines the modified algebraic operations with the author’s method of merging binary vectors. This method should be used when it is necessary to reduce the complexity of the authentication model as much as possible. If there is a requirement to ensure maximum availability for legal users, it is appropriate to use PSO with the new proposed fitness function, as this method demonstrates the smallest type I error. The smallest type II error, which indicates that the system is more secure from intruders, was shown by PSO with new local search. The same method made it possible to obtain a balanced result in terms of the ratio between the overall error and the number of features with the coefficient <italic>α</italic> equal to 0.9.</p>
<p>The determination of the <italic>α</italic> parameter may be a difficult and time-consuming process depending on a specified handwritten-signature problem. It would be better if the fitness functions which comprise of two conflicting objectives are reconsidered as a multi-objective optimization problem. This is because it is reported in the literature that it is possible to achieve higher learning performance by adopting feature selection in a multi-objective design. Concerning this subject, a possible arising problem is how a single solution will be selected from the Pareto Front. In the future, we will try to address this problem to reach higher verification performance.</p>
</sec>
</body>
<back>
<ref-list id="j_infor472_reflist_001">
<title>References</title>
<ref id="j_infor472_ref_001">
<mixed-citation publication-type="chapter"><string-name><surname>Al-Ani</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Khushaba</surname>, <given-names>R.N.</given-names></string-name> (<year>2012</year>). <chapter-title>A population based feature subset selection algorithm guided by fuzzy feature dependency</chapter-title>. In: <string-name><surname>Hassanien</surname>, <given-names>A.E.</given-names></string-name>, <string-name><surname>Salem</surname>, <given-names>A.-B.M.</given-names></string-name>, <string-name><surname>Ramadan</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>T.-h.</given-names></string-name> (Eds.), <source>Advanced Machine Learning Technologies and Applications</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>430</fpage>–<lpage>438</lpage>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_002">
<mixed-citation publication-type="journal"><string-name><surname>Arora</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Anand</surname>, <given-names>P.</given-names></string-name> (<year>2019</year>). <article-title>Binary butterfly optimization approaches for feature selection</article-title>. <source>Expert Systems with Applications</source>, <volume>116</volume>, <fpage>147</fpage>–<lpage>160</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.eswa.2018.08.051" xlink:type="simple">https://doi.org/10.1016/j.eswa.2018.08.051</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_003">
<mixed-citation publication-type="journal"><string-name><surname>Ashry</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Alrahmawy</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Rashad</surname>, <given-names>M.</given-names></string-name> (<year>2020</year>). <article-title>Enhanced quantum inspired grey wolf optimizer for feature selection</article-title>. <source>International Journal of Intelligent Systems and Applications</source>, <volume>12</volume>, <fpage>8</fpage>–<lpage>17</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.5815/ijisa.2020.03.02" xlink:type="simple">https://doi.org/10.5815/ijisa.2020.03.02</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_004">
<mixed-citation publication-type="journal"><string-name><surname>Barani</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Mirhosseini</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Nezamabadi-Pour</surname>, <given-names>H.</given-names></string-name> (<year>2017</year>). <article-title>Application of binary quantum-inspired gravitational search algorithm in feature subset selection</article-title>. <source>Applied Intelligence</source>, <volume>47</volume>(<issue>2</issue>), <fpage>304</fpage>–<lpage>318</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/s10489-017-0894-3" xlink:type="simple">https://doi.org/10.1007/s10489-017-0894-3</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_005">
<mixed-citation publication-type="journal"><string-name><surname>Battiti</surname>, <given-names>R.</given-names></string-name> (<year>1994</year>). <article-title>Using mutual information for selecting features in supervised neural net learning</article-title>. <source>IEEE Transactions on Neural Networks</source>, <volume>5</volume>(<issue>4</issue>), <fpage>537</fpage>–<lpage>550</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/72.298224" xlink:type="simple">https://doi.org/10.1109/72.298224</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_006">
<mixed-citation publication-type="journal"><string-name><surname>Chantar</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Mafarja</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Alsawalqah</surname>, <given-names>H.</given-names></string-name> (<year>2020</year>). <article-title>Feature selection using binary grey wolf optimizer with elite-based crossover for Arabic text classification</article-title>. <source>Neural Computing and Applications</source>, <volume>32</volume>, <fpage>12201</fpage>–<lpage>12220</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/s00521-019-04368-6" xlink:type="simple">https://doi.org/10.1007/s00521-019-04368-6</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_007">
<mixed-citation publication-type="journal"><string-name><surname>De Luca</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Termini</surname>, <given-names>S.</given-names></string-name> (<year>1972</year>). <article-title>A definition of a nonprobabilistic entropy in the setting of fuzzy sets theory</article-title>. <source>Information and Control</source>, <volume>20</volume>(<issue>4</issue>), <fpage>301</fpage>–<lpage>312</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/S0019-9958(72)90199-4" xlink:type="simple">https://doi.org/10.1016/S0019-9958(72)90199-4</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_008">
<mixed-citation publication-type="chapter"><string-name><surname>Dimauro</surname>, <given-names>G.</given-names></string-name> (<year>2011</year>). <chapter-title>Fourier transform in numeral recognition and signature verification</chapter-title>. In: <string-name><surname>Wang</surname>, <given-names>P.S.P.</given-names></string-name> (Ed.), <source>Pattern Recognition, Machine Intelligence and Biometrics</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>823</fpage>–<lpage>857</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-3-642-22407-2_31" xlink:type="simple">https://doi.org/10.1007/978-3-642-22407-2_31</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_009">
<mixed-citation publication-type="journal"><string-name><surname>Fahmy</surname>, <given-names>M.M.M.</given-names></string-name> (<year>2010</year>). <article-title>Online handwritten signature verification system based on DWT features extraction and neural network classification</article-title>. <source>Ain Shams Engineering Journal</source>, <volume>1</volume>(<issue>1</issue>), <fpage>59</fpage>–<lpage>70</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.asej.2010.09.007" xlink:type="simple">https://doi.org/10.1016/j.asej.2010.09.007</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_010">
<mixed-citation publication-type="chapter"><string-name><surname>Fierrez-Aguilar</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Nanni</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Lopez-Peñalba</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Ortega-Garcia</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Maltoni</surname>, <given-names>D.</given-names></string-name> (<year>2005</year>). <chapter-title>An on-line signature verification system based on fusion of local and global information</chapter-title>. In: <string-name><surname>Kanade</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Jain</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Ratha</surname>, <given-names>N.K.</given-names></string-name> (Eds.), <source>Audio- and Video-Based Biometric Person Authentication</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>523</fpage>–<lpage>532</lpage>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_011">
<mixed-citation publication-type="journal"><string-name><surname>Ghosh</surname>, <given-names>K.K.</given-names></string-name>, <string-name><surname>Singh</surname>, <given-names>P.K.</given-names></string-name>, <string-name><surname>Hong</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Geem</surname>, <given-names>Z.W.</given-names></string-name>, <string-name><surname>Sarkar</surname>, <given-names>R.</given-names></string-name> (<year>2020</year>). <article-title>Binary social mimic optimization algorithm with X-shaped transfer function for feature selection</article-title>. <source>IEEE Access</source>, <volume>8</volume>, <fpage>97890</fpage>–<lpage>97906</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/ACCESS.2020.2996611" xlink:type="simple">https://doi.org/10.1109/ACCESS.2020.2996611</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_012">
<mixed-citation publication-type="chapter"><string-name><surname>Hamed</surname>, <given-names>H.N.A.</given-names></string-name>, <string-name><surname>Kasabov</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Shamsuddin</surname>, <given-names>S.M.</given-names></string-name> (<year>2009</year>). <chapter-title>Integrated feature selection and parameter optimization for evolving spiking neural networks using quantum inspired particle swarm optimization</chapter-title>. In: <source>International Conference of Soft Computing and Pattern Recognition</source>, pp. <fpage>695</fpage>–<lpage>698</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/SoCPaR.2009.139" xlink:type="simple">https://doi.org/10.1109/SoCPaR.2009.139</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_013">
<mixed-citation publication-type="journal"><string-name><surname>Hancer</surname>, <given-names>E.</given-names></string-name> (<year>2019</year>). <article-title>Differential evolution for feature selection: a fuzzy wrapper—filter approach</article-title>. <source>Soft Computing</source>, <volume>23</volume>(<issue>13</issue>), <fpage>5233</fpage>–<lpage>5248</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/s00500-018-3545-7" xlink:type="simple">https://doi.org/10.1007/s00500-018-3545-7</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_014">
<mixed-citation publication-type="journal"><string-name><surname>Hancer</surname>, <given-names>E.</given-names></string-name> (<year>2020</year>). <article-title>New filter approaches for feature selection using differential evolution and fuzzy rough set theory</article-title>. <source>Neural Computing and Applications</source>, <volume>32</volume>, <fpage>2929</fpage>–<lpage>2944</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/s00521-020-04744-7" xlink:type="simple">https://doi.org/10.1007/s00521-020-04744-7</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_015">
<mixed-citation publication-type="other"><string-name><surname>Hancer</surname>, <given-names>E.</given-names></string-name> (2021). An improved evolutionary wrapper-filter feature selection approach with a new initialisation scheme. <italic>Machine Learning</italic>, 1–24. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/s10994-021-05990-z" xlink:type="simple">https://doi.org/10.1007/s10994-021-05990-z</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_016">
<mixed-citation publication-type="journal"><string-name><surname>Kohavi</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>John</surname>, <given-names>G.H.</given-names></string-name> (<year>1997</year>). <article-title>Wrappers for feature subset selection</article-title>. <source>Artificial Intelligence</source>, <volume>97</volume>(<issue>1</issue>), <fpage>273</fpage>–<lpage>324</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/S0004-3702(97)00043-X" xlink:type="simple">https://doi.org/10.1016/S0004-3702(97)00043-X</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_017">
<mixed-citation publication-type="journal"><string-name><surname>Kıran</surname>, <given-names>M.S.</given-names></string-name>, <string-name><surname>Gündüz</surname>, <given-names>M.</given-names></string-name> (<year>2012</year>). <article-title>XOR-based artificial bee colony algorithm for binary optimization</article-title>. <source>Turkish Journal of Electrical Engineering and Computer Science</source>, <volume>21</volume>, <fpage>2307</fpage>–<lpage>2328</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.3906/elk-1203-104" xlink:type="simple">https://doi.org/10.3906/elk-1203-104</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_018">
<mixed-citation publication-type="journal"><string-name><surname>Lam</surname>, <given-names>C.F.</given-names></string-name>, <string-name><surname>Kamins</surname>, <given-names>D.</given-names></string-name> (<year>1989</year>). <article-title>Signature recognition through spectral analysis</article-title>. <source>Pattern Recognition</source>, <volume>22</volume>(<issue>1</issue>), <fpage>39</fpage>–<lpage>44</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/0031-3203(89)90036-8" xlink:type="simple">https://doi.org/10.1016/0031-3203(89)90036-8</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_019">
<mixed-citation publication-type="book"><string-name><surname>Li</surname>, <given-names>S.Z.</given-names></string-name>, <string-name><surname>Jain</surname>, <given-names>A.</given-names></string-name> (<year>2015</year>). <source>Encyclopedia of Biometrics</source>. <publisher-name>Springer Publishing Company, Incorporated</publisher-name>, <publisher-loc>Boston, MA</publisher-loc>. <isbn>148997489X</isbn>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_020">
<mixed-citation publication-type="journal"><string-name><surname>Linden</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Marquis</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Bozza</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Taroni</surname>, <given-names>F.</given-names></string-name> (<year>2018</year>). <article-title>Dynamic signatures: a review of dynamic feature variation and forensic methodology</article-title>. <source>Forensic Science International</source>, <volume>291</volume>, <fpage>216</fpage>–<lpage>229</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.forsciint.2018.08.021" xlink:type="simple">https://doi.org/10.1016/j.forsciint.2018.08.021</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_021">
<mixed-citation publication-type="chapter"><string-name><surname>Mafarja</surname>, <given-names>M.M.</given-names></string-name>, <string-name><surname>Eleyan</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Jaber</surname>, <given-names>I.</given-names></string-name>, <string-name><surname>Hammouri</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Mirjalili</surname>, <given-names>S.</given-names></string-name> (<year>2017</year>). <chapter-title>Binary dragonfly algorithm for feature selection</chapter-title>. In: <source>International Conference on New Trends in Computing Sciences (ICTCS2017)</source>, pp. <fpage>12</fpage>–<lpage>17</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/ICTCS.2017.43" xlink:type="simple">https://doi.org/10.1109/ICTCS.2017.43</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_022">
<mixed-citation publication-type="journal"><string-name><surname>Mailah</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Han</surname>, <given-names>L.</given-names></string-name> (<year>2012</year>). <article-title>Biometric signature verification using pen position, time, velocity and pressure parameters</article-title>. <source>Jurnal Teknologi</source>, <volume>48</volume>(<issue>1</issue>). <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.11113/jt.v48.218" xlink:type="simple">https://doi.org/10.11113/jt.v48.218</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_023">
<mixed-citation publication-type="journal"><string-name><surname>Mirjalili</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Lewis</surname>, <given-names>A.</given-names></string-name> (<year>2013</year>). <article-title>S-shaped versus V-shaped transfer functions for binary particle swarm optimization</article-title>. <source>Swarm and Evolutionary Computation</source>, <volume>9</volume>, <fpage>1</fpage>–<lpage>14</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.swevo.2012.09.002" xlink:type="simple">https://doi.org/10.1016/j.swevo.2012.09.002</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_024">
<mixed-citation publication-type="chapter"><string-name><surname>Nelson</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Kishon</surname>, <given-names>E.</given-names></string-name> (<year>1991</year>). <chapter-title>Use of dynamic features for signature verification</chapter-title>. In: <source>IEEE International Conference on Systems, Man, and Cybernetics</source>, pp. <fpage>201</fpage>–<lpage>205</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/ICSMC.1991.169685" xlink:type="simple">https://doi.org/10.1109/ICSMC.1991.169685</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_025">
<mixed-citation publication-type="journal"><string-name><surname>Qasim</surname>, <given-names>O.S.</given-names></string-name>, <string-name><surname>Algamal</surname>, <given-names>Z.Y.</given-names></string-name> (<year>2020</year>). <article-title>Feature selection using different transfer functions for binary bat algorithm</article-title>. <source>International Journal of Mathematical, Engineering and Management Sciences</source>, <volume>5</volume>(<issue>4</issue>), <fpage>697</fpage>–<lpage>706</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.33889/IJMEMS.2020.5.4.056" xlink:type="simple">https://doi.org/10.33889/IJMEMS.2020.5.4.056</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_026">
<mixed-citation publication-type="chapter"><string-name><surname>Sakamoto</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Morita</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Ohishi</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Komiya</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Matsumoto</surname>, <given-names>T.</given-names></string-name> (<year>2001</year>). <chapter-title>On-line signature verification algorithm incorporating pen position, pen pressure and pen inclination trajectories</chapter-title>. In: <source>IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings</source>, Vol. <volume>2</volume>, pp. <fpage>993</fpage>–<lpage>996</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/ICASSP.2001.941084" xlink:type="simple">https://doi.org/10.1109/ICASSP.2001.941084</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_027">
<mixed-citation publication-type="journal"><string-name><surname>Samet</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Hancer</surname>, <given-names>E.</given-names></string-name> (<year>2012</year>). <article-title>A new approach to the reconstruction of contour lines extracted from topographic maps</article-title>. <source>Journal of Visual Communication and Image Representation</source>, <volume>23</volume>(<issue>4</issue>), <fpage>642</fpage>–<lpage>647</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.jvcir.2012.02.005" xlink:type="simple">https://doi.org/10.1016/j.jvcir.2012.02.005</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_028">
<mixed-citation publication-type="journal"><string-name><surname>Shannon</surname>, <given-names>C.E.</given-names></string-name> (<year>1948</year>). <article-title>A mathematical theory of communication</article-title>. <source>Bell System Technical Journal</source>, <volume>27</volume>(<issue>3</issue>), <fpage>379</fpage>–<lpage>423</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1002/j.1538-7305.1948.tb01338.x" xlink:type="simple">https://doi.org/10.1002/j.1538-7305.1948.tb01338.x</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_029">
<mixed-citation publication-type="chapter"><string-name><surname>Shi</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Eberhart</surname>, <given-names>R.C.</given-names></string-name> (<year>1999</year>). <chapter-title>Empirical study of particle swarm optimization</chapter-title>. In: <source>Proceedings of the 1999 Congress on Evolutionary Computation (CEC99)</source>, Vol. <volume>3</volume>, pp. <fpage>1945</fpage>–<lpage>1950</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/CEC.1999.785511" xlink:type="simple">https://doi.org/10.1109/CEC.1999.785511</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_030">
<mixed-citation publication-type="chapter"><string-name><surname>Souza</surname>, <given-names>V.L.F.</given-names></string-name>, <string-name><surname>Oliveira</surname>, <given-names>A.L.I.</given-names></string-name>, <string-name><surname>Cruz</surname>, <given-names>R.M.O.</given-names></string-name>, <string-name><surname>Sabourin</surname>, <given-names>R.</given-names></string-name> (<year>2020</year>). <chapter-title>Improving BPSO-based feature selection applied to offline WI handwritten signature verification through overfitting control</chapter-title>. In: <source>Proceedings of the 2020 Genetic and Evolutionary Computation Conference Companion, GECCO ’20</source>. <publisher-name>Association for Computing Machinery</publisher-name>, <publisher-loc>New York, NY, USA</publisher-loc>, pp. <fpage>69</fpage>–<lpage>70</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/3377929.3390038" xlink:type="simple">https://doi.org/10.1145/3377929.3390038</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_031">
<mixed-citation publication-type="journal"><string-name><surname>Witten</surname>, <given-names>I.H.</given-names></string-name>, <string-name><surname>Frank</surname>, <given-names>E.</given-names></string-name> (<year>2002</year>). <article-title>Data mining: practical machine learning tools and techniques with Java implementations</article-title>. <source>SIGMOD Record</source>, <volume>31</volume>(<issue>1</issue>), <fpage>76</fpage>–<lpage>77</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/507338.507355" xlink:type="simple">https://doi.org/10.1145/507338.507355</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_032">
<mixed-citation publication-type="journal"><string-name><surname>Wu</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Jiang</surname>, <given-names>S.</given-names></string-name> (<year>2018</year>). <article-title>A continuous identity authentication scheme based on physiological and behavioral characteristics</article-title>. <source>Sensors</source>, <volume>18</volume>(<issue>1</issue>), <fpage>179</fpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.3390/s18010179" xlink:type="simple">https://doi.org/10.3390/s18010179</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_033">
<mixed-citation publication-type="journal"><string-name><surname>Yanikoglu</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Kholmatov</surname>, <given-names>A.</given-names></string-name> (<year>2009</year>). <article-title>Online signature verification using fourier descriptors</article-title>. <source>Journal on Advances in Signal Processing</source>, <volume>2009</volume>, <elocation-id>260516</elocation-id>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1155/2009/260516" xlink:type="simple">https://doi.org/10.1155/2009/260516</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_034">
<mixed-citation publication-type="chapter"><string-name><surname>Yeung</surname>, <given-names>D.-Y.</given-names></string-name>, <string-name><surname>Chang</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Xiong</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>George</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Kashi</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Matsumoto</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Rigoll</surname>, <given-names>G.</given-names></string-name> (<year>2004</year>). <chapter-title>SVC2004: first international signature verification competition</chapter-title>. In: <string-name><surname>Zhang</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Jain</surname>, <given-names>A.K.</given-names></string-name> (Eds.), <source>Biometric Authentication</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>16</fpage>–<lpage>22</lpage>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_035">
<mixed-citation publication-type="journal"><string-name><surname>Yuan</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Nie</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Su</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Yuan</surname>, <given-names>Y.</given-names></string-name> (<year>2009</year>). <article-title>An improved binary particle swarm optimization for unit commitment problem</article-title>. <source>Expert Systems with Applications</source>, <volume>36</volume>(<issue>4</issue>), <fpage>8049</fpage>–<lpage>8055</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.eswa.2008.10.047" xlink:type="simple">https://doi.org/10.1016/j.eswa.2008.10.047</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor472_ref_036">
<mixed-citation publication-type="journal"><string-name><surname>Zouache</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Ben Abdelaziz</surname>, <given-names>F.</given-names></string-name> (<year>2018</year>). <article-title>A cooperative swarm intelligence algorithm based on quantum-inspired and rough sets for feature selection</article-title>. <source>Computers &amp; Industrial Engineering</source>, <volume>115</volume>, <fpage>26</fpage>–<lpage>36</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.cie.2017.10.025" xlink:type="simple">https://doi.org/10.1016/j.cie.2017.10.025</ext-link>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>
