|
| 1 | +public class Driver { |
| 2 | + public static void main(String args[]) |
| 3 | + { |
| 4 | + int[][][] data = Perceptron.anddata; |
| 5 | + double[] weights = Perceptron.INTIAL_WEIGHTS; |
| 6 | + Driver driver = new Driver(); |
| 7 | + Perceptron perceptron = new Perceptron(); |
| 8 | + int epochnumber = 0; |
| 9 | + boolean errorflag = true; |
| 10 | + double error = 0; |
| 11 | + double[] adjustedweights = null; |
| 12 | + while(errorflag){ |
| 13 | + driver.printHeading(epochnumber++); |
| 14 | + errorflag = false ; |
| 15 | + error = 0; |
| 16 | + for(int x =0; x< data.length;x++){ |
| 17 | + double weightedsum = perceptron.calculateWeightedsum(data[x][0], weights); |
| 18 | + int result = perceptron.applyActivationFunction(weightedsum); |
| 19 | + error= data[x][1][0] - result ; |
| 20 | + if(error !=0 ) errorflag = true; |
| 21 | + adjustedweights = perceptron.adjustweight(data[x][0], weights, error); |
| 22 | + driver.printvector(data[x],weights, result , error, weightedsum, adjustedweights); |
| 23 | + weights = adjustedweights; |
| 24 | + |
| 25 | + |
| 26 | + } |
| 27 | + |
| 28 | + } |
| 29 | + |
| 30 | + } |
| 31 | + public void printHeading( int epochNumber) |
| 32 | + { |
| 33 | + System.out.println("\n===========================================Epoch #" + epochNumber+"======================================================"); |
| 34 | + System.out.println(" w1 | w2 | x1 | x2 | Target Result | Result | error | Weighted sum | adjusted w1 | adjusted w2 "); |
| 35 | + System.out.println("--------------------------------------------------------------------------------------------------------------------"); |
| 36 | + } |
| 37 | + public void printvector(int[][] data, double[] weights , int result , double error , double weightedsum , double[] adjustedweights ) { |
| 38 | + System.out.println(" "+String.format("%.2f",weights[0])+"|"+String.format("%.2f",weights[1])+"|"+data[0][0]+"|"+data[0][1]+ |
| 39 | + " | "+data[1][0]+" | "+result+" | "+error+" | "+String.format("%.2f", weightedsum)+ |
| 40 | + " | "+String.format("%.2f",adjustedweights[0]) + " | "+String.format("%.2f",adjustedweights[1])); |
| 41 | + |
| 42 | + } |
| 43 | +} |
0 commit comments