关于深度学习算法要求
论文研究内容:
盾构机(地铁隧道建设常用的掘进开挖岩土的机械,如图1所示)在地下岩土层掘进过程中,必然会引起路面地表的沉降甚至隆起。这里本论文涉及的地铁隧道工程是某城市两个地铁站之间的两条平行的盾构隧道(左、右线,即平常所说的上行线和下行线)。
现通过已有的(整理好的)数据,包括地下岩土层的物理力学参数、盾构机的掘进施工参数,一方面要研究地表的沉降变形(因变量)与岩土参数及盾构掘进参数(自变量)之间的关系,通过建模来做回归预测(对地表沉降的预测);另一方面,研究对序列数据(盾构掘进参数性能指标:FPI、TPI,它们是沿着盾构前进方向产生的序列数据)的预测。
具体思路过程和要求见下文。
图1 盾构机在城市地下不断挖土向前掘进
(图中的卡车是用来运土的,将盾构机挖掉的土运到外面去)
- 拟采用SVM(支持向量机)预测地表沉降
- 已准备的Excel表格数据(已按左线、右线分开整理),见下图2。其中,左、右线的数据一共有
158×2=316组。
图2 盾构隧道所涉及的影响参数及地表最大变形量表格示意
(注:表格中的“距离”不作为影响因素)
- 研究点/目标:建立一个影响因素变量(X1,X2,……,X14)与最大变形量(Y)的SVM预测模型。
输入参数:覆土深度X1、拱顶土层-强风化岩X2、……、注浆压力X14;
输出参数:最大变形量Y。
- 期望&要求:
- 如将左线和右线的两张表格合并成一个表格进行SVM回归预测是可行的,则本人将重新整理表格,在原有基础上增设一列即左线赋值为0,右线为1 。(如可行,请告知!)
- 为了减少数值变化范围,加快计算速度,要对数据进行归一化处理,即将数据映射到 [-1, 1] 之范围。(存在部分数据缺失,主要是最大变形量,Excel表格里已标示出,还请帮忙做数据清理。)
- SVM需要确定关键参数。当选择某一核函数(如高斯核函数)后,再通过一种智能算法(如粒子群算法、蚁群算法、遗传算法等)进行多次数据训练,以确定最优的惩罚参数C、核参数g。
(期望这个调参寻优过程能有一个较详细的文字和图表描述,这些将有助于并用于论文的撰写、汇报表达和解疑。)
- 最终确立一个最优的SVM模型后,能给出测试集的预测结果及其误差(包括:平方根均方误差RMSE、平均绝对误差MAE、平均相对误差MRE、拟合度R等)。
- 额外要求:
由于输入参数多达14个,若调参过程并不顺利(误差偏大),根据已翻阅的文献研究,不妨对这些输入参数先做PCA——主成分分析,再将得到的主成分(累计贡献率≥85%,控制在5个左右)作为new输入参数来进一步做SVM预测,按照已有研究的成果,这样做可能会提高预测结果的准确率,也会缩短计算机运行时间。
- 拟采用LSTM(长短期记忆网络)预测掘进性能参数FPI、TPI
- 已准备的Excel表格数据(已按左线、右线分开整理),见下图3。其中,左、右线的数据一共有
1275(左)+1276(右)=2551组。
图3 针对FPI、TPI整理计算的图表
- Tips:图3中最左列的“环号”的解释,就是盾构机在地下掘进挖土过程中同时也安装一圈一圈的管片,这样可以稳固周围的土体不至于塌陷。So一圈就对应于一个环号。
- 研究点/目标:正如LSTM通常用来对时间序列数据做预测,如股票、电价等预测,但本论文研究的不是“时间”序列数据,而是“里程”(距离)的序列数据FPI、TPI。同时要对比LSTM与传统RNN的预测结果,以表明LSTM的优越性。
- 期望&要求:
- 打算将倒数100个环号对应的FPI、TPI数据作为测试(验证)集,其余的当做训练集。(其实我不清楚这样安排是否合理,欢迎指点和讨论!)
- 首先很抱歉,本人对RNN/LSTM网络不甚精通,因此有不少疑问:
① 仅仅将FPI或者TPI的序列数据输入到RNN/LSTM中能直接训练并预测了吗?是否需要增加影响因素变量呢,就类似上面采用SVM的形式?(如需要,本人将着手整理进行添加)
② 由于表格已经按左线、右线分开整理了,这里也想知道是否能将两表合成一块?可是这样“环号”就重叠了,是不是有问题?
- 虽看过一些采用RNN/LSTM做时序数据预测的论文,但仍对模型结构安排、优化乃参数调节不求甚解,比如采用几层的LSTM叠加、基于梯度下降优化算法,还有学习率(learning rate)、批大小(batch size)、隐藏层输出维度或隐层节点数、模型训练的轮数(number of epoch)、时间步长(time step)、丢弃比例(dropout)、学习率衰减(learning rate decay)……(要凌乱了!懵逼)还望多费心思表述一下思路过程与讲解(Orz感动脸~)。
- 最终确立一个最优参数组合的LSTM模型后,能给出测试集的预测结果及其误差(包括:平方根均方误差RMSE、平均绝对误差MAE、平均相对误差MRE、拟合度R、趋势预测准确率DA等),同时传统的RNN模型亦然,用于对比。
- 编程语言:Python、R都可以。尽量不要用MATLAB,毕竟上不了台面……
- 时间要求:最晚10月1日(保证质量哈)