偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

預(yù)測性維護(hù):使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)檢測傳感器故障

人工智能 深度學(xué)習(xí) 機(jī)器學(xué)習(xí)
在本文中,我們將看一個(gè)分類問題。我們將使用Keras創(chuàng)建一個(gè)卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型,并嘗試對結(jié)果進(jìn)行直觀的解釋。
 

[[266977]]

 

在機(jī)器學(xué)習(xí)中,隨著時(shí)間的推移,預(yù)測維修的話題變得越來越流行。

在本文中,我們將看一個(gè)分類問題。我們將使用Keras創(chuàng)建一個(gè)卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型,并嘗試對結(jié)果進(jìn)行直觀的解釋。

數(shù)據(jù)集

我決定從evergreen UCI repository(液壓系統(tǒng)的狀態(tài)監(jiān)測)中獲取機(jī)器學(xué)習(xí)數(shù)據(jù)集(https://archive.ics.uci.edu/ml/datasets/Condition+monitoring+of+hydraulic+systems#)。

該試驗(yàn)臺由一次工作回路和二級冷卻過濾回路組成,通過油箱連接。系統(tǒng)循環(huán)重復(fù)恒定負(fù)載循環(huán)(持續(xù)時(shí)間60秒)并測量過程值,例如壓力,體積流量和溫度,同時(shí)定量地改變四個(gè)液壓元件(冷卻器、閥門、泵和蓄能器)的狀態(tài)。

我們可以想象有一個(gè)液壓管道系統(tǒng),該系統(tǒng)周期性地接收到由于管道內(nèi)某種液體的轉(zhuǎn)變而產(chǎn)生的脈沖。此現(xiàn)象持續(xù)60秒,采用不同Hz頻率的傳感器(傳感器物理量單位采樣率,PS1 Pressure bar, PS2 Pressure bar, PS3 Pressure bar, PS4 Pressure bar, PS5 Pressure bar, PS6 Pressure bar, EPS1電機(jī)功率, FS1體積流量, FS2體積流量, TS1溫度, TS2溫度, TS3溫度, TS4溫度, VS1振動(dòng), VS1振動(dòng)、CE冷卻效率、CP冷卻功率、SE效率系數(shù))進(jìn)行測量。

我們的目的是預(yù)測組成管道的四個(gè)液壓元件的狀況。這些目標(biāo)條件值以整數(shù)值的形式注釋(易于編碼),并告訴我們每個(gè)周期特定組件是否接近失敗。

讀取數(shù)據(jù)

每個(gè)傳感器測量的值在特定的txt文件中可用,其中每一行以時(shí)間序列的形式占用一個(gè)周期。

我決定考慮來自溫度傳感器(TS1、TS2、TS3、TS4)的數(shù)據(jù),該傳感器的測量頻率為1 Hz(每一個(gè)cicle進(jìn)行60次觀察)。

  1. label = pd.read_csv('profile.txt', sep='    ', header=None) 
  2. data = ['TS1.txt','TS2.txt','TS3.txt','TS4.txt'
  3. df = pd.DataFrame() 
  4. #read and concat data 
  5. for txt in data: 
  6.  read_df = pd.read_csv(txt, sep='   ', header=None) 
  7.  df = df.append(read_df) 
  8. #scale data 
  9. def scale(df): 
  10.  return (df - df.mean(axis=0))/df.std(axis=0) 
  11. df = df.apply(scale) 

預(yù)測性維護(hù):使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)檢測傳感器故障

 

對于第一個(gè)周期,我們從溫度傳感器得到這些時(shí)間序列:

預(yù)測性維護(hù):使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)檢測傳感器故障

Temperature Series for cicle1 from TS1 TS2 TS3 TS4

機(jī)器學(xué)習(xí)模型

為了捕捉有趣的特征和不明顯的相關(guān)性,我們決定采用一維卷積神經(jīng)網(wǎng)絡(luò)(CNN)。這種機(jī)器學(xué)習(xí)模型非常適合對傳感器的時(shí)間序列進(jìn)行分析,并強(qiáng)制在短的固定長度段中重塑數(shù)據(jù)。

我選擇了Keras網(wǎng)站上描述的卷積神經(jīng)網(wǎng)絡(luò)(CNN),并更新了參數(shù)。該機(jī)器學(xué)習(xí)模型的建立是為了對制冷元件的狀態(tài)進(jìn)行分類,僅對給出溫度時(shí)間序列的數(shù)組形式(t_period x n_sensor for each single cycle)作為輸入。

  1. n_sensors, t_periods = 4, 60 
  2. model = Sequential() 
  3. model.add(Conv1D(100, 6, activation='relu', input_shape=(t_periods, n_sensors))) 
  4. model.add(Conv1D(100, 6, activation='relu')) 
  5. model.add(MaxPooling1D(3)) 
  6. model.add(Conv1D(160, 6, activation='relu')) 
  7. model.add(Conv1D(160, 6, activation='relu')) 
  8. model.add(GlobalAveragePooling1D()) 
  9. model.add(Dropout(0.5)) 
  10. model.add(Dense(3, activation='softmax')) 
  11. model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) 
  12. BATCH_SIZE, EPOCHS = 16, 10 
  13. history = model.fit(X_train, y_train, batch_size=BATCH_SIZE, 
  14.  epochs=EPOCHS, validation_split=0.2, verbose=1) 

預(yù)測性維護(hù):使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)檢測傳感器故障

 

在這種情況下只有10個(gè)epochs,我們能夠取得驚人的成果!

預(yù)測性維護(hù):使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)檢測傳感器故障

 

對測試數(shù)據(jù)進(jìn)行預(yù)測,機(jī)器學(xué)習(xí)模型達(dá)到0.9909的準(zhǔn)確度

預(yù)測性維護(hù):使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)檢測傳感器故障

 

因?yàn)橥ㄟ^這種方式,我們能夠檢測并防止系統(tǒng)中可能出現(xiàn)的故障。

可視化結(jié)果

如果我們想要對系統(tǒng)狀態(tài)有一個(gè)總體的了解,那么查看圖形表示可能會(huì)很有用。為了達(dá)到這一目標(biāo),我們重新利用我們在上面構(gòu)建的卷積神經(jīng)網(wǎng)絡(luò)(CNN)來制作一個(gè)解碼器,并從每個(gè)周期的時(shí)間序列中提取特征。使用keras,這可以在一行Python代碼中實(shí)現(xiàn):

  1. emb_model = Model(inputs=model.input, outputs=model.get_layer('global_average_pooling1d_1').output

新模型是一個(gè)解碼器,它接收與分類任務(wù)中使用的NN格式相同的輸入數(shù)據(jù)(t_period x n_sensor for each single cycle),并以嵌入形式返回“預(yù)測”,嵌入形式來自具有相對維數(shù)的GlobalAveragePooling1D層(每一個(gè)循環(huán)有160個(gè)嵌入變量)。

使用我們的編碼器在測試數(shù)據(jù)上計(jì)算預(yù)測,采用技術(shù)來減小尺寸(如PCA或T-SNE)并繪制結(jié)果,我們可以看到:

  1. tsne = TSNE(n_components=2, random_state=42, n_iter=300, perplexity=5) 
  2. T = tsne.fit_transform(test_cycle_emb) 
  3. fig, ax = plt.subplots(figsize=(16,9)) 
  4. colors = {0:'red', 1:'blue', 2:'yellow'
  5. ax.scatter(T.T[0], T.T[1], c=[colors[i] for i in y_test])  
  6. plt.show() 

預(yù)測性維護(hù):使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)檢測傳感器故障

 

預(yù)測性維護(hù):使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)檢測傳感器故障

TSNE用于測試數(shù)據(jù)的循環(huán)嵌入

每個(gè)點(diǎn)都表示測試集中的一個(gè)循環(huán),相對顏色是Cooler條件的目標(biāo)類??梢钥闯鋈绾魏芎玫囟x冷卻器組件的目標(biāo)值之間的區(qū)別。這種方法是我們模型性能的關(guān)鍵指標(biāo)。

最后

在這篇文章中,我們嘗試以CNN的時(shí)間序列分類任務(wù)的形式解決預(yù)測性維護(hù)的問題我們試圖給出結(jié)果的直觀表示 

責(zé)任編輯:龐桂玉 來源: 今日頭條
相關(guān)推薦

2017-05-04 18:30:34

大數(shù)據(jù)卷積神經(jīng)網(wǎng)絡(luò)

2011-07-27 12:57:49

無線傳感器資源受限故障管理

2018-06-08 15:51:56

CNN皮膚癌人工智能

2020-09-18 11:40:44

神經(jīng)網(wǎng)絡(luò)人工智能PyTorch

2021-06-22 09:46:52

神經(jīng)網(wǎng)絡(luò)人工智能深度學(xué)習(xí)

2021-05-11 08:51:50

傳感器網(wǎng)絡(luò)物聯(lián)網(wǎng)傳感器

2022-04-07 09:01:52

神經(jīng)網(wǎng)絡(luò)人工智能

2016-12-20 09:55:52

卷積神經(jīng)網(wǎng)絡(luò)無人駕駛

2017-04-26 09:30:53

卷積神經(jīng)網(wǎng)絡(luò)實(shí)戰(zhàn)

2017-04-25 15:12:45

神經(jīng)網(wǎng)絡(luò)SSD檢測

2020-03-05 15:59:10

神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)圖形

2022-10-11 23:35:28

神經(jīng)網(wǎng)絡(luò)VGGNetAlexNet

2019-01-05 08:40:17

VGG神經(jīng)網(wǎng)絡(luò)

2018-08-27 17:05:48

tensorflow神經(jīng)網(wǎng)絡(luò)圖像處理

2017-04-24 23:46:40

卷積神經(jīng)網(wǎng)絡(luò)圖像R-CNN

2018-04-08 11:20:43

深度學(xué)習(xí)

2022-02-17 10:34:21

神經(jīng)網(wǎng)絡(luò)識別驗(yàn)證碼

2020-03-25 09:48:10

AI芯片神經(jīng)網(wǎng)絡(luò)

2020-11-06 15:05:13

物聯(lián)網(wǎng)預(yù)測性維護(hù)安全

2015-03-31 09:23:55

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號