In this post, we are going to devise a measurement tool (perceptron model) in order to classify : whether a person is infected by a diseases or not.
In binary terms, the output will be { 1 if infected 0 not infected }
To build inputs for our neural network, we take readings from the patients and we will treat readings as follows :
body temperature = {
1 if body temperator > 99'F
-1 if body temperator = 99'F
}
heart rate = {
1 if heart rate > 60 to 100
-1 if heart rate = 60 to 100
}
blood pressure = {
1 if heart rate > 120/80
-1 if heart rate = 120/80
}
So, input from each patient will be represented as a three dimensional vector:
input = (body temperatur, heart rate, blood pressure)
So, a person can now be represented as : (1, -1, 1) i.e (body temperator > 99'F, heart rate = 60 to 100, heart rate > 120/80)
Let us create two inputs with desired output value
x1 = (1, 1, 1), d1 = 1 (infected)
x2 = (-1, -1, -1), d2 = 0 (not infected)
Let us take initial values for weights and biases: weights, w0 = (-1, 0.5, 0) bias, b0 = 0.5
And, activation function:
A(S) = {
1 if S >=0
0 otherwise
}
STEP 1¶
Feed x1 = (1, 1, 1)
into the network.
weighted_sum:
S = (-1, 0.5, 0) * (1, 1, 1)^T + 0
= -1 + 0.5 + 0 + 0
= -0.5
When passed through activation function A(-0.5) = 0 = y1
We passed an infected
input vector, but our perceptron classified it as not infected
.
Let's calculate the error term:
e = d1 - y1 = 1 - 0 = 1
Update weight as:
w1 = w0 + e * x1 = (-1, 0.5, 0) + 1 * (1, 1, 1) = (0, 1.5, 1)
And, update bias as: b1 = b0 + e = 1
STEP 2¶
Now, we feed second input (-1, -1, -1)
into our network.
weighted_sum :
S = w1 * x2^T + b1
= (0, 1.5, 1) * (-1, -1, -1)^T + 1
= -1.5 - 1 + 1
= -1.5
When passed through activation function A(-1.5) = 0 = y2
We passed an not infected
input vector, and our perceptron successfully classified it as not infected
.
STEP 3¶
Since, our first input is mis-classified, so we will go for it.
weighted_sum :
S = w1 * x1^T + b1
= (0, 1.5, 1) * (1, 1, 1)^T + 1
= 1.5 + 1 + 1
= 3.5
When passed through activation function A(3.5) = 1 = y3
We passed an infected
input vector, and our perceptron successfully classified it as infected
.
Here, both input vectors are correctly classified. i.e algorithm is converged to a solution point.