作者简介: 郭 拓, 1986年生, 陕西科技大学电子信息与人工智能学院讲师 e-mail: guotuonwpu@126.com
在近红外光谱(NIRS)波长筛选过程中, 当变量数目远大于样本量时, 特征波长的选择是一个极具挑战性的问题。 Lasso与Elastic Net算法虽被用于大维小样本数据的变量选择, 但二者均以最小平方误差作为损失函数的度量方法来选择特征变量。 因此, 当样本中含有异常点时, 经两种算法建立的模型对异常点更加敏感, 导致模型向异常点偏移, 鲁棒性降低。 针对上述问题, 采用Huber函数作为损失函数, 提出了Lasso-Huber法进行近红外特征波长选择, 结合偏最小二乘(PLS)方法建立安胎丸质控指标成分的定量校正模型, 并与全波长建模、 Lasso与Elastic-Net方法波长选择后建模的模型性能进行对比。 本实验采集21批安胎丸的近红外光谱数据共116条, 其中101条数据作为校正集, 采用留一交叉验证法对模型进行内部验证, 另外15条数据则作为验证集用于外部验证。 对于校正集中的异常光谱, 使用基于主成分分析(PCA)的马氏距离法(MD)进行检测。 以安胎丸的质控指标成分之一阿魏酸为例, 采用Lasso、 Elastic-Net和Lasso-Huber方法分别筛选了安胎丸样品无异常光谱中69、 155和87个特征波长。 其中Lasso-Huber法结合PLS建立的预测模型效果最佳, 外部验证的
In near-infrared spectroscopy ( NIRS ) wavelength screening, selecting characteristic wavelengths is challenging problem when the number of variables is much larger than the sample size. Lasso and Elastic Net algorithms are used for variable selection for large-dimensional small-sample data, but both use the least square error to measure the loss function to select characteristic variables. Therefore, when the sample contains outliers, the model established using Lasso or Elastic Net algorithms is more sensitive to outliers, resulting in the model shifting to outliers and reduced robustness. Because of the above problems, this paper uses the Huber function as the loss function and proposes the Lasso-Huber wavelength selection method for near-infrared characteristic wavelength selection. Combined with the partial least squares ( PLS ) method, the quantitative correction model of the quality control index components of Antai pills is established and compared with the model performance of full wavelength modeling, Lasso and Elastic-Net method wavelength selection. In this experiment, 116 NIRS data from 21 batches of Antai Pills were collected, of which 101 data were used as calibration sets. The model was internally verified by the leave-one-out cross-validation method, and the other 15 data were used as validation sets for external verification. The Mahalanobis distance method ( MD ) based on principal component analysis ( PCA ) was used for detection for outliers in the calibration set. Taking ferulic acid, one of the quality control index components of Antai pills, as an example, Lasso, Elastic-Net and Lasso-Huber methods were used to screen 69, 155 and 87 characteristic wavelength points in the normal spectra of Antai pill samples. The prediction model established by the Lasso-Huber method combined with PLS was the best, and the
近红外光谱(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, 12, 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算法对异常光谱的包容性要优于其他两种波长选择算法, 计算时间也远小于其他两种算法, 因此该算法更有希望推动近红外光谱检测走向普及度高、 适用性广的更高阶段。
设响应向量为y, 影响响应变量的自变量有p个, 记为x=(x1, x2, …, xp)。 如果对响应变量y与自变量x同时作n次观测, 得到n组测量值, 即X、 y, X是n× p阶自变量矩阵, y是n× 1阶响应向量。 一般线性回归模型可以表示为
式(1)中, β ∈ Rp为回归系数向量, ε ∈ Rn为误差向量, 经典Lasso算法在求解式(1)的回归系数β 时, 是以最小化残差平方和为优化目标函数, 同时采用L1范数约束回归系数β , 具体优化的数学表达式如式(2)
Lasso算法将与y关系弱的自变量系数压缩为0, 解决样本数量小于变量数目情况下的过拟合问题, 同时消除无关变量的影响, 使模型解释性增强。 但Lasso算法选出的变量数目至多为观测样本数目n, 因此会存在变量过度压缩而造成部分重要变量丢失的问题, 因此Elastic Net算法在式(2)的稀疏优化中加入L2范数的约束, 即式(2)的稀疏优化表达式转换为式(3)。
然而Lasso算法与Elastic Net算法都是通过最小平方误差作为损失函数来选择变量, 会将大于1的误差显著放大, 导致模型对样本更加敏感, 本文将采用Huber函数[16]作为损失函数, 转换为如下的优化问题, 该算法此处简称为Lasso-Huber算法
其中Huber函数表达式为
提出采用Lasso-Huber算法进行近红外光谱与中药指标成分定量建模前的波长选择, X为光谱矩阵, y为指标成分含量向量。
参考文献[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 116个样本光谱图 (a): 原始光谱; (b): 1 300~1 600 nm波长光谱Fig.1 Spectra of 116 samples (a): Original spectra; (b): Spectra in the range of 1 300~1 600 nm wavelength spectra |
![]() | 表1 安胎丸三个指标成分校正集与外部验证集统计表(mg· pill-1) Table 1 Statistical table of three index components in calibration set and external validation set of Antai Pills |
采用2013年、 2014年与2015年共3年生产的21批安胎丸的近红外光谱及对应的指标成分含量数据进行算法验证(该数据集在2015年采集)。 首先利用Lasso、 Elastic-Net与Lasso-Huber算法做波长选择, 再通过偏最小二乘算法进行校正模型建立, 并将经上述3种算法波长选择后建模的模型性能参数与全波长PLS建模的结果对比。
建模过程中采用留一交叉验证法, 并以决定系数
观察图1样本原始光谱图, 可以得出, 1 450~1 600 nm波长间, 少部分样品的光谱明显有别与其他样品的光谱, 这类光谱通常被认定为异常光谱。 首先采用传统马氏距离法(Mahalanobis distance, MD)判断异常光谱, 给出数据量化指标, 以进一步确认这些光谱是否为异常光谱, 结果如图2所示。
![]() | 图2 光谱的马氏距离 (a): 传统马氏距离; (b): PCA提取后的马氏距离Fig.2 Mahalanobis distance of spectra (a): Traditional Mahalanobis distance; (b): Mahalanobis distance after PCA extraction |
由图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条异常光谱。
选用96条正常光谱作为校正集, 采用Lasso、 Elastic-Net与Lasso-Huber算法进行波长选择并结合偏最小二乘法建立校正模型, 依据模型评价指标对其性能进行对比分析, 结果如表2所示。
![]() | 表2 无异常光谱时的波长选择算法模型性能对比 Table 2 Performance comparison of wavelength selection algorithm model without abnormal specta |
观察表2, 从阿魏酸的结果可以看出: Lasso、 Elastic-Net与Lasso-Huber三种波长选择算法所获得的建模变量数分别为69、 155、 87, 相比于全波长建模变量数都显著减少; 全波长建模与Lasso、 Elastic-Net算法波长筛选后的建模交叉验证决定系数
从洋川芎内酯A、 黄芩素的建模结果可以看出, Lasso-Huber法具有较大的交叉验证决定系数
从整体来看, 经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, 因此具有较大的性能优势。
选用包含5条异常光谱的共101个样本作为校正集, 同样采用Lasso法、 Elastic-Net法与Lasso-Huber法进行波长选择并建立PLS模型, 依据模型评价指标对其进行性能对比。 结果如表3所示。
![]() | 表3 包含异常光谱时的波长选择算法模型性能对比 Table 3 Performance comparison of wavelength selection algorithm model with outliers |
从模型的评价指标来看, 对于质控指标成分中洋川芎内酯A和阿魏酸, 采用Lasso-Huber波长选择算法所建模型的交叉验证决定系数
经过对校正集中是否包含有异常光谱分别进行模型的建立, 得出: 采用Lasso-Huber算法, 对包含异常光谱的校正集进行波长选择, 与剔除异常光谱的校正集所得模型相比较, 其交叉验证决定系数
通过对比是否包含异常光谱的全波段、 Lasso、 Elastic-Net与Lasso-Huber四种波长选择策略, 发现Lasso-Huber算法在引入了Huber函数作为损失函数后, 可以更加精准地找到模型指控指标成分所对应的光谱波长点, 从而获得模型决定系数要远高于全波长、 Lasso与Elastic-Net算法波长选择后的建模结果; 此外, 当包含异常光谱时, Lasso-Huber算法对异常光谱的包容性要优于其他两种波长选择算法, 同时, 计算时间也远远小于其他两种算法, 因此该算法更有望未来集成于实际生产使用的近红外光谱建模软件中, 推动近红外光谱检测走向普及度高、 适用性广的更高阶段。
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|