Beruflich Dokumente
Kultur Dokumente
Abstract
Creation of an artificial neural network is a guess and check pro-
cess wherein parameters such as weights, number of hidden layers
and number of neurons in each hidden layer are determined through
trial and error because the relationship between these neural network
parameters and the ability to minimize error and generalize is not
known. A poor selection of the aforementioned parameters could lead
to a slow learning time, bad generalization or worst, render the artifi-
cial neural network useless. For this reason, it makes an ideal problem
for a Genetic Algorithm to optimize the architecture of an artificial
neural network. This paper proposes an application of optimizing an
artificial neural network using Genetic Algorithm in the diagnosis of
Cerebrovascular Insult or ”Stroke” which is a good prediction prob-
lem that could provide a comprehensible step by step application of
”Evolutionary Neural Network”.
1 Introduction
Cerebrovascular Insult or simply, ”Stroke” is a life-threatening event which
can happen to anyone at any time and is the third leading cause of death,
behind heart disease and cancer [1]. It occurs when blood flow to an area of
brain is cut off depriving brain cells of oxygen causing these to die. When
brain cells die during a stroke, abilities controlled by that area of the brain
such as memory and muscle control are lost.
The following signs may mean that had a stroke [2]:
1
1. Sudden weakness or numbness of the face, arm, or leg on one side of
the body.
4. Sudden trouble seeing out of one or both eyes or sudden double vision.
3 Architecture
The neural network architecture is a multi-layered feed-forward network ar-
chitecture with 20 input nodes which are the 20 input parameters in figure
1 and 10 output nodes which represents the range showing the different
categories of stroke disease in figure 2. The 20 input parameters are to be rep-
resented as binary vectors when fed to the artificial neural network where
1 implies presence and 0 implies absence. Overfitting could occur in using
too many hidden neurons in the network architecture, it could prevent the
2
Figure 1: Input Parameters for Prediction of Stroke
3
Figure 3: Proposed multi-layered feed forward network architecture with a
single hidden layer, 20 input parameters and 10 output parameters
4
neural network from generalizing and producing correct output when pre-
sented with test data while the reverse is the case if the number of hiddens
are few which will cause the neural network to give inaccurate results[10].
The proposed number of hidden layer is only one given the simplicity of the
problem but the number of hidden neurons which should be in the range of
1-10 is to be determined by the genetic algorithm.
4 Activation Function
The activation function that should be used for this artificial neural network
is binary sigmoid function which is the most commonly used activation func-
tion that limits the output of all nodes in the network to be between 0 and
1:
1
fn (Zk ) =
1 + e−Zk
Where Zk is the sum of the inputs xj multiplied by their respective weights
X
Zk = wkj xj
j
wkj is weight of the jth input to the kth neuron of the output layer and
xj is the jth input to the neuron.
5
Figure 4: Proposed multi-layered feed-forward network with 20 input nodes,
10 output nodes and sample hidden layer with randomized weights and num-
ber of hidden neurons.
6
Figure 5: Connectionist encoding of the artificial neural network in figure 4.
7
Connectionist encoding suffers from the permutation problem resulting
from the recombination operator, it is caused by the many-to-one mapping
from genotypes to phenotypes. It is obvious that if two hidden nodes have
the same bit patterns and hence same values, they have similar connections
with the input and output nodes.
[13] [14] proposes ”Permutation free Enconding Technique for Evolving
Neural Networks” or ”PETENN” to avoid the permutation problem in Con-
nectionist encoding by applying a sorting technique. This genetic algorithm
has been implemented and produced competitive results to four real-world
medical diagnosis problem (e.g. breast cancer problem, diabetes problem,
heart disease problem and thryoid problem) which utilizes artificial neural
networks and machine learning.
6 Data set
The data set should be divided into a training set and a test set. The training
set is a part of the input data set used for the adjustment of network weights.
The test set is a part of the input data set used to test how well the neural
network will perform on new data. The test set is used after the network has
been trained to test what errors will occur during future network application.
This set is not used during training and thus can be considered as consisting
of new data entered by the user for the neural network application. The
proposed percentage of the training set is 84% of the input data allocating
the remaining 16% to the test set.
7 Genetic Algorithm
Given a neural network that is ready to be trained, the initial population of
individuals (chromosomes) are generated, each of which codifies a set of val-
ues for the weights of the connections of the artificial neural network. Then
the fitness of each individual is evaluated, which entails allocating the values
of the weights codified by the individual to assess the network connections
and calculating the mean square error. The set of training patterns are used
to do this calculation. The error value is the individual’s fitness. After this
initialisation stage, the genetic reproduction, crossover and mutation oper-
ators are usually applied to output generations until there is convergence
8
toward a population of individuals that encode the set of weights and num-
ber of hidden neurons that minimize the network error (See Figure 7). The
Artificial Neural Network is initialized with random weights with each weight
being between -1.0 and +1.0 using genetic algorithm. Initial population of
50 individuals are chosen randomly. This problem requires 2 sets of vectors
of weights, the first vector set consists of connection weights between input
to hidden layer and 2nd vector set for connection weights between hidden
layer to output layer. To calculate the fitness of each chromosome the net-
work should be trained with the stroke data and root mean square should
be returned. A small value, closes to zero, indicates that the network has
learned well and is suited for the problem. In this application, each string or
chromosome in the population represents the weight and hidden neurons of
the network.
7.0.2 Population
The performance of artificial neural network evolution using genetic algo-
rithm depends on the number of population and generation. If these param-
eters were set too low, the evolution may converge to an immature solution.
However, larger number of population and generation would require longer
computation time for convergence. In this paper, the proposed number of
individuals in the population is 50 and the maximum generations to be used
to evolve the solution is 500.
9
7.0.3 Selection
The proposed selection method for this evolutionary neural network is ”Fit-
ness proportionate selection” or also known as ”roulette wheel selection”.
This selection can be envisaged by imagining a roulette wheel in which each
candidate solution represents a pocket on the wheel; the size of the pockets
are proportionate to the probability of selection of the solution. While candi-
date solutions with higher fitness will be less likely to be eliminated, there is
still a chance that some weaker solutions may survive the selection process.
This could be an advantage, as some solution may be weak but may include
some component which could prove useful in the recombination process.
7.0.4 Crossover
For the production of an offspring for the next generation, half of the best
ranked population is selected. This half population undergo crossover with
70% probability after which it could mutate depending on the mutation
probability which will be discussed next.
7.0.5 Mutation
Mutation is applied randomly with a probability of 3%. The mutation oper-
ator may be applied on the offspring before a competition takes place among
the parents and their offspring. The following mutation operators can be
applied on the offpring:
1. A new hidden node may be added to the network. The links and their
corresponding weights of this node with the input and output nodes
are randomly generated.
10
Figure 7: Proposed Genetic Algorithm Flowchart
8 Proposed Implementation
The proposed evolutionary neural network presented on this paper can be
implemented using MATLAB which is a high-performance language for
technical computing and is typically used for math/computation, algorithm
development, data analysis/exploration and scientific and engineering graph-
ics. The proposed data to be used for this study is the Cleveland stroke
data set from the UCI repository which have been collected from patients
who have symptoms of stroke disease and is publicly available in the internet
or in this link [15].
9 Result Analysis
This paper proposes the aforementioned evolutionary neural network method
and parameters to be compared with an existing neural network-based sys-
tem to evaluate its performance. To find the risk factors of stroke patients,
obtained results are evaluated with namely: sensitivity, specificity, and ac-
curacy. These are the commonly used statistical measures to illustrate the
medical diagnostic test and used to enumerate how good and consistent the
11
test is. The accuracy is measured based on sensitivity and specificity[4].
Based on the patient risk levels with diagnosis result = normal and diagnosis
result = abnormal, number of attributes used with patient suffering from
diseases is measured. In order to find these metrics, we first compute some
of the terms like, True Positive (TP), True Negative (TN), False Negative
(FN) and False Positive(FP).
TP
Sensitivity =
TP + FN
TN
Sensitivity =
TN + FP
TN + TP
Accuracy =
TN + TP + FN + FP
According to these values the accuracy is calculated and analyzed. Perfor-
mance can be determined based on the evaluation time of calculation and
the error rates.
10 Conclusion
This paper proposed an artificial neural network optimized by genetic al-
gorithm for medical diagnosis of cerebrovascular insult or stroke. Artificial
neural networks provide a powerful tool to help medical staff analyze, model
and make sense of complex clinical data across a broad range of medical
applications. Having said that, Artificial Neural networks is yet to replace
human experts and can only help experts in screening and double-check their
diagnosis because results of disease classification or prediction task are true
only with a certain probability in general.
References
[1] J. Mohr, Stroke Analysis. Oxford Press, 4th ed., 2001.
12
[4] E. Alkim, E. Grbz, and E. Kili, “A fast and adaptive automated dis-
ease diagnosis method with an innovative neural network model,” Neur
Networks., p. 8896, 2012.
[7] F. Ahmed, “Artificial neural networks for diagnosis and survival predic-
tion in colon cancer.,” Ahmed, vol. 4, p. 2929, 2005.
13