赞
踩
对于一个实例X,首先得到它的K个邻居的集合 N(x),定义Hl1 为对于一个实例有便签l,Hl0为实例没有标签l。则可以建立两个m*n 01矩阵,其中每一行为一个样本,每一行的元素为one-hot为每个标签的有无。
定义事件Elj(jϵ(0,1...k)) 为对于标签 l,K个邻居中包换j个这个标签,则 E为一个 k*n 的矩阵,每一行为距离该实例的样本中每个标签的数量,则[C_{x}(l)]向量是E矩阵的最后一行,表示距离为K时的各个标签数量。
则我们需要的是在已知E矩阵的前提下求得每个标签是否存在的最大概率
通过贝叶斯公式可以得到yx=argmax P(ElCx(l)|Hlb)P(Hlb)(bϵ(0,1))
其中 [P(H_b^l)] 代表实例是否具有标签l 的先验概率,可以用标签l 在整体数据上的出现次数得到:
后验概率:
P(ElCtl|HlB)=c[j]∑kp=0c[p]
其中从c[j]中的Ctl,即实例的距离为K时有标签的数量。
c[]的意思时: 若[x_n] 的K’邻居内有 α个标签[l],那么c[α] +1 (xn为全部个体)
表示为计算总体样本内对于每一个个体都进行一边计算,对于一个标签是一个1*K的向量,每一个元素是整体数据中 如果对于这个个体自己本身有这个标签并且在距离为[{K}’]内有α个个体有这个标签,那么就在这个向量的第[{K}’]个元素加1,[{K}’]从0到K
c[j]表示的就是所有向量中,K邻居内有j个元素并且自己有该标签。(后验概率的后验就在这个J,因为对于每个标签c[]向量时和整体有关)
∑kp=0c[p]为对于该标签 距离从0到K所有的带标签并且自己有标签的数量总和,那么我们要求的是距离为K时有α个的情况。从后验概率的方面考虑,我们认为对于一个个体的一个标签,对他造成影响的时距离为K以为的K个个体,那么我们已经知道了在不同距离上有标签的数量对于个体标签的影响(如果距离越近有标签的数量越多那么可以认为距离对标签时正相关),c[p]为K以内的对于个体标签有影响的所有情况,我们要的时K时所占的比例。
计算出后验概率以后,我们只需看b={0,1}中哪种情况使得这个乘积值最大,若B=1时最大则有标签,反之则没有。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。