質問編集履歴
1
エラーメッセージ、ソフトマックス関数の定義等の不備があった為修正しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,12 +6,20 @@
|
|
6
6
|
多クラス分類で実装したいソフトマックス関数はかけましたが、確率的勾配降下法を用いて学習を進めたいのですが、データを1個取り出してソフトマックス関数に適応できません。
|
7
7
|
|
8
8
|
```
|
9
|
+
(3,) [0.33140883 0.3342123 0.33437887]
|
9
10
|
Traceback (most recent call last):
|
10
|
-
File "step02_4.py", line
|
11
|
+
File "step02_4.py", line 26, in <module>
|
11
|
-
|
12
|
+
z = softmax(w.T[n]@X[n] + b)
|
13
|
+
IndexError: index 386 is out of bounds for axis 0 with size 3
|
12
14
|
```
|
15
|
+
> (3,) [0.33140883 0.3342123 0.33437887]
|
16
|
+
|
17
|
+
は、途中まで実行できた結果です。
|
13
18
|
なお、入力データ全体に対してはソフトマックス関数での計算ができました。
|
14
19
|
|
20
|
+
このエラーが理由はわかるのですが、修正方法がわかりません。実際の仕組みでは、データ一つ(例えばX[0])を指定して以下の数式に適応した場合に(3,)の配列が出てくるようにしたいです。
|
21
|
+

|
22
|
+
|
15
23
|
### 該当のソースコード
|
16
24
|
|
17
25
|
makeGaussianData.py(学習データの作成)
|