分类和回归是机器学习的两大部分;接下来回顾一下分类模型。
对于不同的数据集,可选择的分类模型也是不同的。
【数据集的线性可分性】
给定一个数据集 T T T={
( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) {(x_1,y_1),(x_2,y_2),...,(x_N,y_N)} (x1,y1),(x2,y2),...,(xN,yN)},其中, x i ∈ R n x_i \in R^n xi∈Rn, y i ∈ y_i\in yi∈{+1,-1},i=1,2,…,N,如果存在某个超平面S
w x + b = 0 wx+b=0 wx+b=0能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,即对所有 y i = + 1 y_i=+1 yi=+1的实例i,有 w x i + b > 0 wx_i+b>0 wxi+b>0,对所有 y i = − 1 y_i=-1 yi=−1的实例i,有 w x i + b < 0 wx_i+b<0 wxi+b<0,则称数据集T为线性可分数据集,否则,称数据集T线性不可分。
1、概述
感知机是由美国学者FrankRosenblatt 在1957 年提出来的,被看作为神经网络(深度学习)的起源的算法,同时也是支持向量机的基础。
严格讲,应该称为“人工神经元”或“朴素感知机”,但是因为很多基本的处理都是共通的,所以这里就简单地称为“感知机”。
感知机是二分类的线性模型,其输入是实例的特征向量,输出的是事例的类别,分别是+1和-1,属于判别模型。
感知机要求数据集本身线性可分:感知机学习的目标是求得一个能够将训练数据集正实例点和负实例点完全正确分开的分离超平面。
在二维平面上,线性可分意味着能用一条直线将正、负样本分开;
在三维空间中,线性可分意味着能用一个平面将正、负样本分开;
在n维空间中,线性可分意味着能用n-1维超平面将正、负样本分开。
2、感知机模型
2.1 定义
设输入空间(特征空间)为 X ⊆ R n X\subseteq\R^n X⊆Rn;输出空间为Y={−1,+1}
输入 x ∈ X x\in X x∈X 为实例的特征向量 输出 y ∈ Y y\in Y y∈Y 为实例的类别
由输入空间到输出空间的如下函数称为感知机
f ( x ) = s i g n ( w x + b ) = { 1 wx+b ≥ 0 − 1 wx+b<0 f(x)=sign(wx+b)= \begin{cases} 1& \text{wx+b $\geq$ 0}\\ -1& \text{wx+b<0} \end{cases} f(x)=sign(wx+b)={
1−1wx+b ≥ 0wx+b<0
其中w和b为模型参数, w ∈ R n w\in\R^n w∈Rn称为权值, b ∈ R b\in\R b∈R称为偏置。sign是符号函数。
感知机模型有直观的几何解释:线性方程wx+b=0 对应于分离超平面S,其中w为超平面S的法向量,b为S的截距。求解感知机,就是要解出w和b,得到能正确分离所有正负样本的超平面S。
2.2 损失函数
为找出正确的分离超平面、确定感知机模型参数,需要确定一个学习策略。在监督学习中,使用某种策略即是选用相应的损失函数。
损失函数的一个自然选择是误分类点的总数。但是,这样的损失函数不是参数 w , b w,b w,b的连续可导函数,不易优化。见下图,当超平面在空间中由S1连续变化至S3时,相应的法向量w也连续变化,而误分类点数量则是不连续的。
为此感知机采用的损失函数为:误分类点到超平面S的总距离,该函数对w和b连续可导。
损失函数:
给定训练集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={ (x1,y1),(x2,y2),...,(xN,yN)},其中 x i ∈ R n x_i\in \R^n