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

回答編集履歴

3

d

2020/05/27 02:49

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -3,4 +3,25 @@
3
3
  出力層の活性化関数は近似したい関数の値域に合わせて決めます。
4
4
  sin(x) の値域は [-1, 1] なので、同じく値域が [-1, 1] である tanh を活性化関数に使用してはどうでしょうか。
5
5
 
6
- ![イメージ説明](16bfe7ee1d805a3e27eabbc2cd41f87d.png)
6
+ ![イメージ説明](16bfe7ee1d805a3e27eabbc2cd41f87d.png)
7
+
8
+ > sigmoid使って組め、と仕様が決められてしまっているんですよね…
9
+
10
+ sigmoid の値域は [0, 1] なので、2 * sigmoid(x) - 1 として値域を [-1, 1] に調整すればいいと思います。
11
+
12
+ ```python
13
+ import matplotlib.pyplot as plt
14
+ import numpy as np
15
+
16
+ def sigmoid(x):
17
+ return 1 / (1 + np.exp(-x))
18
+
19
+ x = np.linspace(-np.pi, np.pi, 50)
20
+ y = 2 * sigmoid(x) - 1
21
+
22
+ fig, ax = plt.subplots()
23
+ ax.plot(x, y)
24
+ ax.grid()
25
+ ```
26
+
27
+ ![イメージ説明](a1fc504af4ad7b770c12e433b6ccb935.png)

2

d

2020/05/27 02:49

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  > sin波をx=[-π,π]で学習させたいのですが、負の数が表現できず、困っています。
2
2
 
3
3
  出力層の活性化関数は近似したい関数の値域に合わせて決めます。
4
- sin(x) の値域は [-1, 1] なので、値域 [-1, 1] である tanh を活性化関数に使用してはどうでしょうか。
4
+ sin(x) の値域は [-1, 1] なので、同じく値域 [-1, 1] である tanh を活性化関数に使用してはどうでしょうか。
5
5
 
6
6
  ![イメージ説明](16bfe7ee1d805a3e27eabbc2cd41f87d.png)

1

s

2020/05/27 02:39

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  > sin波をx=[-π,π]で学習させたいのですが、負の数が表現できず、困っています。
2
2
 
3
- 活性化関数は近似したい関数の値域に合わせて決めます。
3
+ 出力層の活性化関数は近似したい関数の値域に合わせて決めます。
4
- sin(x) の値域は [-1, 1] なので、tanh を活性化関数に使用してはどうでしょうか。
4
+ sin(x) の値域は [-1, 1] なので、値域は [-1, 1] である tanh を活性化関数に使用してはどうでしょうか。
5
5
 
6
6
  ![イメージ説明](16bfe7ee1d805a3e27eabbc2cd41f87d.png)