【问题标题】:Custom SVM optimization using LIBLINEAR or LIBSVM使用 LIBLINEAR 或 LIBSVM 进行自定义 SVM 优化
【发布时间】:2016-05-28 12:10:17
【问题描述】:

我有一个 PU 学习任务,我在这篇论文中发现了一个看起来像解决它的特殊算法:https://www.cs.uic.edu/~liub/publications/ICDM-03.pdf

我希望实现第 5 部分中描述的“有偏”SVM 的非标准公式。

使用两个 参数 C+ 和 C- 来加权正错误和 不同的负错误。

我想我会使用现有的 SVM 求解器来解决这个问题,不仅可以加快跑腿工作,还可以确保最佳时间复杂度,因为我的特征空间和样本数量都非常大(因此我希望使用 LIBLINEAR)。

有没有办法像上面那样指定自定义损失函数?

感谢您的帮助。

【问题讨论】:

    标签: python svm libsvm liblinear quadratic-programming


    【解决方案1】:

    LIBLINEAR 'train' 接受参数 -wi weight:“权重调整不同类别的参数 C”。它的实际用途(它需要一个数组吗?)我仍然不清楚,即使在阅读了自述文件之后。 但是 Sklearn 的 LinearSVC 使用 LIBLINEAR 并提供了一个参数:

    class_weight : {dict, ‘balanced’}, 可选 对于 SVC,将第 i 类的参数 C 设置为 class_weight[i]*C。如果没有给出,所有的类都应该有一个权重。 “平衡”模式使用 y 的值自动调整权重,与输入数据中的类频率成反比,如 n_samples / (n_classes * np.bincount(y))

    相当很有用。

    【讨论】:

      猜你喜欢
      • 2021-07-16
      • 2018-05-18
      • 2015-07-27
      • 1970-01-01
      • 2014-01-13
      • 2013-05-24
      • 1970-01-01
      • 2015-04-12
      • 2022-11-11
      相关资源
      最近更新 更多