时间序列LSTM实现 这个代码参考了结合我之前所学的lstm-seq2seq里所学习到的知识对其进行预测test_data = true_data[-int(test_size * len(true_data)):]是在干什么这两行代码的作用是将数据集true_data划分为训练集train_data和测试集test_data。
spark初步探索 今天我阅读了《基于spark下一代机器学习》这本书,里面spark与sql进行了结合,关于传统领域cv,nlp我认为使用大数据处理并不如python处理方便快捷。学习了里面的基础操作,之前学习的spl也可以进行相对的结合。在书中我会使用了XGBoost,LightGBM,等模型,并且学习了大数据经i行数据预处理的方法。
Informer:时间序列预测的新星 在时间序列预测的世界里,传统的模型如ARIMA和LSTM虽然经典,但在处理长序列数据时,往往会遇到效率和准确性的瓶颈。想象一下,如果你需要预测未来几个月甚至几年的数据,而这些数据又非常复杂,传统的模型可能会让你感到力不从心。这时,Informer 模型应运而生,它就像是一位高效的时间旅行者,能够快速而准确地预测未来。
时间序列预处理 我今天参考了这个1博客写下一些我的理解对缺失值进行填充,是对两个值之间的差进行平均但是时间序列也会有一些误差,比如季节的情况,容易影响,三次指数平滑可以优化这个问题三次指数平滑有累加和累乘两种方法,下面是累加的三次指数平滑pi=γ(xi-si)+(1-γ)pi-k 其中k为周期累加三次指数平滑的预测公式为: xi+h=si+hti+pi-k+(h mod k) 注意:数据之魅P88此处有错误,根据Wikipedia修正。
阅读medusa技术总结 在 LM Head 之后,添加多个解码头(如 Medusa Head 1, Medusa Head 2, ...),每个解码头都是一个用于预测不同位置后续词的前馈网络层(Feed-Forward Layer)。解码头的数量可以根据需要设定,通常为 3-5 个。MEDUSA不同于传统的transformer采取的自回归生成方法,采用了一种类似informer的策略,使用多个解码头来并行生成多个后续词的候选项,这样就不必严格按照逐词顺序生成。这样,通过并行处理,MEDUSA 大大减少了所需的解码步骤数量。
bert训练的一些技巧(rand() < self.skipgram_prb) 是一个条件表达式,用来判断是否进行skip-gram掩码操作。这种掩码操作通常用于自然语言处理中的数据增强,通过概率决定是否应用skip-gram掩码。
n-gram 掩码 停止词(如 "the", "is", "in" 等)在很多文本处理任务中没有实际意义,因此可以通过掩码将这些停止词排除在 n-gram 之外。例如,对于句子 "The cat is on the mat",可以掩码掉 "the" 和 "is" 这样的停止词,只生成有意义的 n-gram,如 "cat on", "on the mat"。例如,对于句子 "I have 2 cats.",可以掩码掉数字 "2" 和标点符号 ".",只生成 "I have", "have cats" 这样的 n-gram。
from functools import partial有什么用 是 Python 的functools模块中的一个非常有用的函数,它用于部分应用一个函数。这意味着你可以创建一个新的函数,这个新函数是原函数的一个子集,即预先填充了原函数的一些参数,并返回这个新函数。这样,当你调用这个新函数时,你只需要提供那些未被预先填充的参数即可。使用:通过预先填充一些参数,你可以轻松地重用同一个函数的不同变体,而无需编写额外的包装函数。:虽然 Python 允许函数参数有默认值,但使用partial可以让你在运行时动态地设置这些默认值,而不是在函数定义时静态地设置。