感知机应该是机器学习里面最简单的模型了。读一遍文章也能理解作者想表达的意思。因为以前像梯度下降,多项式拟合,神经网络都在Andrew Ng的公开课上看过了。但是真正关于书中的公式却不怎么理解。一些简单的作者也没有推导。毕竟这是机器学习,不是微积分,或者线性代数,或者概率论。微积分,概率论,线性代数是 大学期间的基础课程。很多人应该都学过。
关于感知机的几何模型。
感知机有如下几何解释:线性方程:
w•x+b=0
对应于特征空间Rn中的一个超平面S,其中w是超平面的法向量,b是超平面的截距。
我们首先看一下法向量的定义
如果一个非零向量n与平面a垂直,则称向量n为平面a的法向量。
垂直于平面的直线所表示的向量为该平面的法向量。每一个平面存在无数个法向量。
因为我们知道超平面的几何方程还可以这样写 :Ax+By+Cz=D;如下图
上图来自于网易公开课,可汗学院线性代数公开课,点击进入
其中法向量n=Ai+Bj+Cz ;也就是法向量可以如下表示(A,B,Z);
超平面几何方程:Ax+By+Cz=D;
和该处超平面的方程相对比,w•x+b=0 也就是w=n=(A,B,Z) ,其中-b为超平面的截距,也就是平面方程中的D;
感知机模型中的X也就是特征向量,也就是平面中的一系列点,也就是我们超平面几何方程中的(x,y,z);
到此我们就不能理解了。感知机几何模型w•x+b=0 既是超平面几何方程Ax+By+Cz=D;
感知机学习策略
既然了解了感知机的几何模型,接下来我们就看一下感知机的学习策略。
对于一个线性可分的 数据集
我们现在需要找到一个分离超平面,也就是确定w,b的参数,来将损失函数最小化,在这儿也就是求出所有的点到该几何平面的总距离,并使该总距离最短。从而将特征向量完全区分开来。
我们需要求任意一点到该超平面的距离,公式如下
我们首先来看|w•x0+b|的意义
我们先不管作者给出的公式。我们先看一下在线性代数里面是怎样求一个点到平面的距离的。
具体的公式推导请到网易公开课,线性代数课程观看,点击此处
从线性几何我们得出任意一点到平面的距离公式是
其中Ax+By+Cz-D,也就是我们上面给的线性几何模型。相对于感知机也就是w•x+b
对于A2+B2+C2开平方也就是将对法向量w(A,B,C) 的一系列操作。作者在书中提到该值是法向量w的L2范数。我们先看一下范数的概念。
该定义来自线性代数
从上定义我们可以得知||w||即为对A2+B2+C2开平方。
至此我们就明了了作者书中公式的由来。