MPS横浜で受講中
プログラミングも数学の基礎もド初学者なので苦戦中。(Markdown記法とTeX記法調べて後で書き直す予定)
##受講の動機:
最終的には適切なDeepLearningのライブラリ(tensorflow)などをカスタマイズして、仕事(広告の運用ツール)や遊び(センシングからの家電操作??)とかに活かしてみたいから。
##教科書(学習元)
@hi_saito さんのすごいまとめノート
(誤植(?)もしくは私の理解不足だったらすいません)
- 10Pの数式のv10はv01?
- 18P mumpy→numpy
- 21P 上の方のx00 x01 x02はx0 x1 x2かも。
- 23P 手計算のところのxの2行目は-0.5かも。
- 26Pのケース3の不等号記号の向きが逆かも。
2016/5/25現在の”わからないことリスト
1.1.1 第2回 スライドp36 すごいノートp14
重みのWが、行列Wという書き方とベクトルW(太文字)の転地(?)Tという2つの書き方していて、どちらも結果の数字としては同じだと思うのだけど何かこだわりはあるのかしら?
→第2回講義video1h23min~1h42min位がその解説
z0を導くために必要な重みv00,v01はy0,y1が2つだから、ベクトルだよね?は理解があやしい。2行1列の行列だったらそれを特別にベクトルだよねで今は理解。numpy.dot(w,x)で処理できる形にするための工夫かしら。
1.1.1 モジュールのmpl_toolkits.mplot3d の中の Axes3D
ここの描画の仕方
Z = se(0, sigmoid(W,1,B))
fig = plt.figure()
ax = Axes3D(fig)
ax.plot_wireframe(W,B,Z)```
2.numpy meshgridで何を実現しようとしているのか。
3.```if __name__ == '__main__':```
わかってなくて恥ずかしい。。。呼び出した関数?クラス?がmainだったら実行する??どういう意味だろ。
4.numpy.vectorize() なぜvectorizeをつかって配列をつくるのか?
5.self.w[0][0] これ行列wの要素の何をとってるんだろう。
→たぶん理解。
```w = [[3.0,],]
b = [[1.0,],]
alpha = 0.1
w=np.concatenate((w,b),axis=1)
w[0][0] += alpha```
numpyの配列[行][列]だからw[0][0]は配列wの1行1列目
wがどんな配列かというとbを列方向に組み入れてるから[3.0 1.0]という1行2列の行列。
で、この3.0というのが何かというとbitflip問題は入力は1か0の1次元で出力も1か0の1次元なので、
入力に対する重みwは1つ。その重みが3.0
今回はこのwを結果によってalpha分増やしたり減らしたいから、w[0][0]で1行1列目にある3.0をとりだして
alpha分足したり引いたりしている。
7.シグモイド関数について
1を1+”正の数(もしくは0)”でわっているから、最大で1、最少は限りなく0に近い数字になるだろうくらいは理解。
この”正の数(もしくは0)”というのがeの-αu乗 (a>0)ってどんな数字になるのだろうか。1/eのαu乗
だと思うんだけどどんな数なのかしら、、、(uはWx+bだからマイナスの可能性もあるのか。だと1/eのau乗はeのau乗になってaが大きいほど急激にシグモイド関数の結果は0に近づくのかな?)
8.f(u)のpythonでの使い方
9.微分を手で計算する方法
10.