欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据处理--基于KNN算法使用IMS对气味进行分类

程序员文章站 2022-05-18 17:20:22
...

1. Article

1.Scent classification by K nearest neighbors using ion-mobility spectrometry measurements

2. 主要工作和创新之处

• K最近领近算法将气味及其化学成分分类。

• 仅使用离子迁移谱测量法对气味/化学物质进行分类。

• 使用k维树搜索的分类大约快8倍。 (降低运算成本和算法复杂度)

•通过主成分分析,忽略了71–86%的特征进行分类。

3. 算法原理

dE(Xus,Xi)=j=114(xijxj(us))2 d_E(X^{us},X_i)=\sqrt{\sum_{j=1}^{14}{(x_{ij}-x_j^{(us)})^2}}

Xus为14维的IMS样本数据,Xus=[x1(us)…x14(us)]

Xi为训练集中的N个IMS样本,Xi=[xi,1,…xi,14],i=1,…N

选择与样本Xus最邻近的K个同类样本作为其标签

  • K的选择
    • 要在较大和较小中折中。通常,K为3、5或7
    • 不使用固定的K,如:Wang等。(2006)提出了基于统计置信度的置信最近邻规则;程等。(2014)一个K基于稀疏学习的神经网络算法;张等。(2018)提出了一种建立决策树的方法

作者使用固定的K值 \rightarrow数据平滑\rightarrow归一化

4. 数据预处理

4.1 平滑:

数据处理--基于KNN算法使用IMS对气味进行分类

​ 其中xijt)([i=1,2…N, j=1,2…14])为IMS测量值,w是滑动MA的窗口长度

4.2 归一化:

数据处理--基于KNN算法使用IMS对气味进行分类

xˉij\bar{x}_{ij}为归一化值,x~ij\tilde{x}_{ij}为平滑后的测量值,uju_j为均值,σj\sigma_j为标准差

5. 算法优化

5.1 k-d树

IMS数据是14维的,为了增加精确度需要大的N,计算复杂度高必须降低K NN 的计算复杂度。可以使用三种不同的技术:①计算局部距离,②预先构造和编辑训练样本

ķ维树(ķ -d树又名多维二叉搜索树)

  • 新节点加入现有k-d树时,无需重新训练整个树

  • 主要缺点是k -d树可能会错过真正的最近邻居,因为k -d树搜索是一种近似方法

  • 对于较大的*N,*此方法通常效果很好

    特别适合低维,实值数据(例如IMS数据)
    

5.2 PCA降维

目的

  1. 降低数据维度,减少计算成本
  2. 筛选有用的特征,避免被噪声干扰

具体步骤

​ ① 使用PCA对离线训练集进行变换

​ 得到14通道的经验均值
数据处理--基于KNN算法使用IMS对气味进行分类

​ 和包含主成分系数的14×14矩阵C

​ ② 对一个未知新标准化IMS采样样本进行14维的PCA变换

数据处理--基于KNN算法使用IMS对气味进行分类

​ 其中Xˉus\bar{X}^{us}为归一化值,y(us)y^(us)为PCA变换后值。

无需对训练集进行重新训练即可添加新的训练样本

​ ③ 对PCA-变换数据进行分类(使用KNN)

​ 计算新样本y(us)y^(us)与第ii个经过PCA转换的训练样本y i之间的欧几里得距离。
数据处理--基于KNN算法使用IMS对气味进行分类