Alexey Edelev 5 anni fa
parent
commit
f56d61abb5

+ 3 - 3
neuralnetwork/main.go

@@ -11,7 +11,7 @@ func main() {
 
 	dataSet, result := readData("./iris.data")
 
-	sizes := []int{4, 8, 3}
+	sizes := []int{4, 8, 8, 3}
 	nn := neuralnetwork.NewNeuralNetwork(sizes)
 
 	for i := 0; i < nn.Count; i++ {
@@ -23,8 +23,8 @@ func main() {
 		fmt.Printf("A before:\n%v\n\n", mat.Formatted(nn.A[i], mat.Prefix(""), mat.Excerpt(0)))
 	}
 
-	for j := 0; j < 150; j++ {
-		for i := 0; i < len(dataSet); i++ {
+	for j := 0; j < 481; j++ {
+		for i := len(dataSet) - 1; i >= 0; i-- {
 			// 	fmt.Printf("Dataset[%d]:\n%v\n\n", i, mat.Formatted(dataSet[i], mat.Prefix(""), mat.Excerpt(0)))
 			// 	fmt.Printf("Result[%d]:\n%v\n\n", i, mat.Formatted(result[i], mat.Prefix(""), mat.Excerpt(0)))
 			nn.Backward(dataSet[i], result[i])

+ 1 - 4
neuralnetwork/neuralnetworkbase/neuralnetwork.go

@@ -1,8 +1,6 @@
 package neuralnetworkbase
 
 import (
-	"fmt"
-
 	mat "gonum.org/v1/gonum/mat"
 )
 
@@ -28,7 +26,7 @@ func NewNeuralNetwork(Sizes []int) (nn *NeuralNetwork) {
 	nn.Biases = make([]*mat.Dense, nn.Count)
 	nn.A = make([]*mat.Dense, nn.Count)
 	nn.Z = make([]*mat.Dense, nn.Count)
-	nn.alpha = 0.3 / float64(nn.Sizes[0])
+	nn.alpha = 0.1 / float64(nn.Sizes[0])
 
 	for i := 1; i < nn.Count; i++ {
 		nn.Weights[i] = generateRandomDense(nn.Sizes[i], nn.Sizes[i-1])
@@ -76,7 +74,6 @@ func (nn *NeuralNetwork) Forward(aIn mat.Matrix) {
 func (nn *NeuralNetwork) Backward(aIn, aOut mat.Matrix) {
 	nn.Forward(aIn)
 
-	fmt.Printf("Backward\n")
 	lastLayerNum := nn.Count - 1
 
 	//Initial error