1.一种基于半监督学习的社交网络垃圾用户过滤方法,其特征在于,包括以下步骤:S1:针对某一社交网络,获取多个用户的社交特征X,包括各个用户的消息内容特征和用户行为特征,并将这些特征存储入数据库中;
S2:利用信息增益算法对步骤S1中的所有特征数据进行排序选取,得到三组贡献度平均的特征向量X1,X2和X3;具体方法为:S21:训练样本集为D,|D|表示其样本容量,即样本个数;C1表示正常用户,C2表示垃圾用户;此时分类系统的熵可以表示为:其中,P(Ci)表示在全部用户中Ci用户所占比例,|Ci|表示Ci用户的个数,其中i=1,2;
S22:在特征选取过程中,x表示特征X出现,表示特征X不出现,那么特征X固定时的条件熵为:其中,H(C|x)表示特征X出现的条件下分类系统的条件熵、 表示特征X不出现的条件下分类系统的条件熵、P(x)表示特征X出现的概率、 表示特征X不出现的概率、P(Ci|x)表示特征X出现的条件下Ci用户的条件概率、 表示特征X不出现的条件下Ci用户的条件概率;
S23:根据S21和S22得到的分类系统的熵和特征X固定时的条件熵,得出特征X给系统带来的信息增益为:IG(X)=H(C)-H(C|X),然后对全部特征的信息增益进行排序,得到三组贡献度平均的特征向量;
S3:从步骤S1所述社交网络中取少量用户作为训练样本,并对其进行部分标注,L表示已标注样本集,U表示未标注样本集;
S4:通过自助抽样的方法在已标注的社交用户数据L中随机选取三组不同训练样本集D1,D2,D3;
S5:将步骤S2得到的三组贡献度平均的特征向量X1,X2,X3,作为协同训练算法Tri-training的三个视图,通过三个视图上的训练得到垃圾用户的三个初步分类器h1,h2,h3;
S6:利用步骤S5得出的三个初步分类器,采用投票的方式完成对未标注样本集x∈U的标注,并作为新的训练样本{x}更新分类器,通过不断迭代更新,使得分类器达到最优;
S7:利用最终得到的分类器对待测用户进行检测。
2.根据权利要求1所述一种基于半监督学习的社交网络垃圾用户过滤方法,其特征在于:所述消息内容特征和用户行为特征具体包括:关注数、粉丝数、消息数、注册天数、收藏数、日发消息数、周发消息数、关注数/粉丝数、被转发次数、被评论次数、被赞次数、平均话题数、平均@的用户数、平均URL链接数、平均图片数、消息相似度、平均每条消息中字母个数和平均每条消息中数字个数。
3.根据权利要求1所述一种基于半监督学习的社交网络垃圾用户过滤方法,其特征在于:所述协同训练算法Tri-training如下:S51:令Li为本轮迭代当中加入到分类器hi中的未标记样本,l′i为上轮加入到分类器hi中的未标记样本个数,e′i和ei为上轮和本轮当中hj和hk两个分类器的共同错误率,其中i=
1,2,3(j,k≠i);
S52:如果ei<e′i,那么对于任意x∈U,如果hk对x的分类结果hk(x)和hj对x的分类结果hj(x)相等,那么就将所有满足条件的样本集合{x}与Li合并,即Li=Li∪{x},然后在L∪Li上更新分类器hi,令e′i=ei,l′i=|Li|,对i=1,2,3依次执行上述步骤;
S53:循环执行步骤S52,直到三个分类器对未标记样本都不再变化为止。
4.根据权利要求3所述一种基于半监督学习的社交网络垃圾用户过滤方法,其特征在于:所述两个分类器的共同错误率的计算方法为:假设有z个样本被hj和hk两个分类器判断结果一致,其中结果正确的有z′个样本,那么两个分类器的共同错误率为(z-z′)/z。