首页 » 机器学习实战 » 机器学习实战全文在线阅读

《机器学习实战》5.1 基于Logistic回归和Sigmoid函数的分类

关灯直达底部

Logistic回归

优点:计算代价不高,易于理解和实现。缺点:容易欠拟合,分类精度可能不高。适用数据类型:数值型和标称型数据。

我们想要的函数应该是,能接受所有的输入然后预测出类别。例如,在两个类的情况下,上述函数输出0或1。或许读者之前接触过具有这种性质的函数,该函数称为海维塞德阶跃函数(Heaviside step function),或者直接称为单位阶跃函数。然而,海维塞德阶跃函数的问题在于:该函数在跳跃点上从0瞬间跳跃到1,这个瞬间跳跃过程有时很难处理。幸好,另一个函数也有类似的性质1,且数学上更易处理,这就是Sigmoid函数2。Sigmoid函数具体的计算公式如下:

1. 这里指的是可以输出0或者1的这种性质。——译者注

2. Sigmoid函数是一种阶跃函数(step function)。在数学中,如果实数域上的某个函数可以用半开区间上的指示函数的有限次线性组合来表示,那么这个函数就是阶跃函数。而数学中指示函数(indicator function)是定义在某集合X上的函数,表示其中有哪些元素属于某一子集A。——译者注

图5-1给出了Sigmoid函数在不同坐标尺度下的两条曲线图。当x为0时,Sigmoid函数值为0.5。随着x的增大,对应的Sigmoid值将逼近于1;而随着x的减小,Sigmoid值将逼近于0。如果横坐标刻度足够大(图5-1下图),Sigmoid函数将看起来很像一个阶跃函数。

图5-1 两种坐标尺度下的Sigmoid函数图。上图的横坐标为-5到5,这时的曲线变化较为平滑;下图横坐标的尺度足够大,可以看到,在x = 0点处Sigmoid函数看起来很像阶跃函数

因此,为了实现Logistic回归分类器,我们可以在每个特征上乘以一个回归系数,然后把所有的结果值相加,将这个总和代入Sigmoid函数中,进而得到一个范围在0~1之间的数值。最后,结果大于0.5的数据被归入1类,小于0.5的即被归入0类。所以,Logistic回归也可以被看成是一种概率估计。

确定了分类器的函数形式之后,现在的问题变成了:最佳回归系数3是多少? 如何确定它们的大小?这些问题将在下一节解答。

3. 将这里的weight 翻译为“回归系数”,是为了与后面的局部加权线性回归中的“权重”一词区分开来,在不会引起混淆的时候也会简称为“系数”——译者注