明日会社がなくなっても

明日会社がなくなっていても動揺しないように、情報を残していきたい

夏休み3日目の学習記録

08/14(月)、フードコードで勉強しました。

『TensorFlowで学ぶディープラーニング入門』

  • 3時間: 13:00-16:00
  • 26ページ(55-80P)
  • 1.3.3-2.1.2章

学んだこと

  • 最尤推定法:与えられたデータを正しく予測する確率を最大化する

  • tensorflow.initialize_all_variablesは2017/03/02以降に廃止された。替わりにglobal_variables_initializerを使うこと。

Python

[x**2 for x in range(0,5)] #⇒ [0,1,4,9,16]

質問

  • Windowsで数式から簡単にグラフを作成できるツールは??? MacならGrapher使うんだけどなー

  • numpy.linspaceの[linspace]は何の略?
    ⇒ 同僚から教えてもらった。Linear Space(線形空間)っぽい。名前と機能が合っていないが。

  • numpy.eye: なぜ「eye」という名前?
    ⇒同僚から教えてもらった。単位行列を生成するidentify関数と音を合わせたのかもしれない。 あと、numpyはMatlabユーザのことを考えていて、matlabだとeyeを使うらしい。 http://mathesaurus.sourceforge.net/matlab-numpy.html

感想

  • 『TensorFlowで学ぶディープラーニング入門』は数式に対する説明は丁寧だが、ソースに対する説明は不十分。 numpyのライブラリを知っていること前提のように思う。 2.1章 P71の以下のコードが全然分からなかった。
n0, mu0, variance0 = 20, [10, 11], 20
data0 = multivariate_normal(mu0, np.eye(2)*variance0 ,n0)
df0 = DataFrame(data0, columns=['x1','x2'])
df0['t'] = 0

説明は「t=0(非感染)にのデータを乱数で発生する」のみ。 このコードの説明はなくてもTensorflowは理解できるけど、自分は「20を平均値にして~」ぐらいの説明が欲しかった。

  • TensorFlowのplaceholder機能はすばらしいと思う。処理とデータが分かれて、コードの可読性があがりそう。

  • 共分散行列を調べるために、6年以上振りに「線形代数」の教科書を開いた。懐かしい。私はあの頃と比べて成長しているのかな?