プログラマのための ディープラーニングのしくみがわかる数学入門
増井敏克著「プログラマのための ディープラーニングのしくみがわかる数学入門」ソシム (2018/10/26)
www.amazon.co.jp/dp/480261179X
数列、統計、確率、ベクトル、行列、関数、微分、ロジスティック回帰、重回帰分析、勾配降下法、損失関数、誤差逆伝播法、モデル評価などを扱う。
網羅的な説明ではなく、概要をかいつまんで説明している本。
(正誤表、サンプルコード)
http://www.socym.co.jp/support/s-1179#ttlWrong
以下は、読後メモ
Counter …要素ごとの出現回数カウント
floor …小数点以下切り捨て
tf.Session …Session クラス
sess.run(a) …値の代入、計算実行、戻り値は a の値
np.linalg.norm() ... ノーム(vector の大きさ)計算
p138 上吹き出し部分
「勾配が急な方向に」は「勾配が緩やかな方向に」が正しい。
\[f(x,y)=x^2+y^2\] が正しい。
\[E=\frac{1}{2}*\bigl\{(t_1-z_1)^2+(t_2-z_2)^2\bigr\}\] が正しい。
\[\frac{∂E}{∂ω_{12}}=-(t_1-z_1)y_2\] が正しい。
・正解率は、正しくは、\[\frac{4+3}{4+2+1+3}=\frac{7}{10}\]
・再現率は、正しくは、\[\frac{4}{4+1}=\frac{4}{5}\]
・F値は、正しくは、\[\frac{2}{\frac{3}{2}+\frac{5}{4}}=\frac{8}{11}\]
「その和の\(\frac{1}{p}\)乗すなわち\(\sqrt[p]{\sum (value~of~each~cell)^p}\)を計算」が正しい。
len(f) == 3
len(f[0]) == 3 であることから、
x[i:i+3, j:j+3]
で示される「行列x のうち3行3列行列」を指す。
「L2正則化」が正しい。
td = R[S1[s, a], a] …とする必要がないか(遷移先 t+1)。
www.amazon.co.jp/dp/480261179X
数列、統計、確率、ベクトル、行列、関数、微分、ロジスティック回帰、重回帰分析、勾配降下法、損失関数、誤差逆伝播法、モデル評価などを扱う。
網羅的な説明ではなく、概要をかいつまんで説明している本。
(正誤表、サンプルコード)
http://www.socym.co.jp/support/s-1179#ttlWrong
以下は、読後メモ
Chapter 1 機械学習とニューラルネットワークの概要
Chapter 2 数列と統計、確率
p71 差集合
差集合は、正しくは、ある集合の中から別の集合に属する要素を取り去って得られる集合。集合の差は、交換法則を満たさない。p72 リスト要素の合計
sum …リスト要素の合計を計算p94 リストの追加等
append …リストの追加Counter …要素ごとの出現回数カウント
floor …小数点以下切り捨て
p96 尤度関数の実際の形
Chapter 3 複数の入出力をまとめて処理(ベクトルと行列)
p103 多次元配列
numpy.array …N次元配列を扱う関数p104 Tensor Flow
a = tf.constant() …a に定数 object を割り当てるための定義tf.Session …Session クラス
sess.run(a) …値の代入、計算実行、戻り値は a の値
p106 ベクトルの大きさ
np.linalg ... Numpy にあるパッケージ名np.linalg.norm() ... ノーム(vector の大きさ)計算
Chapter 4 最適な値に収束させる(関数と微分)
p138 上吹き出し部分
「勾配が急な方向に」は「勾配が緩やかな方向に」が正しい。p140 二変数関数 f(x,y)
\[y= x^2+y^2 \] は、
\[f(x,y)=x^2+y^2\] が正しい。
\[y= x^2+y^2 \] は、\[f(x,y)=x^2+y^2\] が正しい。
\[f(x,y)=x^2+y^2\] が正しい。
p142 練習問題⑦(連鎖律を用いた微分)解答例
\[f(x,y) = e^x + e^y\] のグラフChapter 5 学習して答えを導き出す(予測と最適化)
p150 損失関数 E の偏微分
p150 最小二乗法の散布図・回帰直線グラフ
p152 損失関数の偏微分
\(θ\) の\(j\) 番目の要素による損失関数\(E\)の偏微分p158 log E の式展開
p158 log E の a偏微分
p159 確率の偏微分
\(k\) 番目データがclass 1 に属する確率\(p_k\) の \(a\) 偏微分p170 計算過程
\[E=\frac{1}{2}*(t_1-z_1)^2+(t_2-z_2)^2\] とあるのは、\[E=\frac{1}{2}*\bigl\{(t_1-z_1)^2+(t_2-z_2)^2\bigr\}\] が正しい。
p170 計算過程
\[\frac{∂E}{∂ω_{12}}=(t_1-z_1)y_2\] とあるのは、\[\frac{∂E}{∂ω_{12}}=-(t_1-z_1)y_2\] が正しい。
p180 練習問題⑨(1)解答例
p180 練習問題⑨(2)(回帰平面)解答例
p180 練習問題⑨(3)(温度勾配式)解答例
p180 練習問題⑩(正解率、適合率、再現率、F値)解答例
p180→p247
・表下段B行 3,1 とあるのは、1,3 が正しい。・正解率は、正しくは、\[\frac{4+3}{4+2+1+3}=\frac{7}{10}\]
・再現率は、正しくは、\[\frac{4}{4+1}=\frac{4}{5}\]
・F値は、正しくは、\[\frac{2}{\frac{3}{2}+\frac{5}{4}}=\frac{8}{11}\]
Chapter 6 Neural Network から Deep Learning へ 精度の向上と画像への応用
p194 計算過程
「その和の\(\frac{1}{p}\) を計算」とあるのは、「その和の\(\frac{1}{p}\)乗すなわち\(\sqrt[p]{\sum (value~of~each~cell)^p}\)を計算」が正しい。
p195 末2行目
x[i:i+len(f), j:j+len(f[0])] は、len(f) == 3
len(f[0]) == 3 であることから、
x[i:i+3, j:j+3]
で示される「行列x のうち3行3列行列」を指す。
p205 吹き出し部分
「L2正規化」とあるのは、「L2正則化」が正しい。
p212 練習問題⑪(回転、白黒変換)
Chapter 7 強化学習への活用
p226 フィボナッチ数列
同コードでは、数列メモも、{0: 1, 1: 1, 2: 2, 3: 3, 4: 5, 5: 8, 6: 13, 7: 21, 8: 34, 9: 55…} と追加されていく。p237 5行目
td = R[s, a] …は、td = R[S1[s, a], a] …とする必要がないか(遷移先 t+1)。