回答編集履歴
5
fclose指摘、書式修正
answer
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
パッと見でおかしい所
|
2
|
-
`w1[0]`~`w1[8]`までしか存在していないのに、`w1[9]`に書き込もうとしています。
|
2
|
+
- `w1[0]`~`w1[8]`までしか存在していないのに、`w1[9]`に書き込もうとしています。
|
3
|
-
`count`は`10`にはなりません。なったとしても`w2[10]`は範囲外です。
|
3
|
+
- `count`は`10`にはなりません。なったとしても`w2[10]`は範囲外です。
|
4
4
|
`if (count == 9)`の誤りでは?
|
5
|
+
|
5
6
|
```C
|
6
7
|
double w1[9]; //入力層→隠れ層の重み
|
7
8
|
double w2[10];//隠れ層→出力層の重み(w_2[0]はバイアス)
|
@@ -16,7 +17,7 @@
|
|
16
17
|
}
|
17
18
|
```
|
18
19
|
|
19
|
-
`out2[0]`~`out2[9]`までしか存在していないのに、`out2[10]`~`out2[49]`を読み取ろうとしています。
|
20
|
+
- `out2[0]`~`out2[9]`までしか存在していないのに、`out2[10]`~`out2[49]`を読み取ろうとしています。
|
20
21
|
`out2[count]`は`out2[i]`の誤り?
|
21
22
|
```C
|
22
23
|
double out2[10];//出力層への出力
|
@@ -27,4 +28,7 @@
|
|
27
28
|
bias[i] = bias[i] - p * delta3 * w2[i + 1] * out2[count] * (1 - out2[count]);//bias[i] - p*delta3 * w2[i+1]*exp(-net2[i])/((1+exp(-net2[i]))*(1+exp(-net2[i])));
|
28
29
|
w1[i] = w1[i] - p * x[count] * delta3 * w2[i + 1] * out2[count] * (1 - out2[count]);//w1[i] - p*x[count]*delta3 * w2[i+1]*exp(-net2[i])/((1+exp(-net2[i]))*(1+exp(-net2[i])));
|
29
30
|
}
|
30
|
-
```
|
31
|
+
```
|
32
|
+
|
33
|
+
- `fclose(fp)`でファイルを閉じていません。
|
34
|
+
一応プログラム終了で閉じられますが…
|
4
コード追記
answer
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
パッと見でおかしい所
|
2
2
|
`w1[0]`~`w1[8]`までしか存在していないのに、`w1[9]`に書き込もうとしています。
|
3
3
|
`count`は`10`にはなりません。なったとしても`w2[10]`は範囲外です。
|
4
|
+
`if (count == 9)`の誤りでは?
|
4
5
|
```C
|
5
6
|
double w1[9]; //入力層→隠れ層の重み
|
6
7
|
double w2[10];//隠れ層→出力層の重み(w_2[0]はバイアス)
|
3
コード追記
answer
CHANGED
@@ -16,12 +16,14 @@
|
|
16
16
|
```
|
17
17
|
|
18
18
|
`out2[0]`~`out2[9]`までしか存在していないのに、`out2[10]`~`out2[49]`を読み取ろうとしています。
|
19
|
+
`out2[count]`は`out2[i]`の誤り?
|
19
20
|
```C
|
20
21
|
double out2[10];//出力層への出力
|
21
22
|
(略)
|
22
23
|
for (count = 0; count < 50; count++) {//サンプルされた50点のに対するそ処理コード
|
23
24
|
(略)
|
25
|
+
for (i = 0; i < 9; i++) {
|
24
26
|
bias[i] = bias[i] - p * delta3 * w2[i + 1] * out2[count] * (1 - out2[count]);//bias[i] - p*delta3 * w2[i+1]*exp(-net2[i])/((1+exp(-net2[i]))*(1+exp(-net2[i])));
|
25
27
|
w1[i] = w1[i] - p * x[count] * delta3 * w2[i + 1] * out2[count] * (1 - out2[count]);//w1[i] - p*x[count]*delta3 * w2[i+1]*exp(-net2[i])/((1+exp(-net2[i]))*(1+exp(-net2[i])));
|
26
|
-
|
28
|
+
}
|
27
29
|
```
|
2
誤字修正
answer
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
}
|
16
16
|
```
|
17
17
|
|
18
|
-
`out2[0]`~`out2[9]`までしか存在していないのに、`
|
18
|
+
`out2[0]`~`out2[9]`までしか存在していないのに、`out2[10]`~`out2[49]`を読み取ろうとしています。
|
19
19
|
```C
|
20
20
|
double out2[10];//出力層への出力
|
21
21
|
(略)
|
1
書式修正
answer
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
```
|
17
17
|
|
18
18
|
`out2[0]`~`out2[9]`までしか存在していないのに、`w1[10]`~`w1[49]`を読み取ろうとしています。
|
19
|
-
```
|
19
|
+
```C
|
20
20
|
double out2[10];//出力層への出力
|
21
21
|
(略)
|
22
22
|
for (count = 0; count < 50; count++) {//サンプルされた50点のに対するそ処理コード
|