从7.7 到 7.12 见到了很多大佬。
其中和我的室友younglar 的接触最多, 然后经过了参观、 面试,最后因为younglar 表现的太好(面试第一)到上海研究院见到了zyh 总设计师手下的小导做的具体的国重实验室下的引力波检测的项目;
过程中, 我实切地感受到AI 在当前工业中的应用, 以及我国面临的大环境就是数字化转型, 以及在自动化控制中 以 model base 和 data driven 分别为导向的两种方向;
也回答了 面试过程中 老师实际想问我的问题, 你说你想将AI 应用到小卫星中, 具体你想使用什么算法? 做什么工作
当时我回答的是异常检测;将异常情况采用一种全自动化的方式进行
老师继续追问, 如何进行异常检测? 你具体采用什么算法?
我当时 一听到算法头就有点大, 因为我的算法基础很薄弱, 目前来看仅仅会一些基本的深度学习的知识, 并且借助ai 来解决一些基本的问题,目前最大的思想就是借助ai 将问题进行拆分,并且总结子问题的算法。
所以当时我脑子中就只有 一个DBSCAN 算法(是以密度为基础的聚类)
但是他又问我具体是什么ai 方面的算法,我就答不出来了
后面younglar 和我分析 应该是他想知道我具体的打算– 就是 combline ai+ 小卫星的具体方案;
其实今天张永和总下面的王老师给出了一个非常非常高水准的“答案”;
在他的介绍中,我们了解到了ai 在路径规划,编队方案设计, 角度探测的具体的应用,并且他介绍的国重实验室项目, 空间引力波探测的工作震撼到我, 也让我认识到一个数学建模问题的实际抽象过程;他提到了一个仿真后的数据,和物理实验家得到的理论引力波的数据, 将来会举办一个比赛, 不同的队伍将会使用数据挖掘的不同方法来得到最接近理论值的引力波的数据, 并且公开方案,经过专家组评估后选定最合适的方案
加油 younglar, 加油 轩总
😴
plus:
示例:卫星发射过程中的火箭发动机故障诊断
问题背景:
在卫星发射过程中,火箭发动机的正常运行至关重要。然而,由于复杂的工程和环境因素,发动机可能会出现故障。为了提高故障诊断的效率和准确性,我们可以使用决策树算法来自动识别和分类不同类型的发动机故障。
数据准备:
假设我们有一个数据集,记录了多个发射事件中的火箭发动机传感器数据。每个样本包含多个特征,如燃料压力、燃料流量、温度、振动强度等,以及一个标签(正常/故障类型)。
样本数据示例如下:
燃料压力 (MPa) | 燃料流量 (L/s) | 温度 (°C) | 振动强度 (g) | 故障类型 |
---|---|---|---|---|
20 | 50 | 150 | 0.5 | 正常 |
25 | 45 | 160 | 0.7 | 故障A |
18 | 55 | 145 | 0.6 | 故障B |
22 | 50 | 155 | 0.4 | 正常 |
… | … | … | … | … |
决策树模型的构建和训练:
数据预处理:
- 处理缺失值和异常值。
- 归一化或标准化特征数据。
训练决策树模型:
使用scikit-learn
库中的DecisionTreeClassifier
进行模型训练。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score, classification_report
# 假设数据已加载到 DataFrame df 中
X = df.drop('故障类型', axis=1) # 特征
y = df['故障类型'] # 标签
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 创建并训练决策树模型
clf = DecisionTreeClassifier()
clf.fit(X_train, y_train)
# 预测并评估模型
y_pred = clf.predict(X_test)
print("准确率:", accuracy_score(y_test, y_pred))
print("分类报告:\n", classification_report(y_test, y_pred))模型评估和优化:
- 使用交叉验证评估模型性能。
- 调整模型参数(如树的最大深度、最小样本分割数等),优化模型。
1
2
3
4
5
6
7from sklearn.model_selection import GridSearchCV
param_grid = {'max_depth': [3, 5, 7, 10], 'min_samples_split': [2, 5, 10]}
grid_search = GridSearchCV(clf, param_grid, cv=5, scoring='accuracy')
grid_search.fit(X_train, y_train)
print("最佳参数:", grid_search.best_params_)
模型应用:
一旦模型训练和优化完成,可以将其部署在实时监控系统中。当新的传感器数据到达时,模型可以实时预测发动机状态,及时发现和分类故障,从而采取相应的措施,确保发射过程的安全。
结论:
通过这个实例,可以看到决策树模型在卫星发射过程中火箭发动机故障诊断中的具体应用。决策树算法简单易用,且具有较强的解释性,非常适合此类分类任务。