神经网络中的自由项w0是什么?感知机场景下w0应如何获取与构造?
感知机中自由项w0的来源与构造方法
w0也叫偏置项(bias),本质上是为了解决无约束线性分类面必须过原点的限制,提升感知机的分类适配能力。
如果去掉w0,感知机的分类超平面公式w1x1 + w2x2 + ... + wnxn = 0必然经过坐标原点,大量线性可分的场景都无法覆盖。举个最简单的一维分类例子:要求对所有x>2的样本分为正类,x<2分为负类,没有w0的话分类面只能固定在x=0的位置,完全无法满足需求;加入w0后分类面变为w1x + w0 = 0,调整w0就能把分类面平移到x=2的位置,完成分类任务。
w0的构造方式
- 最通用的实现方案是给输入特征扩展一个固定为1的维度:原始输入特征为
[x1, x2, ..., xn],扩展后变为[1, x1, x2, ..., xn],对应的权重列表设为[w0, w1, w2, ..., wn]。这样原来的求和式w0 + w1x1 + ... + wnxn可以直接写成权重向量和特征向量的点积W·X,不需要单独对w0做特殊计算,代码实现逻辑更统一。 - 训练阶段w0的更新规则和其他权重完全一致,不需要特殊处理。以原始感知机的损失更新规则为例:对误分类样本
(x, y),所有参数按照wi = wi + η*y*xi更新,其中扩展的x0固定为1,因此w0的更新公式简化为w0 = w0 + η*y,η为学习率。
注意:w0是通过训练数据自动学习得到的参数,不需要人工提前赋值,只需要在特征扩展的时候预留对应的参数位置即可。
内容的提问来源于stack exchange,提问作者Roman
相关产品推荐
相关产品推荐

