【问题标题】:How to understand bias parameter in LIBLINEAR?如何理解 LIBLINEAR 中的偏差参数?
【发布时间】:2013-04-20 23:28:51
【问题描述】:

我不明白LIBLINEAR API 中bias 参数的含义。为什么用户在培训期间指定?不应该只是从分离超平面到原点的距离,这是学习模型的参数吗?

这是自述文件:

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

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

这个附加功能是什么?

【问题讨论】:

    标签: libsvm liblinear


    【解决方案1】:

    让我们看看分离超平面的方程:

    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 的缩放来影响边距。因此bias是一个调优参数,通常通过与其他参数类似的交叉验证来确定。

    【讨论】:

    • 我还是不明白。我认为方程看起来像“sum(w_i * x_i) + bias”,其中偏差是从训练数据中学习的。但是我们有 w_bias 和 x_bias。您写道:“附加特征 x_bias 是一个常数,其值等于偏差”。你的意思是 x_bias = 偏差? w_bias 是学来的?我应该在训练数据的特征向量中添加额外的特征 x_bias 吗?
    • 是的,bias = x_bias。所有 w 都是学习参数。不,您不需要在特征向量中显式附加任何内容。
    猜你喜欢
    • 2011-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 2015-02-25
    • 1970-01-01
    • 2013-02-18
    • 2019-11-14
    相关资源
    最近更新 更多