1.一种基于邻域粗糙集的半监督多标签在线流特征选择算法,其特征在于包括以下步骤:
S01.定义标签集L,其中lj∈L为L中的第j个标签;
S02.定义候选特征集为S,并初始化S03.定义候选特征集S的依赖度为γ(S);
S04.定义候选特征集S的历史依赖度为Deps,并初始化Deps=0;
S05.定义候选特征集S的平均依赖阈值为Mean_Dep,并初始化Mean_Dep=0;
S06.定义第i个特征到达的时刻为ti;并初始化ti=0;
S07.定义在时刻ti到达的特征为fi;
S08.判断是否存在缺失标签的情况,若存在,则进行步骤S09;若不存在,则进行步骤S10;
S09.根据均值邻域关系获得缺失标签实例的邻居,通过对相似实例标签的分析预测缺失标签的值,并且在获得所需值后恢复标签;
S10.计算特征fi的依赖度γ(fi);
S11.判断特征fi是否为重要特征,即γ(S∪fi)>Deps是否成立,若成立,进行步骤S15;
否则,进行步骤S12‑S14;
S12.判断是否需要对候选集S进行冗余更新处理,如需要,则进行步骤S13‑S14;如不需要,进行步骤S16;
S13.将特征fi插入到候选集S中,即令S=S∪fi;
S14.对候选集S进行冗余更新操作,并进行步骤S16;
S15.将特征fi插入到候选集S中,即令S=S∪fi,并更新Deps的值;
S16.更新平均依赖阈值Mean_Dep;
S17.判断是否还有未处理的特征,若有,则返回步骤S08;若没有,则输出最有特征集S。
2.根据权利要求1所述的一种基于邻域粗糙集的半监督多标签在线流特征选择算法,其特征在于:步骤S08‑S09所述的对缺失标签预测的具体步骤如下所述:①用Δ(xi,xj)表示实例x和实例y在候选集S={s1,s2,…,s|S|}上的距离,这里代表欧几里得距离,其计算公式如下:
其中six表示实例x在特征si上的取值(1≤i≤|S|),sjy表示实例y在特征sj上的取值(1≤j≤|S|);
②令NS(xi)表示通过对xi与具有特征子集S的其他实例之间的距离进行排序而获得的邻居序列,具体表示为:
其中 表示与xi距离最近的实例,即 的值最小;其中 表示与xi距离最远的实例,即 的值最大;
③在给定NS(xi)的情况下,令SR(xi)表示通过均值邻域关系R找到xi的邻居集合,假设实例xj∈SR(xi),必须满足下列条件:根据上式可知,实例与邻居间的平均距离可以通过最大距离减去最小距离除以n‑1得到;如果当前实例与其他实例之间的距离小于平均距离乘以0.35,则该实例可以当作当前实例的邻居;
④假设xi缺失的标签为li,其均值邻域集SR(xi)中有Pos个正样本,即li=1;有Neg个负样本,即li=‑1,可以通过实例邻居的相应标签中正负样本的数量来实现缺失标签的预测。
3.根据权利要求2所述的一种基于邻域粗糙集的半监督多标签在线流特征选择算法,其特征在于:公式中的0.35是具有更高效率的参数。
4.根据权利要求1所述的一种基于邻域粗糙集的半监督多标签在线流特征选择算法,其特征在于:步骤S03与步骤S10对特征或特征集依赖度的计算具体步骤如下所述:①在给定SR(xi),即通过均值邻域关系R找到xi的邻居集合情况下,令CARD(SR(xi))表示实例xi的card value,以用来计算实例与它邻居的标签一致性;
②在给定特征集S后,遍历标签集L中的每一个标签,若是存在缺失标签的情况,则通过标签预测法对缺失标签进行预测;而后令XS表示在特征集S上的所有实例的集合,遍历XS上的所有实例,计算每一个实例的card value值并将所有实例card value值之和记录下来,当XS上的所有实例均已计算完后,恢复缺失标签,继续遍历下一个标签;上述过程用公式表示为:
上式中,Lnum表示标签集L的大小,即总标签数量;N表示实例集XS的大小,即在特征集S上的所有实例的数量,CARD(SR(xj))表示实例xj的card value值,用来计算实例xj与它邻居在标签li上的一致性;最后获得的deps表示当前特征集S对标签的依赖度,用γ(S)表示;单个特征fi依赖度的计算方式与特征集S依赖度计算方式相同,仅需令S={fi},再带入特征集依赖度计算的步骤即可得到特征fi依赖度γ(fi)。
5.根据权利要求1所述的一种基于邻域粗糙集的半监督多标签在线流特征选择算法,其特征在于:步骤S11判断特征fi是否为重要特征的具体步骤如下所述:判断特征fi是否会提高候选特征集S的依赖度,即比较γ(S∪fi)与候选集S历史依赖度Deps之间的大小关系;若γ(S∪fi)>Deps,则证明特征fi是重要特征,将特征fi加入到候选集S中,即令S=S∪fi,并更新历史依赖度Deps的值,即令Deps=γ(S∪fi);否则,进行在线冗余更新判断。
6.根据权利要求1所述的一种基于邻域粗糙集的半监督多标签在线流特征选择算法,其特征在于:步骤S12‑S14判断是否需要对候选集S进行冗余更新的具体步骤如下所述:①判断是否需要对候选集S进行冗余更新,即当满足γ(S∪fi)=Deps且γ(fi)>Mean_Dep的条件时,需要对候选集S进行冗余更新操作;
②特征fi加入到候选集S中,即令S=S∪fi,为了公平对待候选特征集中的所有特征,需要在候选特征集S中随机选取一个特征fj并计算该特征的重要度δS(fj)直到所有的特征都被计算过一次,重要度的计算公式如下:δS(fj)=γ(S)‑γ(S‑fj)③如果特征fj的重要度δS(fj)=0,则将特征fj从候选集S中移除,即令S=S‑fj;否则继续计算候选特征集S中剩余的特征。
7.根据权利要求1所述的一种基于邻域粗糙集的半监督多标签在线流特征选择算法,其特征在于:步骤S16的平均依赖阈值Mean_Dep的计算具体步骤如下所述:遍历候选特征集S中的每一个特征fi,并计算特征fi的依赖度γ(fi),而后根据公式更新平均依赖阈值Mean_Dep的值,平均依赖阈值Mean_Dep的计算公式如下:其中,|S|代表候选集S的大小,即候选集中包含特征的数量,γ(fi)是特征fi的依赖度,并且fi∈S。