疑問点
私は現在オライリージャパンの「ゼロから作るDeep Learning」を勉強しています。
その中で引っ掛かったことがありました。それは
・この本に書かれているソフトマックス関数のコード
・Githubにある本書付属のソフトマックス関数のサンプルコード
上記の二つが違ったことです。
どのような動作の違いがあるのか、はたまた同一のものなのか。
教えて頂ければ幸いです。
よろしくお願いいたします。
ソースコード
- 本に書かれているソフトマックス関数
(「ゼロから作るDeep Learning」,P69~70)
def softmax(a): c = np.max(a) exp_a = np.exp(a - c) # オーバーフロー対策 sum_exp_a = np.sum(exp_a) y = exp_a / sum_exp_a return y
- Githubにあるソフトマックス関数
def softmax(x): if x.ndim == 2: x = x.T x = x - np.max(x, axis=0) y = np.exp(x) / np.sum(np.exp(x), axis=0) return y.T x = x - np.max(x) # オーバーフロー対策 return np.exp(x) / np.sum(np.exp(x))
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/22 11:59