如何理解LIBLINEAR中的偏差参数?

时间:2013-04-26 17:51:11

标签: libsvm liblinear

我不理解LIBLINEAR API中偏见参数的含义。为什么在培训期间由用户指定?它不应该只是从分离超平面到原点的距离,它是学习模型的一个参数吗?

这是来自自述文件:

struct problem
{
    int l, n;
    int *y;
    struct feature_node **x;
    double bias;
};
  

如果偏差> = 0,我们假设在每个数据实例的末尾添加了一个附加功能。

这个附加功能是什么?

1 个答案:

答案 0 :(得分:5)

让我们看一下分离超平面的等式:

w_1 * x_1  + w_2 * x_2  + w_3 * x_3 + ... + w_bias * x_bias = 0

其中x是特征值,w是训练的“权重”。附加功能x_bias是一个常量,其值等于偏差。如果bias = 0,您将获得穿过原点的分离超平面(0,0,0,...)。您可以想象很多情况,这种超平面不是最佳分隔符。

偏差值通过缩放w_bias影响边距。因此,偏差是一个调整参数,通常通过与其他参数类似的交叉验证来确定。