第3章:机器学习基础回顾
各位同学,今天咱们聊聊机器学习的基础。说实话,很多做雷达的同行一听到「机器学习」就头大,觉得那是计算机专业的事。但我做了这么多年信号处理,发现这东西其实没那么玄乎——说白了,就是用数据教会计算机做判断。
我刚开始接触机器学习时,也踩过不少坑。记得有一次,我花了整整两周调模型,结果发现是特征没选对。嗯,从那以后,我养成了一个习惯:先花70%的时间搞懂数据和特征,再动手建模。
3.1 监督学习:有老师带着学
监督学习,你可以想象成有个老师在旁边盯着。你给模型一堆「问题-答案」对,让它自己总结规律。比如在雷达目标识别中,我们给模型看1000个飞机回波信号,每个都标注好「这是F-16」「这是苏-35」。模型学完后,再给它一个新信号,它就能猜出是哪种飞机。
常见的监督学习任务有两类:
- 分类:判断目标类别。比如「是飞机还是鸟?」「是诱饵还是真弹头?」
- 回归:预测连续值。比如「目标距离是多少米?」「目标速度是多少马赫?」
我个人习惯用决策树和随机森林做初版模型。为什么?因为它们可解释性强,能告诉你「为什么这么判断」。这在雷达领域特别重要——你总不能让模型说「我觉得是,没有理由」吧?
关键点:监督学习需要大量标注数据。在雷达领域,标注成本很高,有时候需要专家花几小时标注一个样本。所以,别一上来就想着用深度学习,先看看有没有足够的数据。
3.2 无监督学习:自己摸索规律
无监督学习就更有意思了——没有老师,全靠自己悟。你给模型一堆数据,但不告诉它「这是什么」,让它自己发现数据中的结构。
在雷达信号处理中,我常用无监督学习做两件事:
- 聚类:把相似的回波信号归到一起。比如,你可能发现某些信号天然聚成一团,那可能就是同一类目标。
- 降维:把高维数据压缩到低维。雷达信号动辄几百维,直接扔进模型容易过拟合。用PCA(主成分分析)降维后,训练速度快得多。
我曾经接手过一个项目,数据标签丢失了大半。当时我心想「完了,这项目没法做了」。后来我用K-means聚类先分了一下类,再结合少量标注数据做半监督学习,居然把准确率提到了85%以上。所以说,别小看无监督学习,关键时刻能救命。
我的经验:无监督学习适合做数据探索。拿到新数据后,先聚类看看分布,再决定用什么模型。这步做好了,后面能省很多事。
3.3 特征工程:好特征胜过好模型
这句话我再说一遍:好特征胜过好模型。在雷达目标识别中,特征工程尤其重要。你想想看,雷达回波信号里包含的信息太多了——幅度、相位、多普勒频移、极化特性……怎么从中提取出最有用的特征?
常见的特征提取方法包括:
| 特征类型 | 说明 | 雷达应用举例 |
|---|---|---|
| 时域特征 | 信号随时间变化的统计量 | 峰值、均值、方差、过零率 |
| 频域特征 | 频谱分布特性 | 中心频率、带宽、谱峰数量 |
| 时频特征 | 时间和频率联合分析 | 短时傅里叶变换、小波变换系数 |
| 极化特征 | 电磁波极化状态 | 极化散射矩阵、极化度 |
我建议你记住一个原则:特征不是越多越好。我曾经犯过一个错误,一口气提取了200多个特征,结果模型训练了三天三夜,准确率反而下降了。后来用特征选择算法一筛,发现真正有用的就20多个。嗯,这就是典型的「过犹不及」。
避坑指南:我曾经在特征归一化上吃过亏。雷达信号的幅度范围可能从0.001到10000,如果不做归一化,模型会天然偏向大数值的特征。记得用StandardScaler或MinMaxScaler处理一下。
3.4 模型评估指标:别被准确率骗了
说到评估指标,我得先泼盆冷水:准确率(Accuracy)很多时候是骗人的。为什么?你想想看,如果100个目标里只有1个是敌机,你模型全部判为「非敌机」,准确率也有99%。但这模型有用吗?完全没用!
在雷达目标识别中,我主要看这几个指标:
混淆矩阵
混淆矩阵是个好东西,它把预测结果和真实结果放在一起对比:
| 预测为正类 | 预测为负类 | |
|---|---|---|
| 实际为正类 | TP(真正例) | FN(假负例) |
| 实际为负类 | FP(假正例) | TN(真负例) |
从混淆矩阵可以衍生出几个关键指标:
- 精确率(Precision):TP / (TP + FP)。你判为「敌机」的里面,有多少是真的敌机?
- 召回率(Recall):TP / (TP + FN)。真正的敌机里,你找出了多少?
- F1分数:精确率和召回率的调和平均。一个综合指标。
我个人习惯在雷达项目中重点关注召回率。为什么?因为漏掉一个敌机(FN)的代价,远大于误报一个(FP)。你想想看,宁可把鸟误判为飞机,也不能把飞机漏掉,对吧?
ROC曲线
ROC曲线是另一个好工具。它画的是真正率(TPR)和假正率(FPR)的关系。曲线越靠近左上角,模型性能越好。
这里有个关键指标叫AUC(曲线下面积)。AUC越接近1,说明模型区分正负类的能力越强。我一般会要求AUC至少0.85以上,才敢把模型部署到实际系统中。
实战建议:在雷达目标识别中,正负类往往极不平衡(比如10000个样本里只有10个目标)。这时候别用准确率,用AUC和召回率更靠谱。我曾经用SMOTE过采样技术处理不平衡数据,效果还不错。
好了,机器学习基础就回顾到这里。下一章我们开始讲具体的雷达特征提取方法,到时候我会拿真实数据给大家演示。记住我今天说的:特征工程是王道,评估指标要选对。这两点做好了,你的模型已经成功了一半。