原文:
Deep Recurrent Neural Networks for TimeSeries Prediction
文章简介内容和后面内容极大重合,有点不知所云
感觉前面废话有点多
文章内容很晦涩
增加隐藏层or增加反馈范围都会提高erro下降的速度
数据集:癫痫数据
(epileptic seizure suppression electro-stimulator)
癫痫发作是一种异常现象,特征是:简短、偶发的急剧幅度变化
Detection算法探索从EEG信号中提取的特征
输入向量: uk
特征向量: vk
内部状态: xk
转换函数: f ,且有, xk+1=f(xk,vk)
度量函数: h ,且有, zk^=h(xk,vk)
要想定义内部变量 xk ,尝试满足马尔科夫条件: P(xk|vk,vk−1,...,v0)=P(zk|xk,vk)
通常,预测算法的参数需要通过训练阶段来确定
两种训练方式:online & offline
offline:随着参数变化,offline训练需要重复(或者连续并行运行),同时detection算法需要根据新的参数更新
online:可以连续增长的训练自己,因此很有适应性
本文提及的framework:
输入序列: U[k+1]={u1,u2,...,uk+1}
观测序列: Z[k]={z1,z2,...,zk} , zi=h(xi,ui) ,其中 h 度量函数已知, xi 不可观测
x^k+1|k ,表示给定 U[k+1] 和 Z[k] ,估计 xk+1
首先预测 x^k+1|k ,当得到 zk+1 ,计算 {x^k+1|k+1,x^k|k+1,...,x^k−q+2|k+1} 作为predict-correct framework
predict-correct framework可以go back并且计算比 x^k−q+2|k−q+1 改进的估计 x^k−q+2|k+1 ,因为当在 k+1 时候发生了更加易于检测的事件,同时 zk−q+2 未知或信息不够,则可以用它来做正确的映射
深度神经网络可以自动的抽取相关高层次特征,不必手动的工程特征提取,避免不适任务的特征引起的性能丢失
网络深度和网络合并反馈都会增加训练的难度
DNN训练方法举例:
有监督的训练,结合或跟随不监督的预训练
这些训练方法的核心:
反向传播梯度下降
DNN训练方法举例:Back-Propagation Through Time(BPTT)
有点类似Feed-Forward networks
但是BPTT在误差超平面容易陷入浅层局部最优,传统的,为了避免这种情况,单元activation and/or 权重更新是随机的,并且两者是被赋值的,而不是计算出来的值。这些值的来源为适合的分布+时刻下的分布的计算值
很多问题都是在将非线性的当成线性来近似
如果从外部输入的转换穿过层的集合,到最后的输出被考虑了,那么这个转换就代表一个大程度的非线性
本文工作贡献
(1)DRNN作为一个统一的解决方案,可以自动提取相关变量,自动构建内部变量、预测时间序列
(2)多隐藏层、多法相传播的理论推演
(3)训练DRNN的方法:Back-Propagation 穿过Time-and-Space的训练方法
(4)权重计算的动态规划公式
数据:EEG记录的数据
记录进行了band-pass滤波处理,数字化
模型表示可以基于傅里叶变换
输入向量: uk
特征向量: vk
内部状态: xk
转换函数: f ,且有, xk+1=f(xk,vk)
度量函数: h ,且有, zk^=h(xk,vk)
要想定义内部变量 xk ,尝试满足马尔科夫条件: P(xk|vk,vk−1,...,v0)=P(zk|xk,vk)
offline(batch)训练算法:
给定特征向量 xi 和目标 zi 对 {(xi,zi)}i=Ni=1
训练遍历所有数据集,确定detection参数
online(incremental)训练算法:
用特定的初始值,初始化参数
给定单特征向量 xi 或者单特征目标向量 zi 对 (xi,zi)
如果只给定一个特征向量,只产生一个预测 zi^
如果也给定一个目标特征向量对 (xi,zi) ,则也更新其参数
度量:
SPC: specificity
SEN: sensitivity
ADR: aerage detection rate
SEN= Y+/(Y++N−)
SPC= N+/(N++Y−)
ADR=(SPC+SEN)/2
其中:
Y+ =true positive
N+ =true negtive
Y− =false positive
N− =false negtive
问题之一:
计算参数化函数的参数 w={wi}i=Mi=1 ,以便当应用训练输入数据 U={uj}j=Nj=1 ,会返回一些从 Z^={z^j=fw(Xj)}j=Nj=1 计算来的和输出 Z={zj}j=Nj=1 计算来的度量数据,使这些度量最优
机器学习中加入正则化是为了避免过拟合
ridge-regression:岭回归
w^=(UTU+λI)−1UTy
以上提及的offline训练方法
前提假设:
- zj 线性依赖于 uj
- uj 是i.i.d,即独立同分布
- uj 的components不是线性相关的
- 给定的训练对 (uj,zj) 不受噪声影响
- objective and regularization as in 岭回归???
综上,对于本文的癫痫数据集,online训练法才是合适的
当 uj 不是正交的时候,有方法使之正交
NN可以快速的找到非线性映射
DNN训练方法举例:
有监督的训练,结合或跟随不监督的预训练
无监督的预训练旨在最小化energy,因为低能量状态捕捉数据的structure
后面的训练旨在捕捉输入输出的理想映射
这些训练方法的核心:
反向传播梯度下降
Feed-Forward之接收前一层的输入,因此无法处理时间序列推理
计算得到k时刻的权重,再反过来更新k-1时刻的权重???
add a bias ???
bias = 1 ???
跨时间和空间:???
跨时间=前面的时刻的hidden layer影响后面时刻
跨空间=多层hidden layer, distance不一样
可见层、隐藏层、输出层均只有一个单元
可见层和输出层的unit,其输入来源:
(1)outside or 前面的层
(2)一个bias输入
隐藏层unit,输入来源:
(1)可见层
(2)一个bias输入
(3)前一时刻自己的输出
网络中只有一个输入和输出
从三个维度讨论RNN:层里面的unit数目、隐藏层数目、反向传播的instants数