最近在做机器学习身份认证的过程中,使用SVM(支持向量机)分类器效果很好,但是有一个无法避免的问题就是训练集必须有合法用户和非法用户的数据,才能训练分类器。但是实际应用中只能拿到合法用户的数据集,没有办法拿到非法用户的数据集。
为了解决这个问题我目前想到了两种方法:
方法1.在实际应用中首先在系统里面放几个提前收集好非法用户的数据,然后再实际应用中只需要合法用户的数据即可正常使用SVM分类器,但是这种方法有一定的缺陷,并且并未真正解决问题,因此我查阅相关文献,了解了一些其他解决方案。
方法2.使用单分类器,目前这方面的研究好像也不多,单分类器不像多分类器那样会搜索出很多种分类器,我在网上搜索到的单分类器只有三种,一般用于离群检验和异常点检测。 三种分类器分别为:(1)OneClassSVM(2)EllipticEnvelope(3)IsolationForest 同时再提取特征的时候一般是提取基于距离的特征,同普通的机器学习分类不同的是再特征提取之后多了一个步骤,需要计算特征向量之间的距离矩阵来描述特征之间的相似性,然后使用上述三种单分类器训练用户模型。
目前我没有进行提取基于距离的特征使用SVM二分类正确率再95%以上,但是使用OneClassSVM单分类器时正确率只有68%,后续还需要计算距离矩阵,验证基于距离的特征矩阵能否使用单分类器达到一个很高的正确率。
总结:
1.其实单分类器本质上是无监督学习,而二分类或者多分类SVM是带标签的监督性学习,因此从这方面来讲监督性学习的正确率应该是会比无监督学习分类器的正确率高一些。
2.机器学习中特征很重要,必须要结合领域知识提取代表性的特征,同时使用一些特征提取方法比如PCA等来提取更具代表性的特征来提高最终的分类正确率。








网友评论