teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

エラーメッセージ、ソフトマックス関数の定義等の不備があった為修正しました。

2020/07/29 04:22

投稿

padms0206
padms0206

スコア2

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 27, in <module>
11
+ File "step02_4.py", line 26, in <module>
11
- y[k] = w[k]@X[n] + b[k]
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
+ ![ソフトマックス関数](e144556009286736d581cc116b3eee49.png)
22
+
15
23
  ### 該当のソースコード
16
24
 
17
25
  makeGaussianData.py(学習データの作成)