感知机的思想是错误驱动,即将分类错的样本数目作为损失函数,目的是使分类错的样本最少,即使损失函数的值最小。
由激活函数可知,当分类正确时,与同号,此时;当分类错误时,与异号,此时。表示当分类错误时取值为1,分类正确时,取值为0。L(w)则是分类错误的样本的总数据。我们的目标是使该损失函数最小。
既然明确了目标,就要开始付诸行动了。通常我们如何找到一个函数的最小值呢?那就是求导。但是很明显,这里的损失函数是不可导的,它不是一个连续函数,因此我们需要更换一下函数的表达形式,具体将在3.2说明。
由于3.1.1的公式是不可导的,难以求出令损失函数为极小值的w的估计值。因此,这里转换为3.2.1的形式。在这个公式中,我们将损失函数看做是w的连续函数,因为w每一个微小的变化都会引起L(w)的改变。换句话说,每当,损失函数都会发生一定的改变,即 。此时,我们就可以通过求导的方式来找极小值了。
显然,若将L对w求偏导,我们可以得到
此时无法求解出最佳的w,因此需要改变一下思路,选择随机梯度下降的算法。在我的其他文章中,也有介绍梯度下降,如有不熟悉的读者可以参考。 梯度下降传送门 通过这次求导,其实我们已经找到了损失函数L(w)的梯度。此时只需沿负梯度改变w的取值即可,如下所示: 其中, 是步长。随着w的不断迭代,我们最终可以找到一个局部最优解,得到感知机的决策边界。