从代码到产品:遇到的第一个坑:“失败”的模型

为什么一个“失败”的模型值得写一篇文章?

在灵析项目里,我花了很长时间搭LSTM模型。第一次训练完,准确率只有43%。这差不多等于扔硬币。
但正是这个“失败”的模型,帮我搞清楚了最该关心的事。这篇文章记录了我从43%到RMSE降低31%的完整过程。

第一阶段:用收盘价训练,准确率只有43%

我的第一个LSTM模型只用了收盘价这一个特征。从Tushare拉数据,归一化,滑窗(过去30天预测未来5天),训练,评估——然后看到43%的准确率。

我一度怀疑数据出了问题,但检查后发现数据是正常的。问题在于这个模型太“盲”了——它只知道价格在涨跌,不知道价格背后的估值含义。

第二阶段:为什么PE/PB分位才是关键

我把43%的预测结果画出来看,发现了一个规律:PE高的时候模型经常“乐观”,PE低的时候模型反而“悲观”,但它根本不知道PE是什么。它只看到了数字,没看到数字背后的含义。

同样的价格,PE=10和PE=30,意义完全不同。

模型只知道“价格涨了”,不知道“价格涨了但估值依然便宜”。这就是关键特征的缺失。

第三阶段:引入PE/PB分位特征后的效果

我把输入特征从1维扩展到5维:收盘价、涨跌幅、成交量、PE分位、PB分位。重新训练后,RMSE从21.14降到14.56,误差降低了31%。

 
指标基线(只用收盘价)增强(引入PE/PB分位)变化
RMSE 21.14 14.56 ↓ 31%
MAE 6.37 5.48 ↓ 14%

这不是模型变聪明了,是我给了它正确的信息。

第四阶段:反思

从43%到RMSE降31%

如果我只是一个程序员,我可能会继续调参、换模型结构。但换个角色,我得先问“为什么模型看不懂估值”。答案不是参数问题,是特征问题。

产品经理的核心工作是判断“什么信息对用户决策有用”,然后确保这些信息被正确使用。

模型优化不是单纯调参数,而是先理解模型的盲区,再补上缺失的信息。对AI产品经理来说,这个思路比写代码更重要。

如果让我重来一次

我会在第一次训练之前,先想清楚两个问题:

  1. 用户到底需要模型回答什么问题?→ 判断估值区间,而不是预测精确价格。

  2. 模型缺少什么信息才能回答这个问题?→ PE/PB分位,而不是收盘价。

这两个问题想清楚,模型效果至少能省掉一半的试错时间。

总结

43%不是失败,是一个信号。它在告诉我:“你给的数据不够。”每个遇到低准确率的时刻,都是一个重新理解用户需求的机会。准确率低不是终点,而是一个值得深入理解的起点——你可能会因此发现一个真正的产品机会。

 

posted @ 2026-06-23 08:44  竹雨禅月  阅读(1)  评论(0)    收藏  举报