|
1 | 1 | package com.thealgorithms.maths; |
2 | 2 |
|
3 | | -import org.junit.jupiter.api.Test; |
4 | | - |
5 | | -import java.util.Arrays; |
6 | | - |
7 | 3 | import static org.junit.jupiter.api.Assertions.assertEquals; |
8 | 4 | import static org.junit.jupiter.api.Assertions.assertTrue; |
9 | 5 |
|
| 6 | +import java.util.Arrays; |
| 7 | +import org.junit.jupiter.api.Test; |
| 8 | + |
10 | 9 | public class SigmoidActivationTest { |
11 | 10 |
|
12 | 11 | @Test |
13 | 12 | public void calculationTest() { |
14 | | - assertEquals(0.5,SigmoidActivation.activate(0), 0.01,"1 case correct" ); |
15 | | - assertEquals(0.73,SigmoidActivation.activate(1),0.01,"2 case correct"); |
16 | | - assertEquals(0.26,SigmoidActivation.activate(-1),0.01, "3 case correct"); |
17 | | - assertEquals(0.88,SigmoidActivation.activate(2),0.01,"4 case correct"); |
18 | | - assertEquals(0.11,SigmoidActivation.activate(-2),0.01,"5 case correct"); |
| 13 | + assertEquals(0.5, SigmoidActivation.activate(0), 0.01, "1 case correct"); |
| 14 | + assertEquals(0.73, SigmoidActivation.activate(1), 0.01, "2 case correct"); |
| 15 | + assertEquals(0.26, SigmoidActivation.activate(-1), 0.01, "3 case correct"); |
| 16 | + assertEquals(0.88, SigmoidActivation.activate(2), 0.01, "4 case correct"); |
| 17 | + assertEquals(0.11, SigmoidActivation.activate(-2), 0.01, "5 case correct"); |
19 | 18 |
|
20 | 19 | double[][] xBatch = new double[4][3]; |
21 | 20 | double[][] expectedX = new double[4][3]; |
22 | 21 |
|
23 | | - for(int i = 0; i < 4; i++) { |
24 | | - for(int j = 0; j < 3; j++) xBatch[i][j] = 0; |
| 22 | + for (int i = 0; i < 4; i++) { |
| 23 | + for (int j = 0; j < 3; j++) { |
| 24 | + xBatch[i][j] = 0; |
| 25 | + } |
25 | 26 | } |
26 | 27 |
|
27 | | - for(int i = 0; i < 4; i++) { |
28 | | - for(int j = 0; j < 3; j++) expectedX[i][j] = 0.5; |
| 28 | + for (int i = 0; i < 4; i++) { |
| 29 | + for (int j = 0; j < 3; j++) { |
| 30 | + expectedX[i][j] = 0.5; |
| 31 | + } |
29 | 32 | } |
30 | 33 |
|
31 | 34 | assertTrue(Arrays.deepEquals(expectedX, SigmoidActivation.activate(xBatch)), "batch case correct"); |
32 | 35 |
|
33 | 36 | assertEquals(0.25, SigmoidActivation.grad(0.5), 0.01, "grad calculation correct"); |
34 | 37 |
|
35 | 38 | double[][] yBatch = new double[4][3]; |
36 | | - for(int i = 0; i < 4; i++) { |
37 | | - for(int j = 0; j < 3; j++) yBatch[i][j] = 0.5; |
| 39 | + for (int i = 0; i < 4; i++) { |
| 40 | + for (int j = 0; j < 3; j++) { |
| 41 | + yBatch[i][j] = 0.5; |
| 42 | + } |
38 | 43 | } |
39 | 44 |
|
40 | 45 | double[][] expectedY = new double[4][3]; |
41 | | - for(int i = 0; i < 4; i++) { |
42 | | - for(int j = 0; j < 3; j++) expectedY[i][j] = 0.25; |
| 46 | + for (int i = 0; i < 4; i++) { |
| 47 | + for (int j = 0; j < 3; j++) { |
| 48 | + expectedY[i][j] = 0.25; |
| 49 | + } |
43 | 50 | } |
44 | 51 | assertTrue(Arrays.deepEquals(expectedY, SigmoidActivation.grad(yBatch)), "grad batch case correct"); |
45 | 52 | } |
|
0 commit comments