3、距离度量

文章目录2、嵌入 3、距离度量
1、聚类:
刚接触的聚类算法就是K-Means,当时也通过复现了算法代码来理解了原理 。在后面的许多论文中,都利用了聚类的思想 。聚类的最主要思想为:找到一簇数据中的最具代表性的数据作为代表,并以此来代表某一类别的数据 。再通过度量其他数据与这些代表的相似性实现分类 。
· K-Means
主要原理见这篇文章,主要是通过这个算法来理解聚类的意义 。
· Bamic
该算法是基于包,距离度量方式为豪斯多夫距离 。论文阅读见这一篇,代码见这一篇 。
这个算法与K-Means有一定关联,因为算法利用K-算法进行聚类:随机选出K个点作为中心,计算每个簇的平均距离,并通过平均距离找到新的中心,依次迭代,直到中心不再变化为止 。
在嵌入方面,Bamic通过计算每个包与k个中心的距离,将包映射为k维的特征向量,每一维都是该包与第k个中心的间距 。得到映射向量后,再进行分类处理 。
·Peak
参考这篇文章,算法的核心思想是:密度比邻居节点高、与比其密度大的点的距离相对大的点是聚类中心 。目的是为了找到最具代表性的点 算法中的一些具体细节会在SMDP中提到 。
DP算法将密度 ρ \rho ρ与距离 δ \delta δ组合成为 ( ρ , δ ) (\rho, \delta) (ρ,δ)并映射到二维空间中进行决策 。
· SMDP
该算法是基于包,距离度量方式为豪斯多夫距离 。论文阅读见这一篇,代码在这一篇 。算法以 Peak为基础,找出数据集中的代表包,并将其利用到多示例学习中 。SMDP的算法思想为:通过计算密度选出那些周围包数量多的包作为,这样的最具代表性,能够代表周围一圈的包 。然后计算每一个包到它们所属的距离并映射 。最终对映射的向量通过svm等分类器进行分类得到预测结果。
算法流程图:
由于 得到的是整数,得到的结果是整数,会出现密度相同的情况,而 很少出现这种情况 。因此常选用高斯核为核函数 。下面的MIDIE也同样使用了高斯核 。
之所以求每个包距其的距离,就是来度量包与每个代表包的相似度,从而判断这个包的类型 。通过距离来侧面体现每个包的特征 。
该算法在DP的基础上增加了嵌入,得到每个包的映射向量 。最后再对这些向量通过SVM等分类器进行分类 。算法利用了聚类的思想,关键就是如何找到最具代表性的包 。
· MIDIE
该算法是基于实例 ,距离度量方式为欧氏距离 。论文阅读见这一篇,代码见这一篇 。算法沿用了SMDP中的聚类思想来找出代表实例 ,且也包含中的一些方法 。
同样,MIDIE通过聚类选出了每个包中最能够代表这个包的实例原型,其中加入了关联性,在中也有用同样的方式来构建。关联性体现了某个实例与其他实例的关联程度,若某个实例与周围实例的关联性高(距离小于包内实例平均距离),则该实例称为实例原型的几率越大 。MIDIE同时考虑了密度与关联性,从两个角度综合起来选出了一个包中最具代表性的那一个实例原型,构成了实例原型池 。
在代表实例选择阶段,则依旧沿用了SMDP中的思想来选出实例原型中的代表实例 。这一阶段与SMDP差别不大,同样考虑了每个实例原型的重要性与独立性,都是通过计算密度与距离来计算得分,并选出实例原型 。从实例原型池中选出代表实例,更能凸显出代表实例的代表性 。
算法流程图:
在映射部分,与SMDP不同,MIDIE是通过差值来体现每个包的特征 。若差值较小,则说明该实例与其代表实例差别不大,则为同一类别的可能性越大;反之则越小 。