深度学习中遇到的预测上限问题

想问一下关于深度学习的一个问题:
在使用LSTM预测的时候,训练完成进行预测,发现数据存在一个上限,不是数据归一化(归一化0到1之间了)的问题,这个值大概在0.76左右,没有超过1,请问这是什么原因造成的。

img

这种情况可能是由于模型过拟合造成的。当模型过拟合时,它会在训练数据上表现得非常好,但在新数据上的表现就不那么好了。这可能会导致模型对某些值的预测出现上限,并且无法超过该值。

为了解决这个问题,您可以尝试以下方法:
1 增加训练数据量。这将有助于模型更好地泛化,并减少过拟合的风险。
2 减少模型的复杂度。过于复杂的模型往往更容易过拟合,因此您可以尝试减少模型中的层数或神经元数量。
3 添加正则化项。您可以使用L1或L2正则化来限制模型参数的大小,从而减少过拟合的风险。
4 使用dropout。dropout可以随机地在训练期间关闭一些神经元,在一定程度上减少过拟合的风险。

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7691000
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:【深度学习】基于LSTM时间序列的股票价格预测
  • 除此之外, 这篇博客: 浅谈归一化对于LSTM进行时间序列预测的影响(附归一化代码)中的 2.对于训练数据进行归一化之后。使用训练数据的最大最小值(训练数据的范围)对于测试数据进行归一化 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 引入新的归一化函数

    def Normalize2(list,low,high):
        list = np.array(list)
        delta = high - low
        if delta != 0:
            for i in range(0, len(list)):
                list[i] = (list[i]-low)/delta
        return  list
    

    进行实验

    #实验2
    train_n,train_low,train_high = Normalize(traindata)
    #更新的归一化
    test_n = Normalize2(testdata,train_low,train_high)
    print(train_n,test_n)
    #前一个值预测后一个值
    train_X,train_Y = Create_dataset(train_n,look_back=1)
    test_X,test_Y = Create_dataset(test_n,look_back=1)
    #额外添加一个维度使train_X,test_X变为三维
    train_X = np.reshape(train_X, (train_X.shape[0], train_X.shape[1], 1))
    test_X = np.reshape(test_X, (test_X.shape[0], test_X.shape[1], 1))
    
    model = Train_Model(train_X,train_Y)
    
    train_predict = model.predict(train_X)
    test_predict  = model.predict(test_X)
    
    #反归一化
    train_Y = FNoramlize(train_Y,train_low,train_high)
    train_predict = FNoramlize(train_predict,train_low,train_high)
    test_Y = FNoramlize(test_Y,train_low,train_high)
    test_predict = FNoramlize(test_predict,train_low,train_high)
    
    #进行绘图
    plt.subplot(121)
    plt.plot(train_Y)
    plt.plot(train_predict)
    plt.subplot(122)
    plt.plot(test_Y)
    plt.plot(test_predict)
    plt.show()
    

    这时预测结果如图
    在这里插入图片描述
    可以看到对于test数据预测结果发生了变化,周期没有改变,但是值发生了改变

  • 您还可以看一下 炮哥带你学老师的快速带你入门深度学习与实战课程中的 6.14、基于LSTM黄金价格预测实战先导小节, 巩固相关知识点