线性模型(一)感知机

机器学习可分为线性模型和非线性模型两类,线性模型如最古老经典的感知机,逻辑回归(对数几率回归),Fisher判别分析,90年代一度独领风骚的支持向量机,本文将详解感知机。

感知机是现在NN的鼻祖,不过下面写的感知机是最原始的纯线性版本,没有加**函数,即没有任何非线性元素被引入。

(1)模型

y=wTx+w0y=\boldsymbol{w}^T\boldsymbol{x}+w_0
y是线性分界面,可以是二维平面的一根直线,或者三维空间的一个平面,更高维的线性分界面就被叫做超平面。因此线性模型只能一刀切,只能做二分类

模型也可简化为:
y=(w)Txy=(\boldsymbol{w'})^T\boldsymbol{x'}
w=[ww0],x=[x1]\boldsymbol{w'}=\left[ \begin{matrix} \boldsymbol{w} \\ w_0 \end{matrix} \right],\quad \boldsymbol{x'}=\left[ \begin{matrix} \boldsymbol{x} \\ 1 \end{matrix} \right]
线性模型(一)感知机
从模型容易想到:

  1. 感知机的重点就是权向量分界面完全由权向量决定,所以使用感知机进行二分类的核心就是使用迭代法寻找一个可行的权向量和分界面。
  2. 若样本集是线性可分的,则可以实现线性分类的分界面不唯一,最后找到的可行的权向量和分界面因而也不唯一。

(2)判别函数:

g(x)={c1,wTx>0c2,wTx<0g(\boldsymbol{x})=\left\{ \begin{aligned} c_1,\quad&\boldsymbol{w}^T\boldsymbol{x}>0\\ c_2,\quad&\boldsymbol{w}^T\boldsymbol{x}<0 \end{aligned} \right.
where wx\boldsymbol{w}和\boldsymbol{x}均为扩展权向量和特征向量。

以最简单的二维特征空间为例,分界面是条直线:w1x1+w2x2+w0=0w_1x_1+w_2x_2+w_0=0

使得w1x1+w2x2+w0>0w_1x_1^*+w_2x_2^*+w_0>0的特征点(x1,x2)(x_1^*,x_2^*)(分界线上方的点),被分为第一类c1c_1;
使得w1x1+w2x2+w0<0w_1x_1^*+w_2x_2^*+w_0<0的特征点(x1,x2)(x_1^*,x_2^*)(分界线下方的点),被分为第二类c2c_2;

线性模型(一)感知机
另外由上图可以发现,权向量与分界面正交,这在高维也是成立的。


(3)代价函数

这个代价函数定义很巧妙。
线性模型(一)感知机
E为错误样本集。分类有错时,代价函数总为正。
如:x\boldsymbol{x}实际上属于c1c_1,但由于当前权向量形成的分界面不够准确使得wTx<0\boldsymbol{w}^T\boldsymbol{x}<0,被错误分类为c2c_2,根据标签知道xc1\boldsymbol{x}\in c_1,则δx=1\delta_x=-1,则δxwTx>0\delta_x\boldsymbol{w}^T\boldsymbol{x}>0.


(4)梯度下降法迭代求解可行权向量