Sie sind auf Seite 1von 13

Prognosis of Cerebrovascular Insult using

Evolutionary Neural Network


Aaron Carl T. Fernandez
June 25, 2017

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.

2. Sudden confusion, trouble talking, or trouble understanding.

3. Sudden dizziness, loss of balance, or trouble walking.

4. Sudden trouble seeing out of one or both eyes or sudden double vision.

5. Sudden severe headache.

Several studies have applied artificial neural networks in medical diagno-


sis and analysis such as in colorectal cancer[3], multiple sclerosis lesions[4],
colon cancer[5], pancreatic disease[6], gynecological diseases[7], and early
diabetes[8].
The purpose of this paper is to use the prediction of stroke as a compre-
hendible example of evolving the architecture of a neural network through
genetic algorithm.

2 Input and Output parameters


[9] performed data analysis on various input parameters for the prediction of
stroke diseases collected from 50 stroke patients. It used a ”Backward Step-
wise - Feature Selection Method” to identify input columns that are not useful
and do not contribute significantly to the performance of neural network (See
Figure 1). Figure 2 presents the various categories of stroke diseases and their
classification.

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

Figure 2: Categories of Stroke Diseases and their Classification

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 Artificial Neural Network Encoding


The process of converting an artificial neural network into genes is called
Encoding. Encoding methods can be divided in three main groups according
to the process of creating the network from the encoded genome: direct,
parametric and indirect method[11]. This paper proposes a direct encoding
for the aforementioned neural network architeture.
In direct encoding methods, a direct genotype-phenotype mapping for the
network exists. That means that all parameters of the network are clearly
understandable from the genes without any repeated process of transcription
or growing[11].
There are numerous direct encoding schemes that varies in usage com-
plexity and expressiveness[12] but the specific type of direct encoding this
paper will employ is a Connectionist encoding (Whitley et al., 1990).

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.

Figure 6: Concatenated connectionist encoding from figure 5 which will be


the input to the genetic algorithm.

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.1 Fitness Function


The fitness function that should be used is the minimum Mean Squared Error
or ”MSE” which is computed by recalling the network, after getting the
fitness values of all chromosomes, they are ranked based on the best fitness
values. m
1 X
Error(E) = (dj (n) − yj (n))2
m j=1

Where dj = desired/predicted jth output


yj = actual jth output
m = neuron number
n = training step

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.

2. A hidden node of the network may be randomly deleted. The proba-


bility of adding a node is more than that of deleting it.

3. The network may be mutated by deletion of a randomly chosen link.


And finally, the weight of a randomly selected link may be changed
within a certain range.

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.

[2] K. Dallas, “Heart disease and stroke statistics,” 2003.

[3] P. Szolovits, R. Patil, and W. Schwartz, “Artificial intelligence in med-


ical diagnosis,” Ann Intern Med, p. 8087, 1988.

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.

[5] L. Spelt, B. Andersson, J. Nilsson, and R. Andersson, “Prognostic mod-


els for outcome following liver resection for colorectal cancer metastases:
A systematic review.,” Eur J Surg Oncol., p. 1624, 2012.

[6] D. Mortazavi, A. Kouzani, and H. Soltanian-Zadeh, “Segmentation of


multiple sclerosis lesions in mr images: a review.,” Neuroradiology.,
p. 299320, 2012.

[7] F. Ahmed, “Artificial neural networks for diagnosis and survival predic-
tion in colon cancer.,” Ahmed, vol. 4, p. 2929, 2005.

[8] A. Bartosch-Hrlid, B. Andersson, U. Aho, J. Nilsson, and R. Andersson,


“Artificial neural networks in pancreatic disease.,” Br J Surg., p. 817826,
2008.

[9] W. Baxt, “Application of artificial neural networks to clinical


medicine.,” Lancet., p. 346346, 1995.

[10] J. A. Bullinaria, “Bias and variance, under-fitting and over-fitting,”


2015.

[11] eBooks.com, “A review of methods for encoding neural network topolo-


gies in evolutionary computation (ebook) by jozef fekia et al.”

[12] eBooks.com, “Modelling perception with artificial neural networks


(ebook) by colin r. tosh; graeme d. ruxton.”

[13] D. Anupam, S. Hossain, S. M. Abdullah, and R. U. Islam, “Permutation


free encoding technique for evolving neural networks.”

[14] A. Das, R. Islam, and S. Abdullah, “Evolving neural networks using


evolutionary algorithm,” 2007.

[15] “Uci machine learning repository: Data sets website.”

13

Das könnte Ihnen auch gefallen