《统计学习方法》
读李航老师之《统计学习方法》一书乃做此笔记。强烈推荐此书,对于从事机器学习、人工智能等计算机热门领域的学者定会受益颇深。
感知机
概念:感知机(perceptron)是二类分类(二分类)线性分类模型
,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。旨在求出将训练数据进行线性划分的分离超平面
(w*x + b = 0)
1,感知机模型:
定义:假设输入空间是X属于R(特征空间),输出空间是Y={+1,-1}。输入x表示实例的特征向量,对应于输入空间的点;输出y表示实例的类别。
称为感知机
。其中w叫做权值(weight)或者权值向量(weight vector),b叫做偏置(bias)。w*x表示w和x的内积。Sign是符号函数:
感知机模型就是通过训练数据集来得到模型参数w,b。
2,感知机学习策略:
数据集为线性可分数据集(linearly separable data set)判定:所有yi=+1的实例i,有wxi + b > 0,对所有yi=-1的实例i,,有wx + b <0。
感知机学习的目标:求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面(使用损失函数来确定模型参数)。
感知机的损失函数
定义:
M为误分类点的集合,这个损失函数就是感知机学习的经验风险函数
。
L2范数
:
3,感知机学习算法:
任意选取一个超平面w0,b0,然后用梯度下降法
不断地及消化目标函数。在极小化过程中是一次随机选择一个误分类点使其梯度下降。
感知机学习算法的原始形式:
输入:训练数据集T={(x1,y1), (x2,y2), (x3,y3),…, (xN,yN)},学习率μ(0<μ<=1)
输出:w,b;感知机模型f(x).
(1)选取初值w0,b0
(2)在数据集中选取数据(xi,yi)
(3)如果yi(w*xi + b) <= 0
w←w + μyixi
b ←b + μyi
(4)转至(2),直到训练集中没有误分类点。
感知机学习算法的对偶形式:
输入:线性可分的数据集T={(x1,y1), (x2,y2), (x3,y3),…, (xN,yN)},学习率μ(0<μ<=1)
输出:α,b;感知机模型f(x).
(1)α←0,b←0
(2)在数据集中选取数据(xi,yi)
(3)如果yi(w*xi + b) <= 0
αi←αi + μ
b ← b + μyi
(4)转至(2),直到没有误分类数据。
算法的收敛性:
当训练集线性不可分时,感知机学习算法不收敛,迭代结果会发生震荡
("There are big days and there are small days." --War Horse
)