読者です 読者をやめる 読者になる 読者になる

not good but great

プログラミング、アート、映画・本の感想について書きます。

「Neural Network TensorFlow 入門講座」を読んだメモ

Machine Learning

日本語資料に助けを借りる。 Neural+TensorFlow.pdf - Google ドライブ

Gradient Descent

  • パラメータ修正で使われるGradient Descent(勾配降下法)
  • LossFunctionの変化が勾配
  • 勾配が下がるようにWとbを変化させる
  • 数学的にはLossFunctionをWで微分、bで微分

Loss Function

  • 線形回帰:データ群に一番近い直線
  • ニューラルネットワークにおいての学習はLossFunctionを最小にすること
  • y=ax+bとサンプル(xi,yi)の垂直方向の誤差はaxi+b-yi
  • 誤差は正負の値をとるので、二乗。二乗平均を見る
  • 二乗平均のLossFunctionをquadratic costという

  • 正解が一つなら誤差の定義は簡単

  • 数字の画像認識のように0~9まであるような時に利用される損失関数:クロスエントロピー

TensorFlow

グラフをプログラミング

  • TensorFlowはグラフの定義をプログラミング
  • WeightとbiasはBack propagationで後々修正を受けるので変数
  • images,weights,bias,hidden1いずれもテンソル
# tf=TensorFlow,nn= Neural Netの略
# 変数
tf.Variable

# 行列の積
tf.matmul

# Activatorの適用
# relu関数の場合
tf.nn.relu

hidden1 = tf.nn.relu(tf.matmul(images, weights) + biases

変数の初期化

# 乱数
W = tf.Variable(tf.random_normal([784, 10], stddev=0.35), name="weights")
# ゼロ
W = tf.Variable(tf.zeros([784, 10]))