杨志超, 石 璐, 蔡 竞, 张 辉
1. 浙江警察学院, 浙江 杭州 310053 2. 毒品防控技术浙江省重点实验室, 浙江 杭州 310053
在公安刑侦、 检验检疫等工作中, 血痕是重要的物证之一, 往往需要对血痕进行种属鉴别, 判断其为何物种所留。 传统的血痕鉴别技术有酶免疫分析、 DNA检测法、 高效液相色谱法等[1-3], 此类方法会损耗检测样品, 因物证样本是行政执法和法庭审判的重要证据, 应尽量采用无损的检测方法。 拉曼光谱技术具有无损、 无需前处理、 分析检测速度快的优势, 特别适合物证检验。 特别是表面增强拉曼技术[4-7], 分子附着与纳米金属材料表面, 通过纳米金属颗粒放大待测物的拉曼光谱信号, 增强倍率可达106以上。 目前, 拉曼光谱技术及其相关技术已被广泛应用于化工、 医学、 半导体、 地质等领域[8-10], 在血痕种属鉴别等相关领域也日渐成熟。
利用拉曼光谱技术可以快速有效的鉴别血痕的物种归属。 白鹏利等人以3种不同物种动物和人类血痕为研究样本, 采取拉曼光谱技术结合主成分分析法(PCA), 对于样本血痕进行定性识别[11]。 郑祥权等采用了人血与比格犬血作为实验样本, 检测血痕样本的拉曼光谱数据, 结合PCA和线性判别分析(LDA)分类算法, 构建了一种可以对人血和犬血进行种属判断的多元统计算法模型, 测试集的准确率达到90%[12]。 董家林等利用海洋光学Raman光谱仪测得共326例样本数据(人110例、 犬116例、 兔100例), 采用SVM分类器, 训练集分类正确率达100%, 测试集分类正确率达93.52%[13]。
本文收集人血和鸡、 鸭、 猪、 牛、 鼠5种动物血痕的拉曼光谱数据, 对数据完成降噪和基线矫正, 结合特征选择算法, 建立多分类模型, 对比各特征选择算法和分类模型对准确率的影响, 并对结果进行验证, 建立一套血痕种属鉴别的快速检测方法。
收集鸡、 鸭、 猪、 牛、 鼠5种动物的血痕样本75份, 每种动物的血痕样本15份。 收集15名健康志愿者血痕样本15份, 所有志愿者同意协助完成实验。 所有血痕样本不做任何的前处理, 取血后24 h内测量, 血液滴载玻片表面, 静置约2 h, 待血液完全凝固后获取其拉曼光谱, 实验环境温度为20 ℃, 湿度为40%。
将6类物种, 每类物种15个样本分成训练集和测试集。 每类物种随机选取10个样本作为训练集, 利用训练集样本完成模型的建立和调参。 另外5个样本作为测试集, 利用测试集数据做最终的模型评价。 对每个样本随机选取10个不同的位置获得拉曼光谱数据。 最终得到的训练集中有600组拉曼光谱数据, 测试集中有300组拉曼光谱数据。
实验采用美国Thermo Fisher公司生产的DXR2xi显微激光拉曼成像光谱仪, 拉曼光谱仪具有超低暗噪声, 单光子信号探测器等优势。 计算机环境为Intel(R)Core(TM)i5-5200U CPU @ 2.2 GHz, RAM: 12.0 GB, 64位操作系统。
利用拉曼光谱仪获取血痕的拉曼光谱, 实验考察了不同的激发波长、 物镜倍数、 激光强度、 曝光时间、 扫描次数等采集参数, 综合比较对样本的破坏、 荧光干扰、 拉曼信号信噪比、 实验效率等方面。 实验选择633 nm激光作为激发光源, 采用10×物镜聚焦, 激光强度为3.0 mW, 曝光时间为0.2 s, 扫描次数为100次, 采集后的拉曼光谱的信噪比约40。 实验采用迭代自适应加权惩罚最小二乘法校正基线, 使用S-G平滑滤波实现平滑处理, 选取100~1 700 cm-1波段测试研究, 共830个波段。
研究分两部分实验, 第一部分实验, 建立PLS-DA, LDA, PCA+LDA与SVM, PCA+SVM模型进行对比实验, 比较SVM分类方法相对于其他两种方法的准确率, 以及PCA降维的效果。 第二部分实验, 采用三种波段选择方法对拉曼光谱降维, 将被选择的波段数据放入SVM分类器中, 探讨波段选择方法对分类准确率的影响。
线性判别分析(linear discriminant analysis, LDA)是一种多元线性学习方法, 思路是将数据投影到一条直线上, 使不同类数据的投影之间的距离尽量远, 且同类数据的投影之间的距离尽量近。 偏最小二乘判别分析(partial least squares discriminant analysis, PLS-DA)是一种用于多元判别分析方法, 适用于样本少、 特征多, 且特征变量之间存在多重共线性的情况。 实验通过十折交叉验证, 对参与建模的前10个主成分做判别分析并计算准确率。
支持向量机(support vector machine, SVM)利用核函数把样本从低维空间映射到高维空间, 寻找最优超平面将特征空间划分开。 只有少量的支持向量在SVM分类中起决定作用, 不仅避免了“维数灾难”问题, 也使SVM算法鲁棒性更强。 因此, SVM算法适用于小样本、 高维度的拉曼光谱数据问题。 SVM分类模型有两个重要的参数C和gamma。 通过网格搜索的方法确定最佳的C和gamma组合, 如图1所示, 当C=100, gamma=0.001, 准确率达到90%以上。
图1 C和gamma网格搜索的结果
不同的分类方法的准确率结果如表1所示, PCA+SVM方法在测试集中的准确率最高, 达85.7%。 LDA的准确率最低, 可能的原因是血痕的拉曼光谱数据存在严重的共线性问题。 通过PCA降维后, LDA和SVM算法在测试集中的准确率都有所提高, 可以说PCA降维对于测试准确率的提高有一定的帮助。 另一方面, SVM算法的准确率相对于LDA和PLS-DA都更高。 因此, SVM分类器是更优的选择。
表1 五种分类方法在训练集和测试集的准确率
光谱数据的降维方法分为基于数学变换的降维方法和基于波段选择的降维方法。 基于数学变换的降维方法, 比如PCA, LDA和PLS等, 改变了原始数据的物理意义, 可解释性差, 同时复杂的降维算法也增加了计算成本。 基于波段选择的降维是从原始光谱数据中筛选出波段子集, 剔除不起作用或有干扰作用的冗余波段, 不会改变原始特征数据, 不产生新的特征, 所挑选出来的波段依然保持原来的物理意义, 可解释性强, 并且有效的提高计算效能。 如图2所示, t1, t2, t3, …表示原始的拉曼光谱数据, s1, s2表示经过数学变换降维后的光谱数据。
图2 光谱降维算法示意图
互信息(mutual information, MI)度量了两个随机变量之间的统计依赖关系, 因此可以用来评估每个波段对分类的相对效用。 相对于单独使用信息熵来说, 互信息搭起了波段信息与实际目标之间的关系。 计算每一个波段与类别信息之间的互信息值, 然后对波段的互信息进行降序排列, 选择出互信息值最大的前K个波段, 组成波段子集。
遗传算法(genetic algorithm, GA)是一种模拟生物遗传机理的模型, 通过适者生存的方式寻找最优解。 从一个随机的种群开始, 逐代演化出更近似的解。 依据对问题的适应性来选择个体, 然后个体之间进行交叉和变异产生新的种群。 实验中遗传算法主要参数: 变异概率2%, 迭代次数150次, 种群个体数为200。
等间隔组合法(equidistant combination, EC)本质上是降低了光谱的分辨率, 达到波段选择的目的。 其主要思想是在一定光谱范围内以相同的间隔提取波段。 等间隔组合方法的参数包括以下三个: 起始波长、 波长个数、 相邻波长点之间的间隔数, 比如(101, 200, 5)的波段数为20。 本实验中, 波段数相同的, 取准确率最高者。
训练数据集中, 采用SVM分类器, 三种波段选择方法10折交叉验证的准确率表现如图3所示。 在取25个波段时, 互信息法准确率不高, 随着波段的数量增加, 互信息法所选择的波段准确率提升较快, 并且在150个波段后保持稳定, 整体准确率较高。 在波段选择数为300时, 遗传算法、 等间隔组合算法与互信息法的准确率接近, 达到93%左右。
图3 不同的波段数量下三种波段选择方法的训练集准确率
在选择波段的数量为50时, MI+SVM, GA+SVM, EC+SVM在训练集准确率为88.8%, 88.3%和86.8%, 已达到PCA+SVM方法的相近的水平。 根据训练集中确定的最优光谱波段, 同样的选取测试集中对应的50个波段组合, 并放入SVM分类器中验证方法的可靠性, 结合PCA+SVM和PLS-DA, 结果对比如图4所示。
图4 五种方法在训练集和测试集的准确率对比
在选择波段的数量为50时, MI+SVM, GA+SVM, EC+SVM在测试集准确率为86.0%, 85.3%和84.7%, 互信息法过滤得到的50个波段组合, 在训练集和测试集准确率都是最高的。 在测试集数据中, MI+SVM算法的分类准确率高于PCA+SVM(86.7%)。 另外, 从图4中可以发现, 采用波段选择降维方法, 训练集准确率与测试集准确率之差更小, 主要原因是波段选择方法排除了冗余的干扰波段的影响, 其表现更加稳定。
未参与建模的300组测试样本(6个物种各50组拉曼光谱)中, 人、 猪、 牛、 鼠、 鸡和鸭的血液拉曼光谱预测准确率分别为84%, 80%, 84%, 82%, 92%和94%。 人血与猪血之间是判错率较高, 人血的错例中有87.5%是被错判为猪血的, 猪血的错例中有60%是被错判为人血的, 这与猪血与人血的拉曼光谱更为相近有关。 鸡血和鸭血之间容易混淆, 两者同为禽类, 拉曼光谱更为相似。 禽类(鸡、 鸭)和哺乳类动物(人、 猪、 牛、 鼠)之间是完全没有错判的, 说明禽类和哺乳类动物血液的拉曼光谱有较大区别。
图5 互信息法选择的最佳的25个波段
在血痕种属鉴别方面, 以SVM算法作为拉曼光谱数据的分类器, 相对于LDA和PLS-DA分类器的准确率更高。 波段选择降维方法应用于血痕拉曼光谱鉴别充分体现出其有效性。 通过互信息法过滤得到的最佳波段组合, 再利用SVM算法分类, 其在验证集和测试集准确率都是较高的。 在选择50个波段时, 分别达到88.8%和86.0%。 PCA+SVM算法的准确率低于MI+SVM。 波段选择方法的适应性更好、 可解释性更强, 对利用拉曼光谱在其他领域应用有借鉴意义。 在实践方面, 波段选择可以简化拉曼光谱系统, 使该技术应用于刑事技术、 海关检疫等方面更加快捷和经济。