3、回归模型基础:线性回归、多项式回归、决策树回归等核心概念,以及回归与分类的区别
在Edge Impulse的传感器标定与信号预测任务中,回归模型是最核心的算法家族。与分类任务输出离散标签不同,回归任务输出的是连续数值——例如加速度计的偏置补偿值、土壤湿度传感器的电压-含水量映射系数、或电机振动信号对应的转速估计值。本章将系统梳理线性回归、多项式回归与决策树回归的数学本质、适用边界与工程实现要点,并深入辨析回归与分类在数据标注、损失函数、评估指标及模型输出层设计上的根本差异。理解这些基础概念,是后续在Edge Impulse中配置学习模块(Learning Blocks)并完成传感器标定项目的前提。
3.1 线性回归:从最小二乘到梯度下降
核心原理
线性回归假设目标变量 \(y\) 与特征向量 \(\mathbf{x} = [x_1, x_2, ..., x_n]\) 之间存在线性关系,模型表达式为:
y = w₀ + w₁·x₁ + w₂·x₂ + ... + wₙ·xₙ
其中 \(w₀\) 为偏置项(bias),\(w₁...wₙ\) 为特征权重。训练过程即寻找一组最优权重 \(\mathbf{w}\),使得在训练集上的残差平方和(RSS)最小:
RSS(𝐰) = Σᵢ (yᵢ - 𝐰ᵀ𝐱ᵢ)²
当特征矩阵满秩时,可通过正规方程直接求解闭式解 \(\mathbf{w} = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{y}\)。但在Edge Impulse的嵌入式场景中,特征维度可能较高或存在共线性,更常采用梯度下降法迭代优化。梯度下降的核心思想是沿损失函数梯度的反方向更新权重,学习率 \(\eta\) 控制步长:
wⱼ ← wⱼ - η · ∂RSS/∂wⱼ
传感器标定中的判断方法
在传感器标定中,线性回归适用于响应曲线近似线性的场景。例如,某压力传感器在0-100 kPa范围内输出电压与压力呈良好线性关系。操作流程如下:
- 数据采集:使用标准压力源施加5个梯度压力值,记录对应的ADC原始读数。
- 数据清洗:剔除明显跳变点,对每个压力点取多次采样的均值。
- 模型训练:在Edge Impulse中创建Regression学习块,将压力值作为目标变量,ADC读数作为特征。
- 验证评估:使用未参与训练的测试集计算平均绝对误差(MAE),若MAE小于传感器满量程的1%,则认为标定合格。
案例拆解:加速度计零偏标定
某IMU模块在静止状态下,三轴加速度计输出应满足 \(a_x^2 + a_y^2 + a_z^2 = g^2\)。但实际因制造误差存在零偏。采集静止状态下1000组数据,以 \(a_x\) 为特征,\(a_y\) 为目标进行线性回归,得到的截距即为y轴零偏。实测数据表明,线性回归后零偏从初始的0.15g降至0.02g,MAE从0.12g降至0.03g。需要注意的是,若传感器存在明显的温度漂移,单一线性模型无法完全补偿,需引入温度作为第二特征。
3.2 多项式回归:扩展特征空间以拟合曲线
核心原理
当传感器响应呈现明显弯曲时,线性模型会产生较大偏差。多项式回归通过引入特征的幂次项来扩展特征空间,例如一元二次多项式:
y = w₀ + w₁·x + w₂·x²
从实现角度看,多项式回归仍然使用线性回归的求解框架,只是将原始特征 \(x\) 变换为 \([x, x^2, ..., x^d]\) 的增广特征向量。关键在于选择合适的多项式阶数 \(d\)。阶数过低会导致欠拟合(模型过于简单),阶数过高则容易过拟合(模型过度捕捉噪声)。
阶数选择的判断方法
| 阶数 | 适用场景 | 风险 | Edge Impulse中的处理 |
|---|---|---|---|
| 1(线性) | 响应近似直线 | 欠拟合 | 直接使用Linear Regression |
| 2-3 | 轻微弯曲,如热敏电阻 | 较安全 | 使用Polynomial Features预处理 |
| 4-5 | 复杂S形曲线 | 过拟合风险高 | 需配合正则化或交叉验证 |
| >5 | 极少使用 | 严重过拟合 | 不建议在嵌入式场景使用 |
在Edge Impulse中,可以通过DSP模块的Polynomial Features块生成高次特征,再送入回归头。但需注意,特征维度的增加会直接导致模型大小和推理耗时的增长。对于资源受限的MCU,建议阶数不超过3。
实战场景:热电偶冷端补偿
热电偶输出电压与温度呈非线性关系,典型误差可达2-3%。采用二阶多项式回归进行冷端补偿:
T = w₀ + w₁·V + w₂·V²
使用标准温度源在0-200℃范围内采集12个标定点,训练后最大误差从2.8℃降至0.4℃。但进一步尝试三阶多项式时,误差仅降至0.35℃,而模型参数从3个增至4个,收益递减。最终选择二阶模型以节省Flash空间。
3.3 决策树回归:分段常数逼近与非线性建模
核心原理
决策树回归通过递归划分特征空间,在每个叶子节点输出一个常数(该区域训练样本目标值的均值)。其划分依据是使划分后的均方误差(MSE)下降最大。对于特征 \(x_j\) 和划分点 \(s\),选择使得下式最小的 \((j, s)\):
min [ Σ(yᵢ - c₁)² + Σ(yᵢ - c₂)² ]
其中 \(c₁\)、\(c₂\) 分别为左右子区域的输出值。树的深度、最小叶子样本数、最大叶子节点数等超参数控制模型复杂度。
与线性模型的对比判断
- 线性回归:全局平滑,外推能力强,但无法捕捉特征交互。
- 决策树回归:局部自适应,能自动处理非线性与特征交互,但外推能力差(输出被限制在训练集目标范围内)。
- 适用选择:若传感器标定数据覆盖全量程且分布均匀,决策树表现良好;若需外推至训练范围之外,应选择线性或多项式模型。
案例拆解:土壤湿度传感器标定
某电容式土壤湿度传感器在不同土壤类型(砂土、壤土、黏土)下,输出电压与体积含水量呈不同的非线性关系。使用单一线性模型时,黏土场景误差高达8%。改用决策树回归(深度4,最小叶子样本数10)后,整体MAE降至2.1%。关键操作:
- 将土壤类型编码为分类特征(one-hot),与电压特征共同输入。
- 在Edge Impulse中设置树深度为4,启用"Enforce maximum depth"选项。
- 使用5折交叉验证评估稳定性,避免因某类土壤样本过少导致过拟合。
决策树模型的优势在于可解释性强——可以导出树结构,明确看到不同土壤类型下的电压划分阈值。但模型体积随深度增加呈指数增长,在Cortex-M4上深度超过6时推理延迟明显上升。
3.4 回归与分类的本质区别
核心差异对比
| 维度 | 回归 | 分类 |
|---|---|---|
| 输出类型 | 连续实数(如温度、压力) | 离散标签(如正常/故障) |
| 损失函数 | MSE、MAE、Huber | 交叉熵、Hinge |
| 输出层激活 | 无(线性)或ReLU | Sigmoid(二分类)/ Softmax(多分类) |
| 评估指标 | MAE、RMSE、R² | 准确率、精确率、召回率、F1 |
| 决策边界 | 拟合曲线/曲面 | 分类边界 |
| 典型传感器应用 | 标定曲线拟合、位移预测 | 故障检测、手势识别 |
工程判断方法
在Edge Impulse项目设计中,判断任务类型需回答三个问题:
- 目标值是否有序?温度30℃与31℃的差异有意义,而故障类型A与B之间无大小关系。
- 误差度量方式?标定任务关心"偏差多少",分类任务关心"是否分对"。
- 输出层设计?回归头输出单个神经元(无激活),分类头输出K个神经元(Softmax)。
场景化说明:振动传感器
同一振动传感器可同时用于两类任务:
- 回归任务:预测电机转速(连续值),用于转速监测。
- 分类任务:判断轴承是否损坏(正常/异常),用于故障报警。
两者共享相同的FFT频谱特征,但模型输出层和损失函数完全不同。在Edge Impulse中,需要分别创建两个Learning Block,不能混用。