在实际情况中,输入样本不免存在异常,这对学习过程是十分不利的,减缓这个问题的方法分两种,一种是在学习前就检测出异常并剔除,另一种是提高学习方法的鲁棒性(啊哈哈哈,这么奇怪的字眼,就是抗干扰能力,方法有l1,l2约束等等)
异常检测篇
1.局部异常因子
计算每一个样本的密度比上它邻近k个样本的密度的平均值
具体算法:
异常点/离群点检测算法--LOF - wangyibo0201的博客 - CSDN博客blog.csdn.net代码:
评价:基于近邻密度的比较来找出离群点,但近邻K难以确定
事先规定的规则可能与用户的期望不相符
算法第一步需要算出所有样本距离,若样本n较大,计算负荷相应增加
2.支持向量机异常检测。
求出一个几乎包含所有训练样本的超球,没有包含在球中的样本被看做异常值
so如何求球心和半径变得很明确(球要包含大部分的样本)
通过转化为拉格朗日对偶问题,,。
求偏导为0
求偏导为0,转为2次规划问题求a
最后得出结论
评价:正则化参数C比较难选择