flag兑现这次Deep AR 模型用于PHM2012工况1轴承数据集的RUL预测
Deep AR模型
最早接触DeepAR模型是2020年在简书看到的一篇大佬的博客:https://www.jianshu.com/p/8a900b9ad3d3
这位大佬非常详细的讲解了Deep AR的代码实战操作。受大佬的启发,并结合在github上面的搜集的资料,最终本人完成了对Deep AR的探究,并且成功应用于PHM 2012轴承的RUL( ps:不要问我文章在哪,我没写也没投。主要是Deep AR有较大的局限性,同时我有其他的研究方向)。后续我会一个一个地道来。
模型代码:
在大佬的csdn也有:https://blog.csdn.net/weixin_45073190/article/details/1049515041
我这里就只添加一个GaussianLoss,因为大佬的是log_gaussian_loss,有想练练手的可以尝试这两种损失函数
import tensorflow as tf
from tensorflow.keras.layers import (Input, LSTM, LSTMCell)
class DeepAR(tf.keras.layers.Layer):
"""
DeepAR 模型
"""
def __init__(self, lstm_units):
super().__init__()
self.lstm_units = lstm_units
# 可以使用多层LSTM
self.lstm_1 = tf.keras.layers.LSTM(self.lstm_units,return_sequences=True )
self.lstm_2 = tf.keras.layers.LSTM(self.lstm_units,return_sequences=False)
self.dense_mu = tf.keras.layers.Dense(1,activation='sigmoid')
self.dense_sigma = tf.keras.layers.Dense(1,activation="softplus")
def call(self, inputs, initial_state=None):
outputs = self.lstm_1(inputs)
outputs = self.lstm_2(outputs)
mu = self.dense_mu(outputs)
sigma = self.dense_sigma(outputs)
return [mu, sigma]
class GaussianLoss(object):
def __init__(self):
pass
def __call__(self, y_true, y_pred, sigma):
return tf.reduce_mean(0.5 * tf.math.log(sigma)
0.5 * tf.math.divide(tf.math.square(y_true-y_pred),sigma)) 1e-6 6
模型打印:
Model: "model_5"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
input_6 (InputLayer) [(None, 36, 128)] 0
_________________________________________________________________
deep_ar_5 (DeepAR) [(None, 1), (None, 1)] 11426
=================================================================
Total params: 11,426
Trainable params: 11,426
Non-trainable params: 0
_________________________________________________________________
1.直接将特征输入到Deep AR模型进行RUL预测
训练集:
整体的训练效果一般,并且难以充分训练。再来看看测试集轴承,(测试是full,不是截断的):
轴承1-3
轴承1-4
轴承1-5
轴承1-6
轴承1-7
2.将Deep AR应用于HI的后处理
首先通过一个神经网络模型得到每个轴承的健康指标HI,然后采用Deep AR对测试集(截断的数据)健康指标进行预测
轴承1-3
轴承1-6
总结
总体上来讲,Deep AR可能对数据量有一定的要求,另外,其运行过程的损失函数不稳定,波动很大,不像常规的loss保持下降趋势。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfhaih
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01