在训练时,我们使用的是不同的误差函数。线性回归用的是平方损失。而逻辑回归使用的是对数误差函数:
$$
\operatorname { L o g } \operatorname { L o s s } = \sum _ { ( x , y ) \in D } - y \log ( y ^ { \prime } ) - ( 1 - y ) \log ( 1 - y ^ { \prime } )
$$
其中, $( \mathbf { \boldsymbol { x } } , \mathbf { \boldsymbol { y } } )$ 属于数据集,包含很多已经标签了的样本数据,y是标签,0或1。对于给定的x, $y ^ { \prime }$ 是预测值,在0和1之间。如果你仔细看这个公式就会发现,它看起来很像Shannon信息论中的熵测量。上述对数误差函数的图形如图9-13所示(如果不好理解这个数学公式,看懂图就行了)。
图9-13表示,越接近其中一个条线,误差就会变得越大,而且变化速度也非常惊人。我们看到了渐近线的作用。由于这些渐近线的存在,我们需要将正则化纳入机器学习中。否则,在指定的数据集上,模型可能会尽量更紧密地拟合数据,努力让这些误差接近0。L2正则化在这里会非常有用,它可以确保权重不会严重失衡。
线性逻辑回归很流行,它的速度非常快,能够非常高效地进行训练和预测。因此,如果我们需要一种方法来很好地扩展到海量的数据,或者需要将某种方法用于延迟时间极短的预测,那么线性逻辑回归可谓是理想之选。如果我们需要使用非线性逻辑回归,则可以通过添加特征交叉乘积来实现。
人工智能与大数据技术导论
278