我不理解LIBLINEAR API中偏见参数的含义。为什么在培训期间由用户指定?它不应该只是从分离超平面到原点的距离,它是学习模型的一个参数吗?
这是来自自述文件:
struct problem
{
int l, n;
int *y;
struct feature_node **x;
double bias;
};
如果偏差> = 0,我们假设在每个数据实例的末尾添加了一个附加功能。
这个附加功能是什么?
答案 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影响边距。因此,偏差是一个调整参数,通常通过与其他参数类似的交叉验证来确定。