上QQ阅读APP看书,第一时间看更新
4.4 告别偏置
到目前为止,我们执行了如下预测公式:
现在我们按如下方式将偏置放回预测公式:
我们可以像上一章那样,匆忙地编写代码并在每个地方添加偏置,但是请稍等一下。我可以教你一个技巧,可以让偏置更加顺利地融入代码当中。
再看一下前面的公式,偏置和权重之间有什么区别呢?它们之间唯一的区别在于,权重乘以某个输入变量x,而偏置并非如此。现在假设系统中还有一个输入变量(我们称之为x0),它的值总是1。那么可以将公式改写成如下形式:
现在偏置和权重之间没有任何区别。偏置就是一个输入变量的权重,而这个输入变量的取值恒为常数1。这就是我说的技巧,可以添加一个取值恒为1的虚拟输入变量,这就不再需要显式地表示偏置了。
我们可以通过在pizza_3_vars.txt文件中添加一列1来加入这个常量输入变量,如下图所示:
然而,通常最好避免打乱原始数据的结构,我们可以在加载数据之后将一列1插入X中。这个偏置列的位置并不重要,但通常将它作为第一列插入,如下所示:
我们可以利用这个机会在程序中添加一些打印输出命令。首先,打印权重矩阵(转置后的,使之适合于一行),然后打印前5个样本的预测值和标签值,这样就可以对它们进行比较了。
这样,我们的多元线性回归程序就完成了。