LSTM中y_test的作用是什么?为何仅输入x_test也能预测股价?
LSTM股票价格预测中y_train/y_test的作用及测试阶段无需y_test的原因
y_train的核心作用
- y_train是训练时的真实目标标签。以股票预测场景为例,你的x_train应该是一段连续的历史价格序列(比如前N天的收盘价),y_train就是这段序列之后第1天的真实收盘价。训练过程中,模型会把x_train输入后生成的预测值,和y_train做对比,通过损失函数计算两者的误差,再反向传播调整模型的权重参数,让模型逐渐学会“根据历史价格序列预测下一天价格”的规律。没有y_train,模型就没有校准方向,根本学不会有效的预测逻辑。
测试阶段无需y_test也能输出结果的原因
- 测试时输入x_test就能得到预测结果,是因为模型在训练阶段已经通过y_train把权重参数调整好了,具备了“输入历史序列→输出预测值”的能力。x_test是符合模型输入格式的历史序列,模型直接用训练好的权重做前向计算,就能生成对应的预测值——这个过程完全不需要真实标签y_test参与。
y_test的真正用途
- y_test不是用来让模型生成预测的,而是评估模型预测精度的参照标准。你可以把模型输出的预测值和y_test里的真实价格对比,计算MAE、RMSE这类误差指标,判断模型的预测准不准。如果不用y_test,你只能得到一串预测数字,但没法知道这些数字和真实情况的差距有多大。
附上你提供的相关截图:


内容的提问来源于stack exchange,提问作者Tung
相关产品推荐
相关产品推荐

