iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0
AI & Data

那些年在科技公司~PHM設備健康診斷與管理系列 第 8

DAY 8 「PHM故障類型」常見SOM將不同故障分類揪出來~

  • 分享至 

  • xImage
  •  

用風機軸承數據集訓練SOM模型來說明~

自組織映射(Self-Organizing Maps,SOM)是一種用於聚類和可視化高維數據的人工神經網絡技術。在PHM中,SOM可以用來將不同故障類型聚類成群。

*數據準備:*收集和準備PHM數據集,確保數據的可靠性和準確性。
特徵工程:
從數據中提取相應的特徵,這些特徵可以包括時間序列特徵、頻域特徵等。

  • 數據標記:將每個數據樣本標記為其所屬的故障類型。
  • SOM模型設置:初始化SOM模型,指定網格大小、鄰域函數等參數。
  • 模型訓練:使用準備好的特徵和故障類型標記來訓練SOM模型。
  • 聚類和可視化:使用訓練好的SOM模型,將不同的故障類型聚類成群,並進行可視化展示。
  • 結果評估:對聚類結果進行評估,可以使用一些評估指標來衡量聚類的性能,如Silhouette係數等。
  • 調優和改進:根據評估結果,可以進一步調優SOM模型的參數,或者考慮嘗試其他聚類方法。
  • 部署和監控:將訓練好的SOM模型部署到實際的PHM系統中,並定期監控模型的性能。
    SOM可以幫助你在高維數據中發現故障類型之間的隱藏結構,並將相似的故障聚在一起。這樣的分類結果可以提供有價值的信息,幫助你進一步理解和解決PHM中的問題。
from minisom import MiniSom
import numpy as np

# 假設我們有一個虛擬的風機軸承數據集
# 每個樣本有三個特徵:振動、溫度、壓力
# 這裡使用隨機數據模擬
data = np.random.rand(100, 3) * 10  

# 初始化SOM模型,設定網格大小(這裡假設為2x2的網格)
som = MiniSom(2, 2, 3, sigma=0.3, learning_rate=0.5)

# 開始訓練SOM模型
som.train_random(data, 100)

# 將每個樣本映射到其最近的節點
mapped = np.array([som.winner(x) for x in data])

# 將節點轉換為故障類型
# 在實際情況中,你需要根據你的數據和問題定義相應的故障類型
# 這裡只是一個示例,假設有兩種故障類型
fault_types = {
    (0, 0): 'Type A',
    (0, 1): 'Type B',
    (1, 0): 'Type A',
    (1, 1): 'Type B'
}

# 將映射的節點轉換為故障類型
fault_labels = np.array([fault_types[tuple(m)] for m in mapped])

# 打印故障類型結果
print(fault_labels)

上一篇
DAY 7 「PHM故障類型」通過ML區分常見重要分類~
下一篇
DAY 9 「PHM預測」使用LR來預測設備剩餘壽命~
系列文
那些年在科技公司~PHM設備健康診斷與管理30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言