[英]Custom SVM optimization using LIBLINEAR or LIBSVM
我有一个PU学习任务,在本文中发现了解决该问题的特殊算法: https : //www.cs.uic.edu/~liub/publications/ICDM-03.pdf
使用两个参数C +和C-分别加权正误差和负误差。
我以为我会在此问题上使用现有的SVM求解器,不仅可以加快操作速度,而且可以确保最佳的时间复杂度,因为我的特征空间和样本数量都非常大(因此,我希望使用LIBLINEAR)。
有什么方法可以像上面的方法那样指定自定义损失函数?
谢谢您的帮助。
LIBLINEAR'train'接受-wi weight参数:“权重调整不同类的参数C”。 即使阅读了README,它的实际用途(是否需要一个数组?)仍然不清楚。 但是 Sklearn的LinearSVC使用LIBLINEAR并提供了一个参数:
class_weight :{dict,'balanced'},可选对于SVC,将类i的参数C设置为class_weight [i] * C。 如果未给出,则所有类都应具有权重一。 “平衡”模式使用y值自动将权重与输入数据中的类频率成反比地调整为n_samples /(n_classes * np.bincount(y))
这很有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.