感知机(perceptron)学习——学习笔记
2018-03-11 16:09
302 查看
一、感知机
感知机是二分类线性分类模型,输入为实例的特征向量,输出为+1,或者-1.由输入到输出函数为f(x) = sign(w*x+b),w为权值(weight),b叫做偏置(bias)。sign为符号函数。(w是超平面的法向量,b是超平面的截距)。
感知机是通过确定一个超平面来将样本分成两类,也就是说我们通过不断调整w和b来确定这个超平面,直到找到这个超平面为止。简单来说,把他想成二维空间,就是平面上有一些点,这些点一类是+1,一类是-1,我们的目的就是找到一条直线可以将这二类点分开,这条直线的函数解析式w*x+b。我们通过调整斜率w和截距b来调整直线,直到其可以分成二类的点。
我们这里定义一个损失函数,就是衡量分类错误的多少的一个函数(我自己理解的)。那我们就是要使这个损失函数尽量小。
损失函数的自然选择是误分类点的总数,但是这样的损失函数不是参数w,b的可导函数,不容易优化。
(x0x0,y0y0)到直线Ax+By+C = 0的距离为:
d=|Ax+By+C|A2+B2−−−−−−−√d=|Ax+By+C|A2+B2
所以我们来计算x0x0到平面S的距离:
1||w|||w∗x0+b|1||w|||w∗x0+b|
||w||是w的L2范数,||w||=w2−−√||w||=w2
而对于误分类的数据(xi,yixi,yi)来说,yi∗(w∗xi+b)>0yi∗(w∗xi+b)>0,所以误分类点xixi到S的距离为:
−1||w||∗yi|w∗xi+b|−1||w||∗yi|w∗xi+b|
所以误分类点到S的总距离为(误分类的距离为M):
−1||w||∑xi∈Myi|w∗xi+b|−1||w||∑xi∈Myi|w∗xi+b|
不考虑1||w||1||w||,就是感知机学习的损失函数。
所以感知机sign(w*x+b)学习的损失函数为:
L(w,b)=−1||w||∑xi∈Myi|w∗xi+b|L(w,b)=−1||w||∑xi∈Myi|w∗xi+b|
我们通过对这个损失函数进行梯度下降算法,即:
minw,bL(w,b)=−1||w||∑xi∈Myi|w∗xi+b|minw,bL(w,b)=−1||w||∑xi∈Myi|w∗xi+b|
对这个损失函数分别对w和b求导,得到梯度,w的梯度为-yixiyixi,b的梯度−yi−yi,所以更新公式为:
w←w+ηyixiw←w+ηyixi b←b+ηyib←b+ηyi
ηη是步长,也称为学习率。然后不断更新直到符合某个停止条件,得到这个感知机模型。
感知机是二分类线性分类模型,输入为实例的特征向量,输出为+1,或者-1.由输入到输出函数为f(x) = sign(w*x+b),w为权值(weight),b叫做偏置(bias)。sign为符号函数。(w是超平面的法向量,b是超平面的截距)。
感知机是通过确定一个超平面来将样本分成两类,也就是说我们通过不断调整w和b来确定这个超平面,直到找到这个超平面为止。简单来说,把他想成二维空间,就是平面上有一些点,这些点一类是+1,一类是-1,我们的目的就是找到一条直线可以将这二类点分开,这条直线的函数解析式w*x+b。我们通过调整斜率w和截距b来调整直线,直到其可以分成二类的点。
我们这里定义一个损失函数,就是衡量分类错误的多少的一个函数(我自己理解的)。那我们就是要使这个损失函数尽量小。
损失函数的自然选择是误分类点的总数,但是这样的损失函数不是参数w,b的可导函数,不容易优化。
(x0x0,y0y0)到直线Ax+By+C = 0的距离为:
d=|Ax+By+C|A2+B2−−−−−−−√d=|Ax+By+C|A2+B2
所以我们来计算x0x0到平面S的距离:
1||w|||w∗x0+b|1||w|||w∗x0+b|
||w||是w的L2范数,||w||=w2−−√||w||=w2
而对于误分类的数据(xi,yixi,yi)来说,yi∗(w∗xi+b)>0yi∗(w∗xi+b)>0,所以误分类点xixi到S的距离为:
−1||w||∗yi|w∗xi+b|−1||w||∗yi|w∗xi+b|
所以误分类点到S的总距离为(误分类的距离为M):
−1||w||∑xi∈Myi|w∗xi+b|−1||w||∑xi∈Myi|w∗xi+b|
不考虑1||w||1||w||,就是感知机学习的损失函数。
所以感知机sign(w*x+b)学习的损失函数为:
L(w,b)=−1||w||∑xi∈Myi|w∗xi+b|L(w,b)=−1||w||∑xi∈Myi|w∗xi+b|
我们通过对这个损失函数进行梯度下降算法,即:
minw,bL(w,b)=−1||w||∑xi∈Myi|w∗xi+b|minw,bL(w,b)=−1||w||∑xi∈Myi|w∗xi+b|
对这个损失函数分别对w和b求导,得到梯度,w的梯度为-yixiyixi,b的梯度−yi−yi,所以更新公式为:
w←w+ηyixiw←w+ηyixi b←b+ηyib←b+ηyi
ηη是步长,也称为学习率。然后不断更新直到符合某个停止条件,得到这个感知机模型。
相关文章推荐
- 感知机模型学习笔记及Python实现
- 人工神经网路学习笔记_感知机_前馈网络
- 机器学习之感知机学习笔记第一篇:求输入空间R中任意一点X0到超平面S的距离
- 感知机学习笔记
- 统计学习笔记之感知机
- 感知机(perceptron)学习算法的对偶形式
- 感知机学习算法——统计学习方法笔记,代码实现
- 深度学习笔记二:多层感知机(MLP)与神经网络结构
- 神经网络学习笔记(九):多层感知机(上)
- 统计学习笔记--感知机模型
- 《统计学习方法》李航_学习笔记_第2章_感知机
- 统计学习方法笔记二---感知机(Perceptron Learning Algorithm,PLA)
- 机器学习-李航-统计学习方法学习笔记之感知机(2)
- 感知机(perceptron)学习算法的原始形式
- 感知机学习笔记
- 感知机学习算法的几何解释(perceptron learning algorithm)
- 统计学习笔记(2)——感知机模型
- 统计学习笔记(2)——感知机模型
- 基于压缩感知机的中文分词学习笔记
- 机器学习-李航-统计学习方法学习笔记之感知机(1)