如何开始使用Tensorflow

时间:2017-07-17 09:42:04

标签: python-3.x tensorflow

我是Tensorflow的新手,我目前通过给定的网站https://www.tensorflow.org/get_started/get_started

了解它

手册中说:

  

我们已经创建了一个模型,但我们还不知道它有多好。要评估训练数据的模型,我们需要一个y占位符来提供所需的值,我们需要编写一个损失函数。

     

损失函数测量当前模型与提供的数据之间的距离。我们将使用标准损失模型进行线性回归,该模型对当前模型与提供的数据之间的增量的平方进行求和。 linear_model - y创建一个向量,其中每个元素都是相应的示例的错误增量。我们调用tf.square来解决该错误。然后,我们将所有平方误差相加以创建单个标量,该标量使用tf.reduce_sum抽象所有示例的错误:"

  • q1。"我们不知道它有多好。",我不明白这个 引用因为创建的简单模型是一个简单的斜率方程 它应该训练什么?,因为模型是一个简单的斜坡。是吗 需要一个完美的斜坡或什么?为什么我要训练那个模型 为了什么?
  • q2.什么是损失函数?损失函数是用来确定的 模型的准确性?为什么需要?
  • Q3。我不明白" '对增量的平方和进行求和。之间 当前模型和提供的数据。"
  • q4。我没有理解这部分代码," 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的初学者并且很难理解它。

2 个答案:

答案 0 :(得分:1)

1)所以你说“我们为什么要训练一个简单的问题”是对的,但这只是一个介绍作品。对于任何机器学习任务,您需要评估您的模型以查看它有多好。在这种情况下,您只是尝试训练以找到最佳拟合线的系数。

2)任何机器学习环境中的损失函数都代表您的模型错误。这通常意味着您的计算值与地面实况值的“距离”的函数。将其视为内部评估分数。您希望最大限度地减少损失,因此渐变和参数更改将基于您的损失。

3/4)你的问题更多地与最小二乘回归有关。这是一种统计方法,可以在点之间创建最佳拟合线。增量表示计算值与真值之间的差异。目的是最小化正方形的面积,从而缩小误差并获得更好的最佳拟合线。

Least Squares Regression

您在此Tensorflow示例中所做的是创建一个机器学习模型,该模型将使用基于最小二乘的系统自动学习最佳拟合线的系数。

答案 1 :(得分:0)

几乎所有问题都与损失函数有关。

损失函数是一个函数,用于确定输出与预期(正确)输出之间的距离。

它有两个用法:

  • 帮助算法确定重量的调整是否有助于朝好的方向发展

  • 确定准确度(〜系统猜测正确答案的次数)

损失函数是增量的总和:增加预期输出和实际输出之间的差异(delta)。

我认为它是平方来放大算法产生的错误。