回答編集履歴

3

補足追記

2021/09/23 03:45

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -41,3 +41,45 @@
41
41
 
42
42
 
43
43
  コードにしたければ、上記を愚直にコードにすればよく、訓練サンプル複数の場合への応用も容易です。
44
+
45
+
46
+
47
+ 2021/09/23追記
48
+
49
+
50
+
51
+ コード例を示します。
52
+
53
+
54
+
55
+ ```Python
56
+
57
+ (a, b) = (1.0, 0.0)
58
+
59
+ lr = 0.1 # 学習率 learning rate
60
+
61
+ (x, y) = (-1.0, 0.0)
62
+
63
+
64
+
65
+ # 問題文における偏微分の定義で n = 1 とする
66
+
67
+ dL_da = lambda a, b: a * x * x + b * x - x * y
68
+
69
+ dL_db = lambda a, b: b + a * x - y
70
+
71
+
72
+
73
+ # (a, b)を1回更新する更新量を(da, db)とする
74
+
75
+ da = -lr * dL_da(a, b)
76
+
77
+ db = -lr * dL_db(a, b)
78
+
79
+
80
+
81
+ # 答えを表示
82
+
83
+ print(da, db)
84
+
85
+ ```

2

一部修正

2021/09/23 03:45

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -1,6 +1,6 @@
1
1
  この問題からなぜdiabetesデータセットを使ったのか、質問者様の意図がわかりません。
2
2
 
3
- SGDの基本的な定義を理解しているかを確認するために、単純に数的に解くのが問題意図ではないでしょうか?
3
+ SGDの基本的な定義を理解しているかを確認するために、単純に数的に解くのが問題意図ではないでしょうか?
4
4
 
5
5
 
6
6
 
@@ -37,3 +37,7 @@
37
37
 
38
38
 
39
39
  となります。
40
+
41
+
42
+
43
+ コードにしたければ、上記を愚直にコードにすればよく、訓練サンプル複数の場合への応用も容易です。

1

一部修正

2021/06/26 00:19

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -14,11 +14,13 @@
14
14
 
15
15
 
16
16
 
17
- に単純に初期値として
17
+ に単純に、
18
18
 
19
19
 
20
20
 
21
21
  (a, b) = (1.0, 0.0) * 初期値
22
+
23
+ η = 0.1
22
24
 
23
25
  N = 1 ※ 訓練サンプルが1つ
24
26