機械学習とTensorFlow
機械学習の大まかな手順
1.教師データから未知のデータを予測する式を立てる.
2.数式に含まれるパラメータを評価する損失関数を用意する.
3.損失関数を最小にするパラメータを用意する.(勾配ベクトルが小さくなるように移動)
で表され
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は引数の損失関数を最小化する
これで損失関数を最小にするパラメータの値が決定できる.