<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Workshop on Artificial Intelligence and Cyber Security, December</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Bayesian Hyper-Parameter Optimisation for Malware Detection</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Fahad T ALGorain</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>John A Clark</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Shefield</institution>
          ,
          <addr-line>Shefield S10 2TN</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>14</volume>
      <issue>2021</issue>
      <fpage>0000</fpage>
      <lpage>0003</lpage>
      <abstract>
        <p>Malware detection is a major security concern and a great deal of academic and commercial research and development is directed at it. Machine Learning is a natural technology to address malware detection and many researchers have investigated its use. However, drawing comparisons between diferent techniques is a fraught afair. For example, the performance of ML algorithms often depends significantly on parametric choices, so the question arises as to what parameter choices are optimal. In this paper, we investigate the use of a variety of ML algorithms for building malware classifiers and also how best to tune the parameters of those algorithms - generally known as hyper-parameter optimisation. We examine the efects of some simple (model-free) ways of parameter tuning together with a state-of-the-art Bayesian model-building approach. Our work is carried out using EMBER, a major published malware benchmark dataset on Windows Portable Execution (PE) metadata samples.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Hyper-parameter optimisation</kwd>
        <kwd>Automated Machine Learning</kwd>
        <kwd>Static Malware Detection</kwd>
        <kwd>Tree Parzen Estimators</kwd>
        <kwd>Bayesian optimisation</kwd>
        <kwd>Random Search</kwd>
        <kwd>Grid Search</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        toolkits, ML algorithms often have many tens of parameters (and sometimes more). This leads
to the thorny issue of how such parameters may be best set, a problem generally referred to
as hyper-parameter optimisation (HPO). HPO is a significant focus of research in optimisation
and has the potential to improve on the results obtained by a specicfi detection approach, but
also to enable fair comparison of techniques with techniques that are not the specific focus of
investigation: comparing a new technique with ‘vanilla’ variants of existing techniques is a
recurring motif in many studies. Bergstra et al. (2015) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] advocate that hyper-parametrisation
should be a ‘formal outer loop’ in the learning process, a view we very much support. Manual
tuning is often simply impossible. (As an aside, we observe that many commercial users of
ML spend a great deal of time tuning for their specific needs.) ML toolkits seek to address this
problem by adopting default values for parameters; these values are set to values that have
been shown to work plausibly well over many problems. However, for any specific problem at
hand it is far from clear that the default values will be the best, or even good, choices. We have
significant domain incentives to gain the best possible results for malware detection. Both
false positive (FP) and false negative (FN) classifications have major consequences. The former
lead to significant wasted efort investigating the (non-) malware together with denial of service
to the application concerned, while the latter means malware goes undetected, with potentially
catastrophic consequences. For malware detection based on ML making high-performing
hyper-parameter choices therefore matters. In this paper we, initially explore a variety
of ML techniques applied to classification of a specific form of malware (Windows PE files).
We aim to demonstrate that hyper-parameter optimisation may have a significant efect on
detection of this type of malware. More generally, we argue that it should play an important
part in ML-based malware detection research research, and in security applications more widely.
The contributions of our paper are:
1. A demonstration of how well various ML-based Windows Portable Executable (PE) file
classifiers perform when trained with default parameters.
2. An evaluation of various hyper-parameter optimisation approaches applied to this
problem, including:
a) Established model-free techniques, e.g. Grid Search and Random Search; and
b) A Bayesian optimisation model-based approach.
3. A demonstration that for our target problem the optimal choices of ML hyper-parameters
may vary considerably from the toolkit defaults.
      </p>
      <p>
        Windows PE files are an important malware vector, and their detection has been the focus
of significant research. The work uses the EMBER dataset [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] – a recently published dataset
comprising header and derived information from a million examples of PE files. This dataset
contains examples of malware, benign software, and software of unknown malicious status.
The dataset elements are labelled accordingly and so enable supervised learning. EMBER is now
a major resource for ML and the malware community. Our evaluation includes both functional
performance and eficiency (time to train). The last point above should not be underestimated.
In a great many cases results will simply be sub-optimal if tuning is manual and the complexity
of the parameter space is huge (and for many techniques this will be the case), and, as we have
argued above, the costs of sub-optimality may be considerable.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Literature</title>
      <sec id="sec-2-1">
        <title>2.1. Windows PE and ML Background</title>
        <p>
          Numerous works have been produced regarding ML-based static Portable Executable (PE)
malware detection such as [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ][
          <xref ref-type="bibr" rid="ref6">6</xref>
          ][
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], but work has often been hampered by the absence of
a standard benchmark dataset. The publication of the EMBER dataset [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] has resolved this
problem. A baseline model for supervised ML has been provided by the authors to aid in using
the dataset as a benchmark. Their dataset is accompanied by Python access routines. In [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] the
authors considered imbalanced data set issues and model training duration (by reducing feature
dimensions). They also applied a static detection method using a Gradient Boosting Decision
Tree Algorithm. Their model achieved better performance than the baseline model with less
training time. (They used feature reduction based on the recommendation of the authors in
[
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].) Another approach utilized a subset of the EMBER dataset for their work and compared
diferent ML models [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. Their work is mainly concerned with scalability and eficiency. Their
goal was to identify malware families. The proposed Random Forest model achieved a slightly
better performance than the baseline model.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. HPO Related literature</title>
        <p>
          Multiple works have asserted the potential of hyper-parameter optimisation. For example
[
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] indicated the importance of parameter tuning for increasing accuracy, indicating that
Random Search works better than Grid Search when tuning neural networks. Also, [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] applied
standard tuning techniques to a decision tree on 102 datasets and calculated the accuracy
diferences between tuned and traditional models. [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ][
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] are concerned with the greedy
forward search which seeks to identify the most important hyperparametter to change next.
[
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] stressed the importance of single hyperparameters after using sequential model-based
optimisation (SMBO) tuning. ANOVA is used to measure hyperparameter importance. The
authors in [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ][
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] assessed the performance of hyperparameters across diferent datasets. [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]
also utilized surrogate models that allow setting the arbitrary hyperparameter configurations
based on a limit on the number of evaluations carried out. Bayesian optimisation-based (BO)
hyper-parameter search was used in [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ][
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] for speeding up the analysis of the work. The
literature reveals that HPO, and in particular Bayesian optimisation-based (BO) approaches,
have much to ofer.
        </p>
        <p>In this paper, we will use Automated Hyper-parameter Optimisation using Tree Parzen
Estimators (AHBO-TPE) which takes advantage of BO to speed up the analysis of the search as
well.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Hyper-parameter optimisation (HPO)</title>
      <sec id="sec-3-1">
        <title>3.1. Definition and Motivation</title>
        <p>
          Hyper-parameters are parameters of a model that are not updated during the learning process
[
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. The HPO problem is defined similarly by many researchers as a search to find *
* = arg min  (),
∈
(1)
where  () is an objective score to be minimised. Commonly it is an error rate of some form
evaluated on the validation set, e.g. the Root Mean Square Error (RMSE). * is the
hyperparameter vector that gives rise to the lowest score value, and  can be any vector of parameters
in the specified domain. HPO seeks the hyper-parameter values that return the lowest score. For
malware and similar classification tasks suitable choices for the objective function are holdout
and cross-validation error. Furthermore, if we consider a loss function for the same problem a
possible choice is a misclassification rate [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. For our proposed model, the loss function is taken
to be (ROC AUC score with cross-validation – 1). For in-depth background about validation
protocols see [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. Our work aims also to investigate evaluation time. There are two clear ways
to do this. The first is to use a subset of folds in testing an ML algorithm [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]. The second is to
use a subset of the dataset, especially if we have a big data set [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ][
          <xref ref-type="bibr" rid="ref22">22</xref>
          ], or use a less iteration.
        </p>
        <p>Although HPO has a great deal to ofer, it comes at a price, in particular a computational
price. For every hyper-parameter evaluation, we must train the model, make predictions on
the validation set, and then calculate the validation metrics. Developing a robust ML-based
classifier for Windows PE with a credibly sized and diverse dataset such as EMBER is therefore a
significant undertaking. The computational costs involved act as a disincentive to implementing
Bergstra et al.’s formal outer loop. There is a pressing need for traversing the hyper-parameter
space eficiently and we demonstrate how a leading HPO approach allows us to do so in this
paper.</p>
        <p>
          Here, Windows PE files are a means to an end; the same issues apply to detecting other
malware. Although malware is our major interest, our work also seeks to motivate consideration
of HPO more widely in the application of ML in cybersecurity (since HPO issues apply there
too). For more information about the HPO problem interested readers should refer to [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Model-free Blackbox optimisation methods (Search Methods)</title>
        <p>Perhaps the two most common HPO methods are Grid Search and Random Search. These
require only an evaluation function to work, i.e. they are what is commonly referred to as
‘blackbox’. In Grid Search the individual parameters are discretised, i.e. a number of specific
values are selected as ‘covering’ the particular parameter space. For example the elements in
the set {0.0, 0.25, 0.5, 0.75, 1.0} could be taken to cover a continuous parameter in the range
[0.0..1.0]. Grid Search evaluates the function over the cross product of the discretised sets of
hyper-parameters.</p>
        <p>
          Random Search selects values randomly from the domain of each hyper-parameter. Usually,
the values selected from each domain by Random Search are independent, i.e. the value of one
parameter choice does not afect the value selected for another parameter choice. Furthermore,
for an individual parameter all values generally have the same probability of being selected. It
is possible to relax such properties, producing what is often referred to as a biased stochastic
search. Such biases often encode for domain insight which is not in the spirit of a blackbox
approach. In our work, we adopted a standard or ‘vanilla’ Random Search. Grid Search sufers
from the ‘curse of dimensionality’ [23] . As the number of parameters increases or finer grain
discretisation is adopted the computational complexity mushrooms. Furthermore, it is does
not learn from past evaluations; we generally refer to such approaches as being uninformed.
Consequently, it may spend a great deal of time evaluating candidates in regions where previous
evaluation of candidates has given rise to poor objective values. Random Search will search
the specified space until a certain number of evaluations, time, or budget has been reached.
It works better than Grid Search when we know the promising hyper-parameter regions and
so we can constrain the stochastic selection of candidates to lie somewhere in such regions
[
          <xref ref-type="bibr" rid="ref10">10</xref>
          ][
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. Combining Random Search with complex strategies allows a minimum convergence
rate and adds exploration that can improve model-based search [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ][24]. Random Search is also
an uninformed method and so takes a long time to identify the best performing hyper-parameter
settings. It is not surprising that uninformed methods can be outperformed by methods that use
evaluation history to judge where to try next; indeed, such guided search usually outperforms
uninformed methods [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ][25][26].
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Bayesian optimisation (BO)</title>
        <p>
          BO has emerged recently as one of the most promising optimisation methods for expensive
blackbox functions. It has gained a lot of traction in the HPO community with significant results
in several areas such as image classification, speech recognition, neural language modeling,
For an in-depth preview about BO, the reader is referred to [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ][27]. BO is an informative
method that takes into consideration past results to find the best hyper-parameters. It utilizes
those previous results to form a probabilistic model that is based on a probability of the score
given a hyper-parameter which is denoted by the formula:  (|ℎ). [28]
refers to the probabilistic model as a surrogate for the objective function denoted by  (|),
the probability of  given . The model or surrogate is more straightforward to optimize than
the objective function. BO works to find the next hyper-parameters to be evaluated using the
actual objective function by selecting the best performing hyper-parameters on the surrogate
function. A 5-step processes to do this is given by [28]. The first step builds a surrogate
probability model of the objective function. The second finds the hyper-parameters with best
results on the surrogate. The third applies those values to the real defined objective function.
The fourth updates the surrogate with this new real objective function result. Steps 2–4 are
repeated until the maximum iteration or budgeted time is reached [29]. BO has two primary
components: probabilistic model and an acquisition function to decide the next place to evaluate.
Furthermore, BO trades of exploration and exploitation; instead of assessing the costly blackbox
function, the acquisition function is cheaply computed and optimized. There are many choices
for the acquisition function but here we use the most common – expected improvement (EI)
[30]. The goal of Bayesian reasoning is to become more accurate as more performance data
is acquired. The previous 5-step processes is repeated to keep the surrogate model updated
after each evaluation of the objective function [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. BO spends a little more time generating
sets of hyper-parameter choices that are likely to provide real improvements whilst keeping
calls to the actual objective function as low as possible. Practically, the time spent on choosing
the next hyper-parameters to evaluate is often trivial compared to the time spent on the (real)
objective function evaluation. BO can find better hyper-parameters than Random Search in
fewer iterations [25]. This is one of the issues we seek to address in our work: whether
AHBOTPE could find better hyper-parameters than Random Search with fewer iterations specially for
our target domain - Windows PE file malware detection.
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Sequential Model-Based optimisation (SMBO)</title>
        <p>
          There are several options for the SMBO’s evaluation of the surrogate model  (|) [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. One
of the choices is to use Expected Improvement (EI) as defined in the equation below:
(2)
(3)
∫︁ *
        </p>
        <p>−∞
* () =</p>
        <p>(* − ) (|)
Here * is the threshold value of the objective function,  is the hyper-parameter,  is the
actual value of the objective function using the hyper-parameters , and  (|) is the surrogate
probability model expressing the probability (density) of  given . The goal is to find the best
hyper-parameters under function  (|). The threshold value * is the best objective value
obtained so far. We aim to improve on (i.e. get a lower value than) the best value obtained so far.
For such minimisation problems, if a value  is greater than the threshold value, then it is not
an improvement. Only values less that the threshold are improvements. For a value  less than
the threshold * −  is the improvement. By integrating over all such improvements, weighted
by the density function  (|) gives the overall expected improvement given the vector of
parameter values . When better values of  are found (i.e. giving rise to actual improvements
in the real objective function) the threshold value * is updated. The above description is an
idealised view of Expected Improvement. In practice the choice of threshold value is more
lfexible, i.e. * need not be the best objective value witnessed so far; this is actually the case for
the Tree-Parzen Estimator approach outlined immediately below.</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.5. Tree-Structured Parzen Estimators (TPE)</title>
        <p>TPE constructs its model utilizing Bayesian rules. Its model  (|) is built from two model
components. One component models values less than a threshold and the other models values
greater than that threshold.</p>
        <p>(|) =
{︃()   &lt; *</p>
        <p>
          ()   &gt;= *
TPE uses * to be some quantile  of the observed  values, i.e. such that  ( &lt; * ) =  [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
This allows data to be available to construct the indicated densities. () is a density based
on the set of evaluated values of  that have been found to give objective values less than the
threshold. () is the density based on the remaining evaluated  values. Here  (|) is the
density of hyper-parameter  given a objective function score of . It is expressed as follows
[
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]:
 (|) =
 (|) *  ()
 ()
(4)
Bergstra et al. (2012) also show that to maximise improvement we should seek parameters 
with high probability under () and low probability under (). Thus, they seek to maximise
()/(). The best such  outcome is then evaluated in the actual objective function and will
be expected to have a better value. The surrogate model estimates the objective function; if the
hyper-parameter that is selected does not make an improvement, the model won’t be updated.
The updates are based upon previous history/trials of the objective function evaluation. As
mentioned before, the previous trials are stored in a pair of (score, hyper-parameters) by the
algorithm after building the lower threshold density () and higher threshold density (). It
uses the history of these previous trials to improve the objective function with each iteration.
The motivation to use TPE with SMBO to reduce time and find better hyper-parameters came
from other papers [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ][25][31][32]. SMBO uses Hyperopt [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], a Python library that implements
BO or SMBO. Hyperopt makes SMBO an interchangeable component that could be applied to
any search problem. Hyperopt supports more algorithms but we are interested in TPE only in
our work. Our contribution lies in the demonstration of the usefulness of SMBO using
TPE for malware classification purposes.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Experiments</title>
      <p>Here we outline the experiments carried out and provide sample data and execution environment
details. Discussion of results is given in the next section.</p>
      <sec id="sec-4-1">
        <title>4.1. Execution Environment and Dataset</title>
        <p>
          Our machine learning models evaluation used Scikit-learn [33] and Hyperopt [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. The
experiments were carried out on Windows 10 operating system, 8GB RAM, AMD Ryzen 5 3550 H
with Radeon Vega Mobile Gfc 2.10 GHz, 64-bit operating system, x64-based processor. Also, a
MacBook Air(Catalina version 10.15), 1.8 GHz Dual-core Intel i5, 8GB 1600 Mhz DDR3, Intel
HD graphics 6000 1536MB. Version 2018 of the EMBER dataset [34] were used. It contains
1M samples in total. We used 300k benign and 300k malicious samples for training with 100k
benign and 100k malicious samples for testing purposes. The 200k unlabelled examples of the
dataset were not used in our experiments. Furthermore, the results were obtained using Jupyter
Notebook version 6.1.0 and Python version 3.6.0.
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Experiments with Default Settings</title>
        <p>Table 1 shows the results when various ML techniques are applied with default parameter
settings. The techniques include well-established approaches (Stochastic Gradient Descent
classifier (SGD), Logistic Regression classifier (LR), Gaussian Naïve Bayes (GNB), K-nearest
Neighbour (KNN), and Random Forest (RF) [33], [35]) and a state-of-the-art approach –
LightGBM [36]. This technique has over a hundred parameters and so introduces major challenges
for hyper-parametrisation. Some of its categorical parameters (e.g. boosting type) give rise
to conditional parameters. For initial experiments we adopted the default parameter settings
adopted by the Scikit-Learn toolkit for all techniques other than LightGBM (which has its own
defaults). The evaluation metric is Area Under the Receiver Operating Characteristic
Curve (ROC AUC) [37]. ROC AUC plays an important role in many security classification
tasks, e.g. it also occurs frequently as an evaluation metric in intrusion detection research. Grid
Search results were obtained using the MacBook Air, while the rest (AHBO-TPE and Random
Search) were obtained under the Windows 10 operating system for faster performance.</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Hyper-parameter Optimisation</title>
        <p>The most promising of the evaluated ML algorithms, taking into account functional
performance and speed of training, was LightGBM. We choose to further explore hyper-parameter
optimisation on this technique. Since LightGBM has over a 100 parameters, some of which
are continuous, we simply cannot do exhaustive search. Accordingly, we have had to select
parameters as a focus in this work. We focused on what we believe are the most important
parameters. For Grid Search in particular we had to be particularly selective in what we
optimised. Moreover, for Random Search we specified a budget of 100 iterations. We examine
Grid Search, Random Search, and AHBO with Tree Parzen Estimators as HPO approaches. We
therefore provide comparison between model-free (blackbox) approaches (Grid Search and
Random Search), and AHBO-TPE, an approach that uses evaluation experience to continually
update its model and suggest next values of the hyper-parameters. We applied AHBO-TPE in
two phases, the first one we initially set it to 3 iterations, while the second being allowed 100
more iterations for fair comparison (with Random Search).</p>
      </sec>
      <sec id="sec-4-4">
        <title>4.4. Additional Materials</title>
        <p>Implementation details of our experiments can be found on our github repository [38].</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Results and discussion</title>
      <p>We have carried out our experiments on a benchmark dataset that has been assembled, in part,
to include examples that present challenges to ML classification approaches [ 34]. The results
given in Table 1 show that the major ML approaches vary hugely in their suitability for
the static malware classification tasks . Our benchmark dataset is comprised of summaries
of Windows PE files. It would seem prudent for malware detection researchers to evaluate
multiple ML algorithms for non-Windows malware detection too. The results also show the
clear promise of using a particular state-of-the-art algorithm – LightGBM – for the malware
detection task. Taking both time and performance into account, Table 1 shows that LightGBM is
clearly the best performing approach. The subsequent tables summarise our attempts to apply
HPO approaches to the most promising of the original ML techniques. We can see in Table
2 that HPO can ofer significant improvements . Random search performs very well. So
does AHBO-TPE, but the initial optimisation is far more eficient. Figure 1 further illustrates
how Random Search and AHBO-TPE evolve as iteration number increases. The tool default
parameter choices cannot be relied upon to produce the best or even good results. Tables 5, 6
and 7 illustrate the dificulty of manually tuning parameters for this task. In some cases the
defaults and the best found values are at the opposite ends of the parameter ranges,
e.g. the bagging fraction in Table 5. Many are significantly diferent to the default value, e.g.
_ in Tables 6 and 7 and _ of Table 7. Some binary choices are reversed,
e.g.  and _ of Table 6. Further results are given in the appendix were
we use AHBO-TPE with the selected ML techniques. The results are shown with 10 iterations
(a constraint imposed for reasons of computational practicality) and 3 fold cross validation.
Moreover, the hyper-parameters that are promising in each ML model are added in Tables 7,
8, 9, 10 and 11. Also, in Figure 2 a comparison is given between our search methods and the
benchmark model.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Limitations and Conclusions</title>
      <sec id="sec-6-1">
        <title>6.1. Limitations</title>
        <p>A significant limitation is that the work uses a specific dataset (EMBER) concerned with Windows
PE files. This limits rigorously founded generalisation of results. Evaluation using further
malware datasets would build further insight into applicability beyond the direct case study
malware type reported here. Also we have used a single (albeit highly efective) ‘informed’
hyper-parametrisation approach. The use of other informed hyper-parametrisation approaches
would provide further insight and possible improvements. For practical purposes we informally
identified plausible parameters that should be subject to variation and allowed the remaining
ones to be set at the defaults. It is possible that improvements in results could be obtained by
allowing variation in those parameters fixed at their default values.</p>
      </sec>
      <sec id="sec-6-2">
        <title>6.2. Conclusions</title>
        <p>The results overall would suggest that researchers in malware and ML are missing a significant
opportunity to improve results attained by specific techniques of interest. The importance of
sound optimisation in this domain is considerable: every improvement matters to the security
of the system and there are major cost implications for gaining improvements. As, we argued
earlier, sub-optimality may have major costs. Researchers who apply particular techniques to
malware detection are interested in gaining maximal performance and showing their technique
(accurately) at its best. We need a fair comparison of techniques at their best. Fair comparison
is also crucial to the development of the field. HPO has the ability to place ML-based malware
detection on a sound empirical footing. We recommend hyper-parameter optimisation for
malware detection and the ML community. We also recommend Bayesian optimisation as a
particularly promising approach with informative approaches generally being an important
avenue for future research. For future work it seems investigating the applicability of our model
in dynamic malware detection settings is worthwhile. The major available dataset (EMBER)
contains unknown malware samples. Accordingly, applying HBO in a semi-supervised regime
seems a plausible avenue to pursue.</p>
        <p>We have shown how Bayesian Optimisation can be harnessed to advantage. We have applied
a leading state-of-the-art approach to show how malware detection can be enhanced. We should
be alert to major developments in the HPO field to ensure we deliver the very best hopes for
malware detection stakeholders. In summary: the parametrisation of ML approaches exerts
significant efect on the results obtained; Hyper-parameter Optimisation is an important device
for obtaining best results for any specific technique; it is arguably an essential component for
the rigorous comparison of techniques, which is a fundamental criterion for the development
of the topic. It would be very useful for the ML-based malware detection community to agree
comparison protocols. The above are our conclusions for ML applied to malware detection
(here malicious Windows PE files). We propose that HPO be an essential element of the ML
process for malware detection applications.</p>
        <p>Intelligence Review 11 (1997) 193–225.
[23] R. Bellman, Dynamic programming princeton university press princeton, New Jersey</p>
        <p>Google Scholar (1957).
[24] F. Hutter, H. Hoos, K. Leyton-Brown, An evaluation of sequential model-based optimization
for expensive blackbox functions, in: Proceedings of the 15th annual conference companion
on Genetic and evolutionary computation, 2013, pp. 1209–1216.
[25] J. Bergstra, D. Yamins, D. Cox, Making a science of model search: Hyperparameter
optimization in hundreds of dimensions for vision architectures, in: International conference
on machine learning, PMLR, 2013, pp. 115–123.
[26] S. Falkner, A. Klein, F. Hutter, Bohb: Robust and eficient hyperparameter optimization at
scale, in: International Conference on Machine Learning, PMLR, 2018, pp. 1437–1446.
[27] E. Brochu, V. M. Cora, N. De Freitas, A tutorial on bayesian optimization of expensive
cost functions, with application to active user modeling and hierarchical reinforcement
learning, arXiv preprint arXiv:1012.2599 (2010).
[28] I. Dewancker, M. McCourt, S. Clark, Bayesian optimization primer, 2015. URL:
https://static.sigopt.com/b/20a144d208ef255d3b981ce419667ec25d8412e2/static/pdf/
SigOpt_Bayesian_Optimization_Primer.pdf.
[29] M. Feurer, A. Klein, K. Eggensperger, J. T. Springenberg, M. Blum, F. Hutter, Auto-sklearn:
eficient and robust automated machine learning, in: Automated Machine Learning,
Springer, Cham, 2019, pp. 113–134.
[30] R. J. Donald, Eficient global optimization of expensive black-box function, J. Global Optim.</p>
        <p>13 (1998) 455–492.
[31] K. Eggensperger, M. Feurer, F. Hutter, J. Bergstra, J. Snoek, H. Hoos, K. Leyton-Brown,
Towards an empirical foundation for assessing bayesian optimization of hyperparameters,
in: NIPS workshop on Bayesian Optimization in Theory and Practice, volume 10, 2013,
p. 3.
[32] L. Yang, A. Shami, On hyperparameter optimization of machine learning algorithms:</p>
        <p>Theory and practice, Neurocomputing 415 (2020) 295–316.
[33] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel,
P. Prettenhofer, R. Weiss, V. Dubourg, et al., Scikit-learn: Machine learning in python, the
Journal of machine Learning research 12 (2011) 2825–2830.
[34] H. S. Anderson, P. Roth, elastic/ember, 2021. URL: https://github.com/elastic/ember/blob/
master/README.md.
[35] L. Buitinck, G. Louppe, M. Blondel, F. Pedregosa, A. Mueller, O. Grisel, V. Niculae, P.
Prettenhofer, A. Gramfort, J. Grobler, et al., Api design for machine learning software: experiences
from the scikit-learn project, arXiv preprint arXiv:1309.0238 (2013).
[36] Lightgbm documentation, ???? URL: https://lightgbm.readthedocs.io/en/latest.
[37] sklearn.metrics.roc_auc_score, ???? URL: https://scikit-learn.org/stable/modules/
generated/sklearn.metrics.roc_auc_score.html.
[38] F. ALGorain, J. Clark, Bayesian hyper parameter optimization
for malware detection, 2021. URL: https://github.com/fahadgorain/
Bayesian-Hyper-Parameter-Optimization-for-Malware-Detection.
[39] M. Amin, T. A. Tanveer, M. Tehseen, M. Khan, F. A. Khan, S. Anwar, Static malware
detection and attribution in android byte-code through an end-to-end deep system, Future</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>7. Appendix</title>
      <p>Default Value</p>
      <p>GBDT
100
0.1
31
1.0
1.0
None
20
0.0
0.0
1.0
1.0</p>
      <p>False
Default Value</p>
      <p>GBDT
100
0.1
31
1.0
1.0
None
20
0.0
0.0
1.0
1.0
False
100
200000
Hyperparameter
n_estimators
max_depth
max_features
min_samples_split
min_samples_leaf
criterion</p>
      <p>AHBO-TPE Search Hyperparameter Results
100
30
auto
10
30
gini
Range
10:200
0.0:20.0
’liblinear’,’lbfgs’, ’sag’, ’saga’
Default Value
100
auto
lbfgs</p>
      <p>AHBO-TPE Search Hyperparameter Results
15
Range</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A. K.</given-names>
            <surname>Pandey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. K.</given-names>
            <surname>Tripathi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Kapil</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Singh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. W.</given-names>
            <surname>Khan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Agrawal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kumar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. A.</given-names>
            <surname>Khan</surname>
          </string-name>
          ,
          <article-title>Trends in malware attacks: Identification and mitigation strategies</article-title>
          ,
          <source>in: Critical Concepts</source>
          ,
          <source>Standards, and Techniques in Cyber Forensics, IGI Global</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>47</fpage>
          -
          <lpage>60</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Al-Sabaawi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Al-Dulaimi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Foo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Alazab</surname>
          </string-name>
          ,
          <article-title>Addressing malware attacks on connected and autonomous vehicles: Recent techniques and challenges</article-title>
          ,
          <source>in: Malware Analysis Using Artificial Intelligence and Deep Learning</source>
          , Springer,
          <year>2021</year>
          , pp.
          <fpage>97</fpage>
          -
          <lpage>119</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bergstra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Komer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Eliasmith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Yamins</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. D.</given-names>
            <surname>Cox</surname>
          </string-name>
          ,
          <article-title>Hyperopt: a python library for model selection and hyperparameter optimization</article-title>
          ,
          <source>Computational Science &amp; Discovery</source>
          <volume>8</volume>
          (
          <year>2015</year>
          )
          <fpage>014008</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>H. S.</given-names>
            <surname>Anderson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Roth</surname>
          </string-name>
          ,
          <article-title>Ember: an open dataset for training static pe malware machine learning models</article-title>
          , arXiv preprint arXiv:
          <year>1804</year>
          .
          <volume>04637</volume>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M. G.</given-names>
            <surname>Schultz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Eskin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Zadok</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Stolfo</surname>
          </string-name>
          ,
          <article-title>Data mining methods for detection of new malicious executables</article-title>
          ,
          <source>in: Proceedings 2001 IEEE Symposium on Security and Privacy. S&amp;P</source>
          <year>2001</year>
          , IEEE,
          <year>2000</year>
          , pp.
          <fpage>38</fpage>
          -
          <lpage>49</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J. Z.</given-names>
            <surname>Kolter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Maloof</surname>
          </string-name>
          ,
          <article-title>Learning to detect and classify malicious executables in the wild</article-title>
          .,
          <source>Journal of Machine Learning Research</source>
          <volume>7</volume>
          (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>E.</given-names>
            <surname>Raf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Barker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Sylvester</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Brandon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Catanzaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. K.</given-names>
            <surname>Nicholas</surname>
          </string-name>
          ,
          <article-title>Malware detection by eating a whole exe</article-title>
          ,
          <source>in: Workshops at the Thirty-Second AAAI Conference on Artificial Intelligence</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>H.-D. Pham</surname>
            ,
            <given-names>T. D.</given-names>
          </string-name>
          <string-name>
            <surname>Le</surname>
            ,
            <given-names>T. N.</given-names>
          </string-name>
          <string-name>
            <surname>Vu</surname>
          </string-name>
          ,
          <article-title>Static pe malware detection using gradient boosting decision trees algorithm</article-title>
          ,
          <source>in: International Conference on Future Data and Security Engineering</source>
          , Springer,
          <year>2018</year>
          , pp.
          <fpage>228</fpage>
          -
          <lpage>236</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>C.</given-names>
            <surname>Fawcett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          ,
          <article-title>Analysing diferences between algorithm configurations through ablation</article-title>
          ,
          <source>Journal of Heuristics</source>
          <volume>22</volume>
          (
          <year>2016</year>
          )
          <fpage>431</fpage>
          -
          <lpage>458</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bergstra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Bengio</surname>
          </string-name>
          ,
          <article-title>Random search for hyper-parameter optimization</article-title>
          .,
          <source>Journal of machine learning research 13</source>
          (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          ,
          <article-title>An eficient approach for assessing hyperparameter importance</article-title>
          ,
          <source>in: International conference on machine learning, PMLR</source>
          ,
          <year>2014</year>
          , pp.
          <fpage>754</fpage>
          -
          <lpage>762</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J. N. Van</given-names>
            <surname>Rijn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <article-title>Hyperparameter importance across datasets</article-title>
          ,
          <source>in: Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery &amp; Data Mining</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>2367</fpage>
          -
          <lpage>2376</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>A.</given-names>
            <surname>Biedenkapp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lindauer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Eggensperger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Fawcett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          ,
          <article-title>Eficient parameter importance analysis via ablation with surrogates</article-title>
          ,
          <source>in: Proceedings of the AAAI Conference on Artificial Intelligence</source>
          , volume
          <volume>31</volume>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>K.</given-names>
            <surname>Eggensperger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lindauer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          ,
          <article-title>Eficient benchmarking of algorithm configurators via model-based surrogates</article-title>
          ,
          <source>Machine Learning</source>
          <volume>107</volume>
          (
          <year>2018</year>
          )
          <fpage>15</fpage>
          -
          <lpage>41</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bergstra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bardenet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Bengio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Kégl</surname>
          </string-name>
          ,
          <article-title>Algorithms for hyper-parameter optimization</article-title>
          ,
          <source>in: 25th annual conference on neural information processing systems (NIPS</source>
          <year>2011</year>
          ), volume
          <volume>24</volume>
          ,
          <source>Neural Information Processing Systems Foundation</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>P.</given-names>
            <surname>Probst</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.-L.</given-names>
            <surname>Boulesteix</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bischl</surname>
          </string-name>
          ,
          <article-title>Tunability: Importance of hyperparameters of machine learning algorithms</article-title>
          .,
          <source>J. Mach. Learn. Res</source>
          .
          <volume>20</volume>
          (
          <year>2019</year>
          )
          <fpage>1</fpage>
          -
          <lpage>32</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>B.</given-names>
            <surname>Shahriari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Swersky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. P.</given-names>
            <surname>Adams</surname>
          </string-name>
          , N. De Freitas,
          <article-title>Taking the human out of the loop: A review of bayesian optimization</article-title>
          ,
          <source>Proceedings of the IEEE</source>
          <volume>104</volume>
          (
          <year>2015</year>
          )
          <fpage>148</fpage>
          -
          <lpage>175</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Feurer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <article-title>Hyperparameter optimization</article-title>
          ,
          <source>in: Automated Machine Learning</source>
          , Springer, Cham,
          <year>2019</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>33</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>B.</given-names>
            <surname>Bischl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Mersmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Trautmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Weihs</surname>
          </string-name>
          ,
          <article-title>Resampling methods for meta-model validation with recommendations for evolutionary computation</article-title>
          ,
          <source>Evolutionary computation 20</source>
          (
          <year>2012</year>
          )
          <fpage>249</fpage>
          -
          <lpage>275</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>C.</given-names>
            <surname>Thornton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          ,
          <article-title>Auto-weka: Combined selection and hyperparameter optimization of classification algorithms</article-title>
          ,
          <source>in: Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining</source>
          ,
          <year>2013</year>
          , pp.
          <fpage>847</fpage>
          -
          <lpage>855</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>A.</given-names>
            <surname>Klein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Falkner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bartels</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Hennig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          , et al.,
          <article-title>Fast bayesian hyperparameter optimization on large datasets</article-title>
          ,
          <source>Electronic Journal of Statistics</source>
          <volume>11</volume>
          (
          <year>2017</year>
          )
          <fpage>4945</fpage>
          -
          <lpage>4968</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>O.</given-names>
            <surname>Maron</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. W.</given-names>
            <surname>Moore</surname>
          </string-name>
          ,
          <article-title>The racing algorithm: Model selection for lazy learners</article-title>
          ,
          <source>Artificial Default Value 5</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>