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

紙媒体で管理するとなくなりがちなのでブログで進捗などを管理することにしました
※殆どの記事は自分自身のためだけにかいています.他人に見せられるレベルには至っていません...

機械学習とTensorFlow

機械学習の大まかな手順
1.教師データから未知のデータを予測する式を立てる.
2.数式に含まれるパラメータを評価する損失関数を用意する.
3.損失関数を最小にするパラメータを用意する.(勾配ベクトルが小さくなるように移動)

 y = Xw で表され
Xはトレーニングセットとして与えられたデータでPlaceholderという.
wは最適化を実施するパラメータでValiableという.

TensorFlowで表すと下のようになる.

x = tf.placeholder(tf.float32,[None,5])#xは浮動小数点32bitでn*5行列
w = tf.Valiable(tf.zeros([5,1]))#wは5*1行列で要素が全て0の行列
y = tf.matmul(x,w)
loss = tf.reduce_sum(tf.square(y-t))#損失関数の定義:reduce_sumはベクトルの要素を全て足す, squareはベクトルの各要素を二乗する
train_step = tf.train.AdamOptimizer().minimize(loss)#AdamOptimizerは損失関数を計算して勾配ベクトルの反対方向にパラメータを修正する,
#学習率εに相当するパラメータを自動的に修正してくれる,minimizeは引数の損失関数を最小化する

これで損失関数を最小にするパラメータの値が決定できる.