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

liz*_*isk 3 libsvm liblinear

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

这来自README:

struct problem
{
    int l, n;
    int *y;
    struct feature_node **x;
    double bias;
};
Run Code Online (Sandbox Code Playgroud)

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

这个附加功能是什么?

M45*_*456 5

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

w_1 * x_1  + w_2 * x_2  + w_3 * x_3 + ... + w_bias * x_bias = 0
Run Code Online (Sandbox Code Playgroud)

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

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