设计网站名字,东莞网站建设aj工作室,apt安装wordpress,和wordpress价值LSTM#xff08;long short term memory#xff0c;长短期记忆网络#xff09;是预测时间序列最常用的神经网络模型之一。但是这种神经网络模型相当复杂#xff0c;需要特定的结构、数据前期处理等操作。当在网上搜寻要学习的代码时#xff0c;很难将另一个程序员的代码合…LSTMlong short term memory长短期记忆网络是预测时间序列最常用的神经网络模型之一。但是这种神经网络模型相当复杂需要特定的结构、数据前期处理等操作。当在网上搜寻要学习的代码时很难将另一个程序员的代码合并到当前开展的项目中。对于LSTM尤其如此导致这些问题的关键在于数据准备的顺序数据存储的结构简单地说由于两个关键步骤有多种方法可以获得相同的结果因此每个程序员选择的路径可能有所不同。在这篇文章中将分析为什么我们必须下定决心使用一组特定的范例特别是在为冗长的LSTM编程时以便更好地调试和共享。LSTM 数据准备阶段本质上当我们为模型准备时间序列数据时需要执行以下关键步骤按时间分割数据集将数据集转换为有监督学习问题这两个步骤的执行顺序没有明确规定。因此一部分程序员先分割数据集然后将其转化为监督学习问题。而其他程序员则颠倒两者顺序。先分割数据集然后转换为有监督学习问题先转换为有监督学习问题然后分割数据集处理结果对比而言虽然处理的结果相同但是先分割数据集的方式所需代码更少。而部分程序员在编程过程中会使用第二种方式这就导致了社区中交流问题和代码时产生一定的差异和混乱。所以本文推荐优先分割数据集的方式。数据结构在我们决定了为LSTM准备数据的正确顺序之后我们需要选择使用哪种合适的数据结构。数据结构大致可以分为以下三种Pandas DataFrameNumpy ArraysListsPandas DataFramePandas 是一个可靠的且便于操作的数据处理库。而我们在编写人工智能算法时总是需要在进程的任何一步检查数据以便于调试。在 Pandas 库中可以很方便地做到这一点df.head()brPandas 示例谷歌股票通过 Pandas 可以打印出数据情况以检查在程序运行过程中是否出现错误。Pandas 示例一个模拟有监督学习问题的pandas dataframe相比较而言 List 则具有多维度、不易于理解的缺点对于调试工作不太友好。Numpy Arrays所有数据集或多或少都会转换为 NumPy Arrays 以进行编辑或缩放操作。例如如果我们希望在0和1之间缩放数据集可以使用名为MinMaxScaler的工具:from sklearn.preprocessing import MinMaxScaler#df is pandas DataFrame#conversion to numpy arraydf df.Valuesscaler MinMaxScaler(feature_range(0, 1))scaled_values scaler.fit_transform(df)将整个数据集作为NumPy Array 的问题在于无法详细查看其中的内容。不能够以列名称的方式查看数据将数据集转换为有监督的学习问题时这一点非常重要。并且对于算法的调试工作不够友好。幸运的是可以轻松地从NumPy Arrays 切换回 DataFrame。Lists将数据集的内容存储在多维列表中是十分低效的。以 Kaggle 上发表的一段代码为例List 示例一个四因素的时间序列数据存储不难发现通过 Lists 难以直接定位数据并查看数据并且不能够通过列名称的方式组织数据。总结规范化这个问题并不局限于LSTM但是在 LSTM 编程过程中十分普遍。缺乏规范化导致在实际编程中不能够直接一个接一个地调用程序或函数。现有的情况下代码看起来可能很简单而且很快但是搜索错误、调试代码是个很大的问题。在函数声明过程中输入数据的名称可能会更改因此当想要检查隐藏在代码中的变量的值或输出时往往不能简单地调用原始的数据名称必须使用它所涉及到的所有代码才能提取该数据的真实值。这就是本文推荐使用统一的数据框架的原因。通过统一使用 Pandas Dataframe可以轻松地检查每个函数地输出更好地进行算法调试工作。deephub 小组经验基本上所有的所有的编程语言的数字下标都是从0开始的这就使得我们在处理序列数据的时候需要改掉以 1为起始的现实中的习惯。并且在python处理分片的时候使用的是左闭右开绝大部分并不是全部的原则这也是导致了我们对时序数组的操作需要特别的注意。实际案例LSTM需要通过前30天的数据预测当天的数据处理输入数据的数组下标如何写有兴趣的小伙伴可以手动试试。作者Michelangiolo Mazzeschideephub翻译组oliver lee关注公众号 deephub-imba 获取更多AI干货