闲谈:感知器学习算法(The perceptron learning algorithm)
2017-04-17 14:53
387 查看
这一节我们简单地介绍历史上的著名算法——感知器算法,这在后面的学习理论中也会有所提及。设想我们改变逻辑回归算法,“迫使”它只能输出-1或1抑或其他定值。在这种情况下,之前的逻辑函数g就会变成阈值函数sign:
sign(z)={1−1if z≥0if z<0
如果我们令假设为hθ(x)=g(θTx),将其带入之前的迭代法中:
θj:=θj+α(y(i)−hθ(x(i)))x(i)j.
至此我们就得出了感知器学习算法。在19世纪60年代,感知器被认为是大脑中神经元工作的初步模型。需要注意的是虽然感知器模型和我们之前的算法形式上很相似,但它实际上和线性回归等算法是完全不同类型的算法。尤其你很难像线性回归一样给感知器概率论上的有效阐述或极大似然估计的推导。
给定一个数据集
T={(x1,y1),(x2,y2),...,(xN,yN)}
其中,xi∈X∈Rn,yi∈Y={+1,−1},i=1,2,...,N,如果存在某个超平面S
w⋅x+b=0
能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,则称数据集T为线性可分数据集。
感知机学习策略
假设数据集是线性可分的,感知机学习的目标是求得一个能够将训练集正负实例点完全分开的超平面。为了找出这样的超平面,即确定感知机的模型参数w、b,需要定义一个损失函数(成本函数)并将损失函数极小化。
损失函数的一个自然选择是误分类点的个数。但这样的损失函数不是参数w、b的连续可到函数,不易优化。损失函数的另一个选择是误分类点到超平面的距离,这时感知机所采用的。
首先写出空间Rn中任一点x0到超平面S的距离:
1∥w∥|w⋅x0+b|
这里∥w∥是w的L2范数。对于误分类点则有:
−yi(w⋅xi+b)>0
所以误分类点到超平面的距离是
−1∥x∥yi(w⋅xi+b)
那么所有误分类点到超平面的距离为
−1∥x∥∑xi∈Myi(w⋅xi+b)
不考虑1∥x∥,就得到感知机学习的损失函数。感知机sign(w⋅x+b)学习的损失函数定义为
L(w,b)=−∑xi∈Myi(w⋅xi+b)
使用随机梯度下降法优化模型,则有:
∇wL(w,b)∇bL(w,b)=−∑xi∈Myixi=−∑xi∈Myi
没碰到一个误分类点(xi,yi),对w,b进行更新:
wb:=w+ηyixi:=b+ηyi
sign(z)={1−1if z≥0if z<0
如果我们令假设为hθ(x)=g(θTx),将其带入之前的迭代法中:
θj:=θj+α(y(i)−hθ(x(i)))x(i)j.
至此我们就得出了感知器学习算法。在19世纪60年代,感知器被认为是大脑中神经元工作的初步模型。需要注意的是虽然感知器模型和我们之前的算法形式上很相似,但它实际上和线性回归等算法是完全不同类型的算法。尤其你很难像线性回归一样给感知器概率论上的有效阐述或极大似然估计的推导。
感知器模型的另一种阐述
数据集的线性可分性给定一个数据集
T={(x1,y1),(x2,y2),...,(xN,yN)}
其中,xi∈X∈Rn,yi∈Y={+1,−1},i=1,2,...,N,如果存在某个超平面S
w⋅x+b=0
能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,则称数据集T为线性可分数据集。
感知机学习策略
假设数据集是线性可分的,感知机学习的目标是求得一个能够将训练集正负实例点完全分开的超平面。为了找出这样的超平面,即确定感知机的模型参数w、b,需要定义一个损失函数(成本函数)并将损失函数极小化。
损失函数的一个自然选择是误分类点的个数。但这样的损失函数不是参数w、b的连续可到函数,不易优化。损失函数的另一个选择是误分类点到超平面的距离,这时感知机所采用的。
首先写出空间Rn中任一点x0到超平面S的距离:
1∥w∥|w⋅x0+b|
这里∥w∥是w的L2范数。对于误分类点则有:
−yi(w⋅xi+b)>0
所以误分类点到超平面的距离是
−1∥x∥yi(w⋅xi+b)
那么所有误分类点到超平面的距离为
−1∥x∥∑xi∈Myi(w⋅xi+b)
不考虑1∥x∥,就得到感知机学习的损失函数。感知机sign(w⋅x+b)学习的损失函数定义为
L(w,b)=−∑xi∈Myi(w⋅xi+b)
使用随机梯度下降法优化模型,则有:
∇wL(w,b)∇bL(w,b)=−∑xi∈Myixi=−∑xi∈Myi
没碰到一个误分类点(xi,yi),对w,b进行更新:
wb:=w+ηyixi:=b+ηyi
相关文章推荐
- Digression:The perceptron learning algorithm(感知机学习算法)
- 什么是感知器学习算法(Perceptron Learning Algorithm/PLA)?
- 感知机学习算法的几何解释(perceptron learning algorithm)
- 分类-1-逻辑回归(Logistic regression)、感知学习算法(perceptron learning algorithm)、牛顿迭代法
- 【Python-ML】感知器学习算法(perceptron)
- Stanford机器学习__Lecture notes CS229. Logistic Regression(逻辑回归)(2)Perceptron Learning Algorithm
- 关于机器学习中的生成学习算法(Generative Learning Algorithm)
- Homepage Machine Learning Algorithm 浅谈深度学习中的激活函数 - The Activation Function in Deep Learning
- 感知器Perceptron Learning Algorithm
- 数据挖掘十大经典算法(4) The Apriori algorithm
- 基于差异的文件同步算法-The rsync algorithm
- 神经网络学习笔记 - lecture3:The backpropagation learning proccedure
- 生成学习算法Generative Learning algorithms
- DataMing Papers:<The alternating decision tree learning algorithm>
- 数据挖掘十大经典算法(4) The Apriori algorithm
- 一种最坏情况线性运行时间的选择算法 - The missing worst-case linear-time Select algorithm in CLRS.
- The Elements of Statistical Learning学习开篇
- 数据挖掘十大经典算法(4) The Apriori algorithm .
- 内存管理之伙伴系统算法(The Buddy System Algorithm)
- 算法学习【12】—— 1155. Can I Post the lette