Genetic Algorithm Based Feature Selection For Medical Diagnosing Using Artificial Neural Network
Genetic Algorithm Based Feature Selection For Medical Diagnosing Using Artificial Neural Network
Genetic Algorithm Based Feature Selection For Medical Diagnosing Using Artificial Neural Network
A set of features that are representative of all variations of the disease are needed.
Feature Selection (FS) is a solution that involves finding a subset of prominent features to improve
predictive accuracy and to remove the redundant features.
The goal of this project is to investigate the fuzzy logic based Genetic algorithm to generate
reduced number of features with improvement in diagnostic performance.
The reduced feature subset is used to predict the disease based on the Artificial Neural Network.
Existing System
Generally, doctors consider all the symptoms in order to diagnose the presence of disease even
though some of the symptoms are not necessary to diagnose the disease.
Due to these unnecessary symptoms, it usually takes more time to decide the presence of disease.
Proposed System
The redundant or unnecessary symptoms makes the diagnosing system to take more time to decide
the presence of hepatitis.
After applying the optimization techniques to the dataset, it will produce the optimum feature set
using which the decision model can be built.
Architectural View
Methodology
Data Pre-processing
a. Data Cleaning
b. Data Discretization
Feature Selection
a. Fuzzification
b. Genetic Algorithm
Classification
a. Artificial Neural Networks
PRE-PROCESSING
Why we need Pre-Processing ?
All features are not important or irrelevant/noisy.
These features may be especially harmful in the case of relatively small training sets.
Increases redundancy.
Decreases accuracy
How Pre-Processing ?
The Purpose of the data Pre-processing is to extract useful data from raw datasets and these are
converted into the format required for the prediction of the disease .
The Data is cleaned for missing values, analyzed and transformed for further steps .
Pre-Processing Steps:
The missing values are handled by computing the Attribute Mean of all the other attribute values
in the same column of the dataset.
The missing values are handled by computing the Attribute Mean of all the other attribute values in
0.00 0.33 = 1
0.33 0.66 = 2
0.66 0.99 = 3
FEATURE SELECTION
What is Feature Selection ?
Feature selection is generally used in machine learning, especially when the learning task envelopes
high-dimensional datasets.
The intention of feature selection is to reduce the complexity and augment the quality of a dataset by
selecting prominent features.
Optimization methods are used in the process of feature selection to compute the most significant set
features from the data set while maintaining adequate accuracy rate represented by the original set of
features.
In our Feature Selection ,it comprises of
1. Fuzzification followed by
2. Genetic Algorithm.
Fuzzification is needed to deal with Uncertainty.
Genetic Algorithm is used for selecting Optimum Feature Subsets .
Why Fuzzification ?
40 40
30 30
20 20
10 10
0 0
0 5 10 15 0 5 10 15
x x
(a) Chromosome initial locations. (b ) Chromosome final locations.
Roulette wheel selection
The most commonly used chromosome selection techniques is the
Roulette wheel selection.
100 0
X1: 16.5%
X2: 20.2%
75.2 X3: 6.4%
X4: 6.4%
X5: 25.3%
36.7 X6: 24.8%
49.5 43.1
Crossover operator
In our example, we have an initial population of 6 chromosomes. Thus, to establish the same
population in the next generation, the roulette wheel would be spun six times.
First, the crossover operator randomly chooses a crossover point where two parent chromosomes
break, and then exchanges the chromosome parts after that point. As a result, two new offspring
are created.
If a pair of chromosomes does not cross over, then the chromosome cloning takes place, and the
offspring are created as exact copies of each parent.
X6i 1 0 00 1 0 1 00 00 X2i
X1i 0 11 00 00
1 0 11 11 11 X5i
X2i 0 1 0 0 0 1 1 1 X5i
Mutation operator
Mutation represents a change in the gene.
Mutation is a background operator. Its role is to provide a guarantee that the search algorithm
is not trapped on a local optimum.
The mutation probability is quite small in nature, and is kept low for GAs, typically in the
range between 0.001 and 0.01.
X6'i 1 0 0 0
X2'i 0 1 0 1
0
X1'i 0
1 1 1 1 1 1 X1"i
X5'i 0 1 0
1 0
1
X2i 0 1 0 0 1 0 X2"i
X5i 0 1 1 1
C rossover
Generation i
X1i 1 1 0 0 f = 36 X6i 1 0 00 1 0 1 00 00 X2i
X2i 0 1 0 0 f = 44
X3i 0 0 0 1 f = 14
X4i 1 1 1 0 f = 14 X1i 0 11 00 00
1 0 11 11 11 X5i
X5i 0 1 1 1 f = 56
X6i 1 0 0 1 f = 54
X2i 0 1 0 0 0 1 1 1 X5i
Generation (i + 1)
X1i+1 1 0 0 0 f = 56 Mutation
X2i+1 0 1 0 1 f = 50 X6'i 1 0 0 0
X3i+1 1 0 1 1 f = 44
X2'i 0 1 0 1
0
X4i+1 0 1 0 0 f = 44
X1'i 0
1 1 1 1 1 1 X1"i
X5i+1 0 1 1 0 f = 54
X6i+1 0 1 1 1 f = 56 X5'i 0 1 0
1 0
1
X2i 0 1 0 0 1 0 X2"i
X5i 0 1 1 1
CLASSIFICATION
Classification Techniques
There are different types of class techniques such as Artificial neural networks, Decision trees,
Nearest neighbor method, Rule induction, Data visualization.
E.g.: Decision trees will always gives the results based on local optima. This will effect the final
output.
There are limitations in artificial neural networks too i.e., time complexity.
For that we are decreasing the number of features that effect the disease by using fuzzy feature
selection and genetic algorithms
Why Artificial neural networks?
As in medical diagnosis we did not want an local optima results as that value may effect the final
ADVANTAGES:
Character recognisation.
Image compression.
Travelling salesman problem
Artificial neural networks
An Artificial Neural Network (ANN) is an information processing paradigm that is inspired by the
way biological nervous systems, such as the brain, process information.
Neural networks can be used to extract patterns and detect trends that are too complex to be
noticed by either humans or other computer techniques.
A trained neural network can be thought of as an "expert can then be used to provide projections
given new situations of interest and answer "what if" questions.
Adaptive learning, Self-organization, Real time operation, Fault tolerance via Redundant
information coding.
Proposed Process in artificial neural networks
with Backpropagation
Step 1: Take an input from already selected features from defuzzified data.
Step 2: Apply the decision patterns in the hidden layer.
Step 3: Obtain the output and find the difference between the cost function.
Step 4: If the difference is greater than threshold value the again change the weights and bias
value and iterate the process till we get difference less than threshold value.
Step 5: If less than threshold value the obtain the output and give the result.
Step 6: After that we will use backpropagation to increase the efficiency of the system.
Working of Basic Neural Network
An artificial neuron is a device with many inputs and one output.
The neuron has two modes of operation.
The training mode and the using mode.
For using mode we will use firing rules in order to determine whether to fire or not.
E.g.: Hamming distance technique.
Working of Basic Neural Network(Cont.)
The Artificial neural networks consists of three groups
1.Input layer 2.Hidden layer 3.Output layer
The behavior of an ANN (Artificial Neural Network) depends on both the weights and the input-
output function.
The input-output function is of three categories
Linear units ,threshold unit ,sigmoid unit.
Sample working of Neural Network By Realizing the
AND gate from XNOR gate
Non-linear classification: XOR/XNOR.
Here we will take an output function as H().
The sample neural network will be
Here we will do biasing in order to increase the flexibility but biasing will depend upon the
selected output.
Sample working of Neural Network By Realizing the AND gate
from XNOR gate(continued)
Sometimes it's convenient to add the weights into the diagram. These values are in fact just
the parameters so
101 = -30
111 = 20
121 = 20
To use our original notation.
x1 x2 H()
0 0 G(-30)
0 1 G(-10)
1 0 G(-10)
1 1 G(10)
-t
The value of G(x) cab be find using sigmoid function i.e.; 1/1+e
Artificial neural networks(conclusion)