12|深度学习(中):如何用RNN预测激活率走势?
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了使用循环神经网络(RNN)预测激活率走势的技术。作者首先解释了RNN与其他神经网络模型的不同之处,强调了RNN的记忆功能对于处理依赖于上下文或历史信息的数据的重要性。详细介绍了数据集的特征和标签,以及时间序列数据的特点和构建特征的方法。在数据预处理部分,作者讲解了归一化缩放和构建特征集和标签集的步骤。进一步介绍了RNN的原理和适用场景,以及选择LSTM作为主要层结构的循环神经网络模型。训练模型并评估过程中,展示了损失曲线和模型预测结果。最后,强调了模型预测结果与实际走势的相近程度,并提出了进一步优化的可能性。整体而言,本文以易懂的语言介绍了RNN在预测激活率走势方面的应用,突出了时间序列数据的特点和处理方法,对读者了解RNN的记忆功能和处理时间序列数据具有指导意义。
《零基础实战机器学习》,新⼈⾸单¥59
全部留言(5)
- 最新
- 精选
- 在路上佳哥好,测试了下SimpleRNN和GRU算法,SimpleRNN算法的损失值会达到0.2,GRU算法的损失值只有0.04,所以GRU算法的预测结果非常漂亮,几乎和实际值重叠。像请教下老师,后面的课程会解释神经网络的中间层的参数含义吗?我会换不同的算法,为什么要又三层,每一次参数为什么这么设置,其实并不清楚。
作者回复: 嗯,神经网络的参数、原理细节,这里的确不是很深入。这里,我们讲到的程度是大概体会一下神经网络模型如何操作的。以此为基础,进一步学习。 我强烈推荐一本书:Keras之父François Chollet写的《Python深度学习》,这本书很容易读,而且权威。因为是Keras设计者自己对深度学习神经网络的理解,也是他写给初学者的。我认为应该拿来读一下。
2021-09-2733 - 一杯绿绿老师好,有个疑问,不太理解本讲案例中的“根据前60天的历史激活数数值预测未来激活数”与前面第7讲提到的“根据前三个月的RFM值预测一年的总消费额”这两个案例的不同,看着感觉都是根据历史信息预测未来,那么第7讲的案例也可以用 RNN来解决吗?
作者回复: 正如另外一个同学留言所解释的那样,这两个案例在表面上确实都是基于历史数据来预测未来的信息,但它们的核心问题和数据性质是有所不同的。 案例差异 “根据前60天的历史激活数数值预测未来激活数”:这个案例是典型的时序数据预测问题,每天的激活数都可能受到前面若干天激活数的影响,形成一个序列的依赖关系。 “根据前三个月的RFM值预测一年的总消费额”:这个案例更多地是基于客户的行为特征(RFM值)进行预测,不同的客户可能在相同的三个月时间内有不同的RFM值,但这个RFM值与其在未来一年的消费行为存在一定的关联。 是否可以用RNN处理第7讲的案例 理论上,只要数据之间存在序列依赖性,RNN都是可以尝试的。但在第7讲的案例中,RFM值更多地是描述客户的购买行为,而不是时间序列的连续性。尽管如此,如果你能转化这个问题为时序问题(例如,连续三个月的RFM变化来预测下一年的总消费),那么使用RNN是可能的。 但通常情况下,我们可能更倾向于使用其他的机器学习模型来处理RFM预测的问题,如回归分析、决策树或集成学习方法。 RNN时序数据集构建 时序数据处理中,为了训练RNN模型,我们常常会使用滑动窗口的方式构建数据集。 以“前60天的历史激活数数值预测未来激活数”为例,如果我们有200天的数据,那么可以构建如下的数据对: 1-60天的数据来预测第61天的数据 2-61天的数据来预测第62天的数据 3-62天的数据来预测第63天的数据 ... 139-198天的数据来预测第199天的数据 140-199天的数据来预测第200天的数据 这样,我们就构建了一个包含140个样本的数据集,每个样本有60个特征,可以用来训练RNN模型。 希望这可以帮助你更好地理解这两个案例的区别以及RNN时序数据集的构建方法。
2022-03-1921 - 纯新手求轻喷请问老师,如果我的业务受到时间影响非常大(如电商促销节点、气候变化),能否考虑把时间数据加到模型里呢。 如果我有过去n年的历史数据,想预测本年度4季度的数据,如何能将同期的数据,在一个整年度上利用起来。
作者回复: 对的,时序数据集完全可以加入历史数据信息,也可以把时间作为特征输入模型,这样的模型才更加完整。 网上有很多值得参考的带时间特征的LSTM处理样例,下面是我随便找的一个,你可以参考。 https://www.kaggle.com/ieshaan/delhi-climate-time-series-lstm
2021-10-09 - 纯新手求轻喷请问老师,如何对未知数据预测呢。上述案例中,预测输入的数据,是测试集数据呀
作者回复: 对的,这是这个示例本身的问题。它在预测曲线的时候,是使用了要预测的时刻的过去50个时间点的特征,严格说,的确可以算作数据泄露。那么你可以学习下面这样的数据集,其中包含日期,和相关日期的温度、湿度、气压、风速等多个特征,这样,就有很多的信息来根据日期来预测未来某个特定日期的标签。(不过,也很难知道未来某天的风速、湿度、气压。。。对吧)。因此,我整体感觉预测未来的确似乎是个伪命题。。。。要预测未来,还得先了解未来,这怎么可能呢。 https://www.kaggle.com/sumanthvrao/daily-climate-time-series-data
2021-10-083 - 纯新手求轻喷老师,请问下,最后预测的时候,预测的时候,输入的数据是x_test,x_test 里面是包含了已知的真实数据的,这是怎么理解的呢?
作者回复: 我在另外一个类似的问题的回答中给出了我的一些看法,和一个其它类型的时序数据集。
2021-10-08