一类分类的策略是:训练出一个最小的超球面把正类数据包起来。识别一个新的数据点时,如果这个数据点落在超球面内,则属于正类;否则不是。
示例:给定一些用户的购物行为日志,其中包括两类用户:
- 购买了某个商品的用户。可以肯定该类用户对于该商品是感兴趣的(标记为正例)。
现在给定一群新的用户,预测这些用户中,哪些可能对该商品有兴趣。
如果简单的使用二类分类问题,则有两个问题:
- 未购买商品的用户,不一定是对该商品不感兴趣,可能是由于某些原因未能购买。
- 通常未购买商品的用户数量远大于购买用户的数量。如果使用二类分类,则容易造成正负样本不均匀。
5.2 SVDD 算法
support vector domain description:SVDD
可以用于一类分类问题。类似
SVR
, 允许一定程度上的放松,引入松弛变量。对松弛变量 ,其代价为 。其中 为惩罚系数:
- 若 较大,则不能容忍那些球面之外的点,因此球面会较大。
SVDD
的求解也是采用拉格朗日乘子法:- 根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题: 。
- 先求极小问题:根据 对 偏导数为零可得:
- 代入拉格朗日函数有:
引入核函数:
其解法类似支持向量机的解法。
判断一个新的数据点 是否属于这个类,主要看它是否在训练出来的超球面内:若 ,则判定为属于该类。
- 如果是用核函数,则判定准则为: 。