Algorithm For Classification Of Female Mamillary Diseases Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

The accuracy of any classification in Neural Network depends on the algorithm used and functions type that act in the program of neural network as well as many factors limit the accuracy of classification. The classification methods now a day is the most popular way for a lot of programs and systems to get easy and raped procedure to get the final results.

In this paper a feed-forward Back-propagation of multilayer neural network was used to estimate and correct the error present for each training. That is help to give the required accuracy and the multifunction used in this algorithm for giving more flexible system with different problem of classification. The functions that selected in the algorithm used to solve the problem of classification data of diseases to get the most possibility for accurate results to separate each disease data from normal tissue data. These functions are Trainlm (training according to Levenberg-Marquardt optimization), learngdm (Gradient descent with momentum weight and bias learning function) and Tansig (Hyperbolic tangent sigmoid transfer function). According to that the algorithm used in this work has a good estimation for data classification with best time and performance.


The processes of diagnosis and disease detection in the new world now a day are developed in raped manner. The main aim for these processes is to get accurate and complete diagnosis in short time for the patient to be comfortable as well as to keep minimum cost and maximum patient entrance.

Many paper or projects used neural network to classify biological signal for certain disease in the body and these signals differs according to the diagnosing itself like ECG, EMG and so on, [1]. There are many instruments used for diagnosing diseases and the decision of disease classification usually done by vision of physician or sometimes using some methods to study the output of these devices like CT- scan, MRI and laboratory diagnosing device of blood and so on [2]. The method of classification differs from device to another or from company to another due to many reasons like the marketing and process of devices; many software program methods used for that like Neural Network, Wavelet, Fuzzy logic, etc[3].

This algorithm found to help in diagnoses and detection diseases by any instrument to give a complete system for detection and diagnosing. This algorithm is mainly depend on data classification that collected from instrument that deals with human disease detection in any manner like image, signal or separate data. The accuracy is the main condition for any procedure in any work and in the medical instrumentation is most important because it may decide the fate of the patient.

Here the classification take a place in the present paper to classify the diseases of breast tissue for female by using neural network method feed-forward back-propagation with multi transfer function to increase the accuracy of classification.

The neural network is depending on input collection, weights, and transfer functions. The input collection from the output of tissue after applying the ray on it then this data will react with the weight as shown below


Where y is the output of the input layer of network, is multi input data and is the weight of each input.

Then the output of input layer y will deal with the transfer function to classify the data for each layer and when increase the number of layer the accuracy and complexity will be increased [4].


The very general nature of the back propagation training method means that a back propagation net (a multi layer feed forward net trained by back propagation) can be used to solve problems in many areas.

The training of a network by back propagation involves three stages: entering the feed forward of the input training patterns, the calculation and back propagation of the error and the adjustment of weights [5]. Although a single layer net can learn it severely; but it limited in its mapping. A multi layered net can be mapped to solve any problem up to any arbitrary accuracy.

The neural network formed from many layers: input layer, hidden layers and output layer as shown in figure (1). The increasing in the number of layers increase the complexity of the network then that influence positively on the performance of the net by increasing the accuracy of problems solution with increasing in the time of training process of algorithm network.

There are many functions used in neural network as shown in figure (2) to solve a specific problem; in the present paper multifunction used to help in getting more accurate classification which is Trainlm as a training function, Learngdm as adaption learning function and Tansig as transfer function of the network.

Trainlm is a network training function that updates weight and bias values according to Levenberg-Marquardt optimization [6].

Trainlm is often the fastest back-propagation algorithm in the toolbox of Matlab, and is highly recommended as a first-choice supervised algorithm, although it does require more memory than other algorithms [7].

Figure (1) A Multi layer neural network with back propagation training.

Figure (2) a simple diagram for neural network shows the location of transfer function.

2.1 Levenberg-Marquardt Method:

The Levenberg-Marquardt method uses a search direction that is a solution of the linear set of equations as [8]

(2 (

where J(x) is Jacobian matrix, F(x) assumed functional relation which maps a parameter vector x, I is the identity matrix, the scalar controls both the magnitude and direction of where is Newton step direction. When is zero, the direction is identical to that of the Gauss-Newton method. As tends to infinity, tends toward a vector of zeros and a steepest descent direction. This implies that for some sufficiently large, the term holds true. The term can therefore be controlled to ensure descent even when second-order terms, which restrict the efficiency of the Gauss-Newton method, are encountered. The Levenberg-Marquardt method therefore uses a search direction that is a cross between the Gauss-Newton direction and the steepest descent.

Like the quasi-Newton methods, the Levenberg-Marquardt algorithm was designed to approach second-order training speed without having to compute the Hessian matrix [9, 10]. When the performance function has the form of a sum of squares (as is typical in training feed-forward networks), then the Hessian matrix (H) can be approximated as


where J is the Jacobian matrix and the gradient (G) can be computed as


Jacobian matrix is contains first derivatives of the network errors with respect to the weights and biases, and e is a vector of network errors. The Jacobian matrix can be computed through a standard back-propagation technique that is much less complex than computing the Hessian matrix [11].

The Levenberg-Marquardt algorithm uses this approximation to the Hessian matrix in the following Newton-like update:


When µ is learning parameter (Levenberg's damping factor) equal to zero, this is just Newton's method, using the approximate Hessian matrix. When µ is large, this becomes gradient descent with a small step size. Newton's method is faster and more accurate near an error minimum, so the aim is to shift toward Newton's method as quickly as possible. Thus, µ is decreased after each successful step (reduction in performance function) and is increased only when a tentative step would increase the performance function. In this way, the performance function is always reduced for each iteration of the algorithm.

2.2 Learngdm:

It is Gradient descent with momentum weight and bias learning function [12]. This function is calculate the changes in the weight for a specific neuron from the input Xi and error . as shown in equation 6:


Where the weight (or bias) w, learning rate , mc is momentum constant, is the old change in the weight, and gw is gradient of weight matrix with respect to performance.

2.3 Bipolar Sigmoid function (Tansig):

The bipolar sigmoid figure (3) is closely related to the hyperbolic tangent function, which is also often used as the activation function when the desired range of output values is between -1 and 1 [12].



We illustrated the correspondence between the two for σ =1 the equation will be


The hyperbolic tangent is


The derivative if the hyperbolic tangent is


For binary data (rather than continuously valued data in the range from 0 to 1), it is usually preferable to convert to bipolar from and use the bipolar sigmoid or hyperbolic tangent.

Figure (3) the bipolar sigmoid function


The performance of Jacobian jX is calculated by using FeedBack-propagation with respect to the weight and bias variables X. Each variable is adjusted according to Levenberg-Marquardt [13],

jj = jX * jX (12)

je = jX * (13)

dx = -(jj+I*µ) \ je (14)

where is all errors and I is the identity matrix.

The adaptive value µ is increased by increment until the change above results in a reduced performance value.

The algorithm used in this paper as follows:

Collect the data for different diseases.

Set the desired weight wi.

Make these data as input (Xi ,i=1…n).

Generate two layers neural network feed-forward; input layer and hidden layer.

Each Input unit (Xi, i=1…n) receives input signal xi and broadcasts this signal to all units in the hidden layer above it.

Set the Training function as Trainlm

Set the Adaptation learning function as Learngdm

Set the transfer function as Tansig.

Each hidden unit (Yj, j=1…p) sums its weighted input signals,

Applies its activation function to compute its output signal.

And sends this signal to all units in the layers above i.e. y output layer.

Train the input data with the target data.

Measure the error at the end of feed-forward neural network by using Backprobagation.

Find the error, epoch, performance and regression of the output result.

Below a flow chart shows the algorithm of the neural networks with back-propagation.

Results and Discussion:

This paper used MatLab version 7.6 then neural network is used to verify the algorithm for classification the diseases. The two functions that used in the algorithm of feed-forward back-propagation. The first is Trainlm as training function (which is a network training function) that updates weight and bias values according to Levenberg-Marquardt optimization [6].

Trainlm is often the fastest back-propagation function in MatLab, and is highly recommended as a first-choice supervised algorithm, although it does require more memory than other algorithms [6]. The second is Learngdm which is adaptation function used for learning. Learngdm is the gradient descent with momentum weight and bias learning function. The performance function used is Main Square Error MSE and the number of layers was chooses is two layers as shown in figure (4); that because in neural networks increasing the number of layers will increase the accuracy of training solution even though this layers will increase the running time and complexity of the solution, the number of neurons is 10 and the transfer function used is Tansig (Tan Sigmoid Transfer Function) to calculate a layer's output from its net input. The iteration was got is 138 iterations for 1000 epochs.

By using M-file a three different mamillary diseases was classified after trained by neural network [14]. Table 1 shows samples of 370 input data for each case.

The counted error shows a good error values for each case and when these errors compared with the external data error counted; it will shows completely large gap between them.

Figure (5) shows the sum-network square error for one epoch for first case ductal carcinoma to approve the behavior of output error which is clarified by exceeding the error line the desired error to reach a very good value.

The results of performance in figure (6) show the best validation performance which is 4.5592e-009 at 132 epochs. This performance gives a good indication about the accuracy of classification result.

Figure (4) A diagram represent the Neural Network used in our program

The plot of figure (6) shows the mean squared error of the network starting at a large value and decreasing to a smaller value. In other words, it shows that the network is learning. There is three curve was plotted, because the input and targets vectors are randomly divided into these sets. 70% of the vectors are used to train the network. For validation a 15% of the vectors are used for network generalizing. The validation error is reduced when the training vectors continues. The training is stopped when the network is memorizes the training set (at the generalizing process is more poorly), this process avoids the problem of over fitting automatically, which is learning the algorithms.

Figure (6) the performance curve of Neural Network algorithm for 138 Epochs

Finally, the last 15% of the vectors provide an independent test of network generalization to data that the network has never seen.

Figure (7) has three parameters; the gradient of training state fluctuated from 4 epoch to 70 epoch after this value the gradient will be 5.7322e-008 to be study at 138 epoch.

The adaptive value mu decreasing smoothly, the minimum value at 8 epoch and the beginning a study state of 70 to 138 to be its value e-0.8­­.

Trainlm supports training with validation and test vectors if the network's property is set to a data division function. Validation vectors are used to stop training early if the network performance on the validation vectors fails to improve or remains the same for max epochs in a row. Test vectors are used as a further check that the network is generalizing well, but do not have any effect on training.

Figure (7) the training state for the parameter of gradient, adaptive value (mu) and validation fail


According to the results as shown in table (1 and 2) as well as the curves in figures (5, 6, and 7) mention above shows the accuracy of the training algorithm through performance curve and minimum error value indicating to a successful neural network training and algorithm for mamillary diseases and this algorithm can be applicable for more cases related to the data like that.

This network algorithm gives more accurate result of classification and that very important to find the type of disease comparing with the normal mamillary cells, with very short time.