概述感知机
我们来看看一个简单的二分类模型:感知机。
感知机是神经网络与支持向量机的基础,如下图所示,这是一个多层神经网络的结构图,其中的一个节点就是感知机。
就像宝可梦里的比卡丘一样,感知机属于初级状态,升级之后可以变成更加强大的神经网络、支持向量机。
不过成也感知机,败也感知机。因为正是由于Minsky和Papert指出感知机不能表示复杂的函数,如异或(XOR)。带来了对感知机的大量批判,之后几十年大家对AI热情消减,这就是著名的第一次AI寒冬。
Tips:异或问题:如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
感知机的定义
简化版定义:f(X)=sign(w*X+b),其中sign是符号函数。
完整版定义:
主要用途:经典的感知机是一种线性的二分类器,主要解决在线性可分数据集的分类问题。就是下面这种情况。
代入实际场景后,可以对实体进行分类,如下图。
特别注意:经典的感知机只能够在线性可分的数据集中发挥作用,线性可分数据集指的是正实例点和负实例点可以完全正确的划分到超平面的两侧。否则是线性不可分的数据集。
感知机的家族:感知机最早在1957年由Rosenblatt提出。Novikoff,Minsky和Papert等人对感知机进行了一系列理论研究。感知机的扩展学习方法还有口袋算法(pocket algorithm)、表决感知机(voted perceptron)、带边缘感知机(perceptron with margin)等。下图为Rosenblatt和Mark1 感知机。
感知机的学习策略
一句话来说:最小化误分类点到超平面的总距离
简单解释下:假设所有误分类点的集合为M,那么所有误分类点到超平面的总距离为
将系数简化后,就得到了感知机的损失函数
学习策略就变成了最小化损失函数的最优化问题。
感知机的学习算法
可以用随机梯度下降法进行寻优,经典的算法有两种形式:原始形式和对偶形式。下一次再详细介绍。
一个投资的故事
假设我们有一只股票,希望能够通过股票的市盈率x1、净利润x2来判断一个月之后会上涨(+1)还是下跌(-1)。
如果我们手头有这只股票的一百个样本的数据集时,即(xi,yi),其中x={x1,x2},y=(-1,+1)。假设这个数据集是线性可分的(当然不可能了,否则我们又发财了哈哈,为什么我要说又。。。)。从几何的角度更容易理解感知机,如下图。
这个问题就像上图所示。这个时候感知器就有用了,就是找到一个线性超平面来把两类数据点划分出来,超平面由公式f(X)=sign(w*X+b)表达。
寻找超平面的过程就是按照最小化误分类点总距离的策略,通过随机梯度下降算法进行迭代优化,最终找到这样的一个超平面。
当我们找到了这样的超平面,也就是f(X)=sign(w*X+b)之后,我们就可以根据这只股票当前的市盈率x1和净利润x2,判断出一个月之后会上涨还是下跌了,那么买入还是卖出就很容易判断咯。
下期预告
下一次我们会说一说感知机的两种随机梯度下降学习算法,并给出算例。
参考资料&拓展阅读