【问题标题】:How to get started with Tensorflow如何开始使用 TensorFlow
【发布时间】:2017-07-17 09:42:04
【问题描述】:

我对 Tensorflow 还是很陌生,我目前正在通过给定的网站 https://www.tensorflow.org/get_started/get_started 学习它

手册上说:

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

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

  • q1.“我们还不知道它有多好。”,我不明白这个 引用,因为创建的简单模型是一个简单的斜率方程,然后 它应该训练什么?,因为模型是一个简单的斜坡。是吗 需要一个完美的坡度还是什么?我为什么要训练那个模型和 为了什么?
  • q2.什么是损失函数?是否使用损失函数来确定 模型的准确性?为什么需要它?
  • 第三季度。我不明白“'对三角洲的平方求和'之间 当前模型和提供的数据。”
  • 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 的初学者,很难理解它。

【问题讨论】:

    标签: python-3.x tensorflow


    【解决方案1】:

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

    2) 任何机器学习上下文中的损失函数都代表您的模型错误。这通常意味着您的计算值与地面真实值的“距离”的函数。将其视为内部评估分数。您希望将损失降至最低,因此梯度和参数更改基于您的损失。

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

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

    【讨论】:

      【解决方案2】:

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

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

      它有两种用法:

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

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

      损失函数是 deltas 的总和,即:预期输出和实际输出之间的差异 (delta) 之和。

      我认为它的平方会放大算法产生的误差。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-31
        • 2019-01-21
        • 2018-07-13
        • 2016-03-31
        • 1970-01-01
        相关资源
        最近更新 更多