2017-07-17 11 views
-2

を始めるためにはどうすればTensorflowにかなり新しいです、と私は現在、https://www.tensorflow.org/get_started/get_startedはTensorflow

それがいることをマニュアルに言われて与えられたウェブサイトを通してそれを学んでいます:私たちはモデルを作成しました

しかし、私たちはそれがどれだけ良いのか分かりません。トレーニングデータのモデルを評価するには、目的の値を提供するためにy個のプレースホルダが必要であり、損失関数を記述する必要があります。

損失機能は、現在のモデルと提供されたデータとの距離を測定します。現在のモデルと提供されたデータの間のデルタの二乗を合計する線形回帰の標準損失モデルを使用します。 linear_model - yは、各要素が対応する例の誤差デルタであるベクトルを作成します。 tf.squareは、その誤差を二乗するものです。その後、我々はtf.reduce_sumを使用して、すべての例のエラーを抽象化し、単一のスカラーを作成するために、すべての乗誤差を合計:。」。

Q1 『我々は、それはまだどのように良いかわからない』、私はdidnの単純な勾配方程式と単純な勾配方程式があり、モデルは単純な勾配であるため、この見積もりを理解できません。何?

q2.whatはなぜそれが?

Q3が必要です。私は「"suコマンドを理解していなかった?損失関数は、モデルの精度を決定するために使用されていますか?損失関数でありますMS現在のモデルと提供されたデータとの間のデルタの二乗「

q4.Iは、コードのこの部分を、理解していなかった

このsquared_deltas = tf.square(linear_model - y)コードである:。

y = tf.placeholder(tf.float32) squared_deltas = tf.square(linear_model - y) loss = tf.reduce_sum(squared_deltas) print(sess.run(loss, {x:[1,2,3,4], y:[0,-1,-2,-3]}))

これは簡単な質問かもしれませんが、私はTensorflowの初心者であり、それを理解するのに苦労しています。

答えて

1

1)あなたは「なぜ簡単な問題のために訓練すべきなのですか」というのは正しいことですが、これは単なる導入部分です。どの機械学習タスクでも、あなたのモデルを評価してそれがどれほど優れているかを確認する必要があります。この場合、最適な線の係数を見つけるために訓練しようとしています。

2)機械学習コンテキストでの損失関数は、モデルでのエラーを表します。これは、通常、計算された値と地面の真理値との "距離"の関数を意味します。それを内部評価のスコアと考えてください。あなたはあなたの損失を最小限に抑えたいので、グラデーションとパラメータの変更はあなたの損失に基づいています。

3/4)あなたの質問は、最小二乗回帰ともっと関係します。ポイント間の最適な線を作成するための統計的方法です。デルタは、計算された値と真理値の差を表します。その目的は、四角形の面積を最小限に抑えることで誤差を最小限に抑え、最良のフィット感が得られるようにすることです。あなたはこのTensorflow例ではやっている

Least Squares Regression

は自動的に最小二乗法に基づくシステムを使用してベストフィットのラインの係数を学びます機械学習モデルを作成しています。

0

あなたの質問のほとんどすべてが損失機能に関係しています。

損失関数は、予想される(正しい)出力からの出力の距離を決定する関数です。

これは、2つの用途があります重量の微調整が良いか悪い方向

  • 確定精度(〜時間の数に行く助けている場合

    • ヘルプは、アルゴリズムが決定をあなたのシステムは正しい答えを推測する)

    損失関数は、デルタ魔法の合計である:予想される間のdiff(デルタ)の加算出力と実際の出力。

    私はそれがアルゴリズムが作るエラーを拡大するために四角いと思う。