機械学習と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は引数の損失関数を最小化する

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