回答編集履歴

3

説明の追加

2022/04/17 15:52

投稿

jbpb0
jbpb0

スコア7653

test CHANGED
@@ -1,11 +1,13 @@
1
1
 
2
2
  [CrossEntropyErrorについて](https://teratail.com/questions/367808)
3
- にも書きましたけど、PyTorchのCrossEntropyLossは予測値をソフトマックス処理するので、こういう計算と等価になると思います
3
+ にも書きましたけど、PyTorchのCrossEntropyLossは予測値をソフトマックス処理するので、質問の「# PyTorchのカテゴリカル交差エントロピー関数」と等価な式はこんな感じになると思います
4
4
  ```python
5
5
  loss = torch.mean(torch.sum(-t * torch.t(torch.t(y) - torch.log(torch.sum(torch.exp(y), dim=1))), dim=1))
6
6
  print(loss)
7
7
  ## tensor(1.4425)
8
8
  ```
9
+  
10
+ 質問の「# Pythonコード」がソフトマックス処理無しの場合です
9
11
 
10
12
   
11
13
  なお、当方のMacの環境

2

表現の変更

2022/04/17 15:33

投稿

jbpb0
jbpb0

スコア7653

test CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  [CrossEntropyErrorについて](https://teratail.com/questions/367808)
3
- にも書きましたけど、PyTorchのCrossEntropyLossは予測値をソフトマックス処理するので、こういう計算をしてると思います
3
+ にも書きましたけど、PyTorchのCrossEntropyLossは予測値をソフトマックス処理するので、こういう計算と等価になると思います
4
4
  ```python
5
5
  loss = torch.mean(torch.sum(-t * torch.t(torch.t(y) - torch.log(torch.sum(torch.exp(y), dim=1))), dim=1))
6
6
  print(loss)

1

表現の変更

2022/04/17 15:31

投稿

jbpb0
jbpb0

スコア7653

test CHANGED
@@ -1,10 +1,11 @@
1
+
2
+ [CrossEntropyErrorについて](https://teratail.com/questions/367808)
3
+ にも書きましたけど、PyTorchのCrossEntropyLossは予測値をソフトマックス処理するので、こういう計算をしてると思います
1
4
  ```python
2
5
  loss = torch.mean(torch.sum(-t * torch.t(torch.t(y) - torch.log(torch.sum(torch.exp(y), dim=1))), dim=1))
3
6
  print(loss)
4
7
  ## tensor(1.4425)
5
8
  ```
6
- 参考
7
- [CrossEntropyErrorについて](https://teratail.com/questions/367808)
8
9
 
9
10
   
10
11
  なお、当方のMacの環境