当前位置: 首页 > news >正文

向自己做网站徐州网站制作系统

向自己做网站,徐州网站制作系统,平面设计做名片都去那个网站,青岛网站开发培训价格1D CNN 处理一维信号具有显著优势,已在很多领域得到初步应用: 心电图监测:将1DCNN应用于心脏病监测,其方法是针对每一个心脏病人的,即对于每个心律失常患者使用该患者特有的训练数据,专门训练出一个紧凑的…

1D CNN 处理一维信号具有显著优势,已在很多领域得到初步应用:

心电图监测:将1DCNN应用于心脏病监测,其方法是针对每一个心脏病人的,即对于每个心律失常患者使用该患者特有的训练数据,专门训练出一个紧凑的1DCNN对心脏跳动数据进行实时监测,并分为起源于窦性模式的搏动、室上异位搏动、室性异位搏动、融合搏动和不可归类的节拍等5个心脏跳动状态。

建筑结构健康监测:有学者将1DCNN应用于建筑结构健康监测,通过在5m×6m的试验结构件上安装30个加速度计,每个加速度计负责监测其所属区域,结构的损失通过松动连接螺栓来模拟,该基于1DCNN的损伤监测方法可以在大量的单损伤和双损伤情况下进行性能测试,均取得了优异的监测效果;有学者将1DCNN和无线传感网络相结合,使其能够分析由三轴无线传感器测得的加速度信号,这样做是为了确定损伤敏感特征更加明显的方向。针对实验室结构引入的多种损伤场景,对改进的损伤检测技术进行了测试,试验结果表明,该方法能够从结构的环境振动响应中直接检测和定位损伤。

人体运动识别:有学者采用1DCNN提取可穿戴设备信号中人体运动特征,对人体不同的运动如骑车、打电话、吃早饭等进行准确识别;有学者利用三轴加速度计采集的数据,先经过巴特沃斯滤波器进行低通滤波,然后直接输入1DCNN进行人体行为识别,在11种人体活动的识别中平均准确率达到了98.7%。

语音识别:有学者针对2DCNN不能很好地反映出语音信号的一维特性,提出采用1DCNN进行车载语音识别,对比试验结果表明,1DCNN的识别准确率比2DCNN提高了10%—20%,在噪声环境下的泛化性能也明显优于后者。

鉴于此,提出一种基于1D-CNN的轴承故障诊断方法,并进行了TSNE特征可视化,运行环境为Python,采用部分西储大学轴承数据集,采用模块如下:

import scipy.io # To use the '.mat' files
import seaborn as sns
import numpy as np
import pandas as pd
import os
import matplotlib.pyplot as plt
from tensorflow.keras.models import Sequential,Model
from tensorflow.keras.layers import Input,Dense, Dropout, Flatten
from tensorflow.keras.layers import Conv2D, MaxPooling2D,Conv1D,MaxPooling1D
from sklearn.metrics import confusion_matrix
from sklearn.manifold import TSNE

重要模块版本如下:

tensorflow版本2.8.0

keras版本2.8.0

sklearn版本1.0.2

部分代码如下:

#############################################################CWRU_Bearing_1D_CNN基于1D-CNN德轴承故障识别
import scipy.io
import seaborn as sns
import numpy as np
import pandas as pd
import os
import matplotlib.pyplot as plt
#加载轴承振动数据前处理生成的0hp_all_faults.csv文件
df = pd.read_csv('0hp_all_faults.csv')from sklearn.preprocessing import LabelEncoder
from tensorflow.keras.utils import to_categoricalwin_len=784  #窗口长度
stride=300   #移动步长#设置训练数据X及标签Y
X=[]
Y=[]for k in df['fault'].unique():df_temp_2 = df[df['fault']==k]for i in np.arange(0,len(df_temp_2)-(win_len),stride):temp = df_temp_2.iloc[i:i+win_len,:-1].valuestemp = temp.reshape((1,-1))X.append(temp)Y.append(df_temp_2.iloc[i+win_len,-1])X=np.array(X)
X=X.reshape((X.shape[0],-1,1))
#X = np.repeat(X, 3, axis=3) # To repeat into 3 chanel formatY=np.array(Y)
encoder= LabelEncoder()
encoder.fit(Y)
encoded_Y = encoder.transform(Y)
OHE_Y = to_categorical(encoded_Y)X.shape
#训练集和测试集划分
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,OHE_Y,test_size=0.3,shuffle=True)from tensorflow.keras.models import Sequential,Model
from tensorflow.keras.layers import Input,Dense, Dropout, Flatten
from tensorflow.keras.layers import Conv2D, MaxPooling2D,Conv1D,MaxPooling1D#构建1D-CNN网络
no_classes = len(df['fault'].unique())cnn_model = Sequential()
cnn_model.add(Conv1D(filters=64, kernel_size=100, activation='relu', input_shape=(X.shape[1],X.shape[2])))
cnn_model.add(Conv1D(filters=32, kernel_size=50, activation='relu'))cnn_model.add(MaxPooling1D(pool_size=4))
cnn_model.add(Flatten())
cnn_model.add(Dense(100, activation='relu'))cnn_model.add(Dense(no_classes, activation='softmax'))cnn_model.summary()cnn_model.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])#开始训练网络
batch_size =300
epochs = 10
history = cnn_model.fit(X_train, y_train, batch_size=batch_size,epochs=epochs,verbose=1,validation_data=(X_test,y_test),shuffle=True)#绘制混淆矩阵
def inv_Transform_result(y_pred):    y_pred = y_pred.argmax(axis=1)y_pred = encoder.inverse_transform(y_pred)return y_predy_pred=cnn_model.predict(X_test)Y_pred=inv_Transform_result(y_pred)
Y_test = inv_Transform_result(y_test)from sklearn.metrics import confusion_matrixplt.figure(figsize=(10,10))
cm = confusion_matrix(Y_test, Y_pred,normalize='true')
f = sns.heatmap(cm, annot=True,xticklabels=encoder.classes_,yticklabels=encoder.classes_)
plt.show()dummy_cnn = Model(inputs=cnn_model.input,outputs=cnn_model.layers[5].output)
y_viz = dummy_cnn.predict(X_train)# TSNE可视化
from sklearn.manifold import TSNEX_t_sne = TSNE(n_components=2, learning_rate='auto',verbose=1, perplexity=40, n_iter=300).fit_transform(y_viz)tSNEdf = pd.DataFrame(data = X_t_sne, columns = ['T-SNE component 1', 'T-SNE component 2'])tSNEdf['Fault']=inv_Transform_result(y_train)#绘制第一主成分和第二主成分
fig, ax = plt.subplots(figsize=(10,10))
sns.scatterplot(x=tSNEdf['T-SNE component 1'],y=tSNEdf['T-SNE component 2'],hue='Fault',data=tSNEdf,legend="full",alpha=0.3)
plt.show()

部分出图如下:

完整代码:Python环境下基于1D-CNN的轴承故障诊断及TSNE特征可视化

工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。

擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

http://www.yayakq.cn/news/857531/

相关文章:

  • 河南省住房城乡建设厅网站公众号开发板如何绑定视频号
  • 网站制作业务二次开发创造作用
  • 事业单位建立网站北京建设协会网站首页
  • 做网站可以用什么语言网站代码查看
  • 做响应式网站兼容哪几个尺寸高新区微网站建设
  • 网站设计开发文档模板下载网站管理员可控的关键节点
  • 太原北京网站建设公司哪家好免费中文网页模板
  • 我的世界做图片的网站东莞营销型网站建设找火速
  • 合肥网站建设创优涞水县住房和城乡建设局网站
  • 雅江网站建设网站开发 flex
  • 如何将网站开发成微信小程序国外设计网站怎么登陆
  • 大名网站建设费用简单的网站
  • 做网站主页上主要放哪些内容承接网站建设
  • 动易官方网站做瑞士网站
  • 陕西省建设局网站wordpress新闻
  • 专业制作彩铃网站成都微信网站建设报价
  • 网页美工设计的要点分别是什么seo的主要内容
  • 学做网站和推广要多久微信小程序公众平台
  • 给网站写教案做课件一节课多少钱如何更新网站快照
  • 网页设计软件官网模板网站网站做联盟收入
  • 企业网站建设要点怎么建立一个网站及推广
  • wordpress add_theme_page手机网站怎么做SEO优化
  • 做seo要先做网站么wordpress做网站
  • 有哪些品牌做打底衫的网站学生处网站建设招标公告
  • 营销网站建设创意上海企业vi设计公司
  • 如何建立网站是什么网站备案期限
  • 视频解析网站广州手工活外发加工网
  • 故城网站建设vue做网站看不到htmI吗
  • 网站建设与网页制作案例wordpress 注销按钮
  • 个人网站备案号被注销了云南做网站找谁