【问题标题】:How to encode / decode scalar values如何编码/解码标量值
【发布时间】:2016-04-27 09:40:01
【问题描述】:

我正在尝试使用 lstm 编码器来读取 ebay 拍卖数据(包括标量输入)并预测拍卖产品的最终价格。

因此,无论是在编码器端还是在解码器端,我都需要使用标量(大小、数量,最重要的是价格)。

我将如何编码/解码标量?它们具有各种范围和大小。

【问题讨论】:

    标签: encoding machine-learning tensorflow


    【解决方案1】:

    我不确定 LSTM 是否适合您。但是,如果您想这样做,可以使用多对一模型。

    您需要以相同的格式进行输入,以便将它们输入到每个 LSTM 单元中。

    最后,使用最后一个单元格的输出。

    幻灯片来自http://cs231n.stanford.edu/

    并不完全相同,但您可以在https://github.com/nlintz/TensorFlow-Tutorials/blob/master/7_lstm.py 找到类似的示例。 (28x28 图像到 10 个标签)

    【讨论】:

    • 感谢宋金。但是,我的问题不是选择模型,而是选择编码。想象一下(正确的)结果是 6.30 或 120 或 123,555。所以我希望多对一模型的输出能够给出这个范围内的标量。我将如何组织这些数字。我希望输出单元本身给出那个数字吗?我猜不是,因为输出的维度通常是 -1 到 1 或类似,对吧?
    • 您需要再添加一层 (output[-1]*W+b) 来预测从 -1 到 1 的值或您想要的任何值。像这样: return tf.matmul(outputs[-1], W) + B, lstm.state_size # 状态大小以初始化 stat。根据 W,您可以获得一个标量值。
    • 感谢提示。似乎直截了当。虽然不能得到一个标量,但总是再次得到张量。试图点积...
    • 尝试得到一维张量。 :-)
    • 还在他的身边。我的做法是听从你的建议。我采用正常的 seq2seq 模型,然后在编码结束时“窃取”隐藏状态,以预测价格范围。到目前为止在合成数据上工作。但是,我还需要 seq2seq-decoder 输出,并且在注意时效果最好,有效地绕过多对一退出(=编码结束时的隐藏状态)。我发布了一个特定的问题,如果您对此进行研究会很高兴 (stackoverflow.com/questions/37309086/…)。谢谢一堆
    猜你喜欢
    • 2015-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    相关资源
    最近更新 更多