基于Lasso-Huber的近红外光谱特征波长选择方法及应用

2024-03-06 02:15徐凤捷马晋芳肖环贤
光谱学与光谱分析 2024年3期
关键词:马氏范数波长

郭 拓, 徐凤捷, 马晋芳, 肖环贤

1. 陕西科技大学电子信息与人工智能学院, 陕西 西安 710021

2. 暨南大学光电系, 广东 广州 510632

3. 江西保利制药有限公司, 江西 赣州 341900

引 言

近红外光谱(NIRS)属于分子振动光谱, 主要反映含氢键如C—H、 O—H、 N—H、 S—H等化学键基团振动的倍频和合频吸收, 几乎覆盖所有的有机化合物和混合物。 同时现代近红外光谱分析是一种充分结合了光谱测量技术、 计算机技术与化学计量学理论的新型分析技术, 具有快速、 无损和无污染等优点, 因此目前已经广泛应用于制药、 农牧、 石化、 食品与烟草等领域[1]。

应用近红外光谱分析进行快速检测, 关键是要通过化学计量学方法, 建立一种光谱与待测样品化学指标成分含量之间的定量函数关系, 此即建立模型的过程。 然而近红外光谱波长多, 且不同波段的吸收光谱之间存在着较显著的线性相关, 故在建立模型时自变量间会存在着多重共线性; 同时每种物质会拥有特殊的吸收带, 因此在建模过程中没必要采用全波段数据, 需要对其进行波段选择, 即采用波段之间相关性低且属于该指标成分的特征波段进行建模。

传统的波长选择方法有相关系数法, 无信息变量消除法(UVE)[2], 连续投影算法(SPA)[3], 遗传算法(GA)[4], 模拟退火算法[5], 机器学习类的支持向量机与岭回归算法[6-7], 间隔偏最小二乘(partial least square, PLS)算法(iPLS)[8], 组合区间偏最小二乘算法(siPLS)[9]等。 近年来引入稀疏约束及稀疏模型的变量选择[10]为近红外光谱波长选择提供了新的思路, 尤其是Lasso(least absolute shrinkage and selection operator) 得到了广泛的研究与应用探索[11-13]。 该方法在最小二乘算法的基础上, 通过引入待选变量的绝对值之和约束, 即L1范数约束, 使不重要的变量自动缩减为0, 从而得到自变量数目较少且具有较好解释性的线性模型, 解决了多重共线性问题。 但采用Lasso方法对所有的自变量系数进行相同程度的压缩, 则可能得到过于稀疏的模型, 导致其预测能力有所下降; 且最终筛选的变量数目须小于样本个数, 会导致高维近红外光谱数据中, 部分有益于建模的特征变量会被忽略掉。 为了解决上述问题, Elastic Net[14]回归方法在Lasso算法中L1范数约束的基础上增加了L2范数约束, 既可以得到解释性较好的稀疏性模型, 又避免了Lasso算法“过压缩”带来的有益变量被忽略的问题[15]。 然而, Lasso算法与Elastic Net回归方法都是建立在偏最小二乘基础上, 通过损失函数即最小平方误差来选择变量, 结果将大于1的误差显著放大, 导致模型对该样本更加敏感, 使得模型的鲁棒性会显著降低。

将保留Lasso算法的L1范数约束, 但采用Huber函数作为损失函数来代替L2范数, 解决传统Lasso算法对某些误差过于敏感的问题, 并以安胎丸为研究范例, 对其中的质控指标成分洋川芎内酯A、 黄芩素、 阿魏酸3个成分进行特征波长选择, 建立偏最小二乘模型。 此算法可以更加精准地找到模型质控指标成分所对应的光谱波长, 获得预测性能远高于全波长、 Lasso与Elastic-Net算法波长选择后的建模结果。 此外, 当包含异常光谱时, Lasso-Huber算法对异常光谱的包容性要优于其他两种波长选择算法, 计算时间也远小于其他两种算法, 因此该算法更有希望推动近红外光谱检测走向普及度高、 适用性广的更高阶段。

1 基于Lasso-Huber算法的近红外光谱波长选择方法

设响应向量为y, 影响响应变量的自变量有p个, 记为x=(x1,x2, …,xp)。 如果对响应变量y与自变量x同时作n次观测, 得到n组测量值, 即X、y,X是n×p阶自变量矩阵,y是n×1阶响应向量。 一般线性回归模型可以表示为

y=Xβ+ε

(1)

式(1)中,β∈Rp为回归系数向量,ε∈Rn为误差向量, 经典Lasso算法在求解式(1)的回归系数β时, 是以最小化残差平方和为优化目标函数, 同时采用L1范数约束回归系数β, 具体优化的数学表达式如式(2)

(2)

Lasso算法将与y关系弱的自变量系数压缩为0, 解决样本数量小于变量数目情况下的过拟合问题, 同时消除无关变量的影响, 使模型解释性增强。 但Lasso算法选出的变量数目至多为观测样本数目n, 因此会存在变量过度压缩而造成部分重要变量丢失的问题, 因此Elastic Net算法在式(2)的稀疏优化中加入L2范数的约束, 即式(2)的稀疏优化表达式转换为式(3)。

(3)

然而Lasso算法与Elastic Net算法都是通过最小平方误差作为损失函数来选择变量, 会将大于1的误差显著放大, 导致模型对样本更加敏感, 本文将采用Huber函数[16]作为损失函数, 转换为如下的优化问题, 该算法此处简称为Lasso-Huber算法

subject to ‖β‖1<ξ

(4)

其中Huber函数表达式为

(5)

提出采用Lasso-Huber算法进行近红外光谱与中药指标成分定量建模前的波长选择,X为光谱矩阵,y为指标成分含量向量。

2 实验部分

参考文献[17]中的光谱采集方法, 采用SupNIR1500近红外光谱仪, 应用漫反射模式, 设置波长扫描范围1 000~1 800 nm, 分辨率1 nm, 对3年生产的共21批安胎丸进行NIR光谱数据的采集。 采用高效液相色谱法(HPLC), 梯度洗脱, 对21批安胎丸中的指标含量进行测定, 共取116个样品, 随机选择15个数据做预测集, 剩余101个光谱用于建模, 原始数据见文献[17]。 光谱在1 300~1 600 nm波长间差异明显, 如图1所示, 三种指标成分的含量(mg·pill-1)统计如表1所示。

表1 安胎丸三个指标成分校正集与外部验证集统计表(mg·pill-1)

图1 116个样本光谱图

采用2013年、 2014年与2015年共3年生产的21批安胎丸的近红外光谱及对应的指标成分含量数据进行算法验证(该数据集在2015年采集)。 首先利用Lasso、 Elastic-Net与Lasso-Huber算法做波长选择, 再通过偏最小二乘算法进行校正模型建立, 并将经上述3种算法波长选择后建模的模型性能参数与全波长PLS建模的结果对比。

3 结果与讨论

3.1 基于马氏距离的异常光谱选取

观察图1样本原始光谱图, 可以得出, 1 450~1 600 nm波长间, 少部分样品的光谱明显有别与其他样品的光谱, 这类光谱通常被认定为异常光谱。 首先采用传统马氏距离法(Mahalanobis distance, MD)判断异常光谱, 给出数据量化指标, 以进一步确认这些光谱是否为异常光谱, 结果如图2所示。

图2 光谱的马氏距离

由图2(a)可知, 采用传统的马氏距离判断方法, 其结果无明显的分界点, 无法判别哪些光谱为异常光谱。 出现该结果的原因是由于在计算马氏距离的过程中, 需要总体样本数大于数据的维数, 否则得到的总体样本协方差矩阵的逆矩阵不存在。 而此处建模光谱为101个样本, 每个光谱的维数是800(实验设置的光谱采集波段为1 000~1 799 nm, 采样间隔为1 nm)。 可见, 样本数远小于维数, 无法得到总体协方差矩阵的准确结果, 因此, 无法获得准确的马氏距离。

在图2(b)中, 首先通过主成分分析(principal component analysis, PCA)方法提取10个主成分后, 构建总体协方差矩阵, 然后计算马氏距离, 发现此时马氏距离有较明显的变化差异。 图中第83个样本的距离为3.4, 是正常光谱中最大的马氏距离。 故可选3.4作为异常光谱判别的阈值, 大于该阈值都可当作异常光谱处理, 所选出的异常光谱即101个样本中的5条异常光谱。

3.2 无异常光谱的波长选择及建模结果对比

选用96条正常光谱作为校正集, 采用Lasso、 Elastic-Net与Lasso-Huber算法进行波长选择并结合偏最小二乘法建立校正模型, 依据模型评价指标对其性能进行对比分析, 结果如表2所示。

表2 无异常光谱时的波长选择算法模型性能对比

从整体来看, 经Lasso-Huber波长选择算法对变量筛选后, 所建模型的性能指标都优于其它三种策略, 因此选择Huber函数作为损失函数可以选出更具代表性的建模波段, 且该算法的波长选择运算耗时分别是: 1.388 8、 1.697 2和1.376 7 s, 远远小于Lasso算法的76.847 6、 468.342 0和55.201 7 s与Elastic-Net算法的99.727 0、 934.423 1和74.213 6 s, 因此具有较大的性能优势。

3.3 包含异常光谱的波长选择及建模结果对比

选用包含5条异常光谱的共101个样本作为校正集, 同样采用Lasso法、 Elastic-Net法与Lasso-Huber法进行波长选择并建立PLS模型, 依据模型评价指标对其进行性能对比。 结果如表3所示。

表3 包含异常光谱时的波长选择算法模型性能对比

图3 定标模型图-黄芩素

4 结 论

通过对比是否包含异常光谱的全波段、 Lasso、 Elastic-Net与Lasso-Huber四种波长选择策略, 发现Lasso-Huber算法在引入了Huber函数作为损失函数后, 可以更加精准地找到模型指控指标成分所对应的光谱波长点, 从而获得模型决定系数要远高于全波长、 Lasso与Elastic-Net算法波长选择后的建模结果; 此外, 当包含异常光谱时, Lasso-Huber算法对异常光谱的包容性要优于其他两种波长选择算法, 同时, 计算时间也远远小于其他两种算法, 因此该算法更有望未来集成于实际生产使用的近红外光谱建模软件中, 推动近红外光谱检测走向普及度高、 适用性广的更高阶段。

猜你喜欢
马氏范数波长
HPLC-PDA双波长法同时测定四季草片中没食子酸和槲皮苷的含量
一类时间变换的强马氏过程
有环的可逆马氏链的统计确认
关于树指标非齐次马氏链的广义熵遍历定理
一致可数可加马氏链不变测度的存在性
基于加权核范数与范数的鲁棒主成分分析
双波长激光治疗慢性牙周炎的疗效观察
矩阵酉不变范数Hölder不等式及其应用
日本研发出可完全覆盖可见光波长的LED光源
便携式多用途光波波长测量仪