感知机(Perceptron)
来源:互联网 发布:软件使用说明 编辑:程序博客网 时间:2024/05/27 10:42
感知机(Perceptron)
标签(空格分隔): 监督学习
@ author : duanxxnj@163.com
@ time : 2016-07-04
- 感知机Perceptron
- 广义线性模型下的感知机
- 感知机的原始形式 和 对偶形式
- 感知机原始形式
- 感知机的对偶形式
- 感知机对偶形式中的內积
- 感知机模型的袋式算法
前面一篇文章是关于LR回归的,其中提到LR回归是一个判别式模型。这里再研究一个判别式模型:感知机。感知机模型在机器学习中有举足轻重的地位,它是SVM和神经网络的基础。
之前的线性回归的概率解释中,假设样本的概率密度函数的参数形式是已知的,然后需要基于样本,使用参数估计的方法来估计概率密度函数的参数值;这里的感知机算法和前一篇文章《LR回归》,都是直接假设判别函数的参数形式是已知的,然后基于训练样本,来估计判别函数的参数值,被称为判别式方法。感知机所得到的是一个线性判别函数。而一般来说,寻找线性判别函数的问题,会被形式化为极小化准则函数的问题,以分类为目的的准则函数可以是样本的风险函数,或者是训练误差。
广义线性模型下的感知机
感知机模型是一个二分类模型,和线性回归模型一样,感知机模型一般会使用一些特征函数
这里
在LR模型中,输出的取值为
感知机算法相对来说,十分的简单,其分可以分为原始形式和对偶形式。
模型有了,现在要考虑其损失函数的形式,由于感知机模型的输出是0和1两个离散的值,如果使用基于分类错误的平方误差,会使得损失函数不连续,更别说是否可导了。所以这里使用下面这个损失函数,在后面将
其中,
对于上面的损失函数而言:
当
当
故而这里
当然,这里需要注意一个特殊情况: 如果样本点刚好落在了决策超平面上,那么
然后对其求梯度:
和线性回归模型一样,有了梯度之后,就可以使用梯度下降法来求解模型的参数了:
这种算法也叫作批处理算法,使用“批处理”这个术语,猪獒是因为每次在修正权值向量的时候,都需要计算成批的样本。与之相对的就是下面的随机梯度下降法,这是一种但样本方法,或者叫做在线学习算法。
或者使用随机梯度下降法,这里的
上式中的
最常见的一个满足上述两个条件的函数为:
感知机的原始形式 和 对偶形式
以上就是广义线性模型下的感知机模型,这个是感知机模型的原始形式,感知机模型最重要的并不是它的原始形式,而是他的对偶形式,这个里的对偶形式就是
每一个线性规划问题,我们称之为原始问题,都有一个与之对应的线性规划问题我们称之为对偶问题。原始问题与对偶问题的解是对应的,得出一个问题的解,另一个问题的解也就得到了。并且原始问题与对偶问题在形式上存在很简单的对应关系:
- 目标函数对原始问题是极大化,对偶问题则是极小化
- 原始问题目标函数中的系数,是对偶问题约束不等式中的右端常数,而原始问题约束不等式中的右端常数,则是对偶问题中目标函数的系数
- 原始问题和对偶问题的约束不等式的符号方向相反
- 原始问题约束不等式系数矩阵转置后,即为对偶问题的约束不等式的系数矩阵
- 原始问题的约束方程数对应于对偶问题的变量数,而原始问题的变量数对应于对偶问题的约束方程数
- 对偶问题的对偶问题是原始问题
感知机原始形式
这里为了和后面的
给定一个数据集:
重写为:
其中
那么损失函数的梯度就可以写为:
其对应的梯度下降法的参数更新方法为:
其对应的随机梯度下降法的参数更新方法为:
其中
感知机随机梯度下降法的直观解释:对于感知机而言,当一个样本点被误分类之后,被误分类的样本点会位于决策超平面的错误的一侧,这时感知机会调整
w,b 的值,使决策超平面向该误分类点的一侧移动,移动的尺度由ηt 决定,每一次移动,都可以减少误分类点和决策超平面之间的距离,直到决策超平面越过该误分类点,使其被正确分类为止。
对于一个线性可分的数据集而言,感知机经过有限次搜索之后,一定可以找到将训练数据完全正确分开的决策超平面。也就是说,但训练数据集是线性可分的时候,感知机学习算法的原始形式一定是迭代收敛的。
但是,同时需要注意:感知机学习算法存在许多的解,这些解即和感知机初值的选择有关,同时也依赖于迭代过程中随机选择的错误点的选择方法。
为了使得感知机可以有一个确定的最优解,就需要为感知机加上一些约束条件,这就是后面要讲的
当训练的数据集线性不可分时,一般的感知机学习算法并不能迭代收敛,其结果会不断的震荡,这个问题在
感知机的对偶形式
感知机算法的对偶式,是针对感知机随机梯度下降法来设计的。其基本思想是:感知机的原始式中,
感知机随机梯度下降法的参数更新方式为:
对于第
在感知机原始形式中,
很容易知道,
故而,感知机模型的对偶形式的模型为:
这里
注意,上式中,为了和样本点
其训练过程为:
在训练集中选取一个样本点
那么,更新公式为( 注意,这里的下标是
这个其实就是想说,在
感知机对偶形式中的內积
在感知机对偶式的训练过程中,也就是下面这个公式中:
上面这个式子可以写成下面这个形式:
这里
这里的內积,是
感知机模型的袋式算法
感知机算法收敛的一个基本条件就是:样本是线性可分的。如果这个条件不成立的话,那么感知机算法就无法收敛。为了在样本线性不可分的情况下,感知机也可以收敛于一个相对理想的解,这里提出感知机袋式算法(Pocket algorithm)。
这个算法分为两个步骤:
1. 随机的初始化权值向量
2. 在第
- 感知机(Perceptron)
- Perceptron(感知机)
- 感知机PLA(perceptron)
- 线性分类模型--感知机(perceptron)
- 多层感知机(Multilayer Perceptron)
- python实现感知机(perceptron)原型~
- 感知机(Perceptron)的python实现
- 2 - 感知机(perceptron)
- Perceptron感知机
- perceptron 感知机
- OR perceptron(感知机 )
- 感知机Perceptron
- 感知机perceptron
- 感知机—Perceptron
- 感知机 — Perceptron
- 感知器(Perceptron)
- 机器学习-感知机perceptron
- 20151227感知机(perceptron).md
- window下通过nvmw来安装多版本node
- android下载网络图片并缓存
- 软工视频—概况
- java.lang.NoClassDefFoundError: org/springframework/core/io/Resource
- leetcode代码记录 232 Implement Queue using Stacks
- 感知机(Perceptron)
- oracle存储过程定义游标用动态sql
- C# 中的#if、#elif、#else、#endif等条件编译符号
- mtk平台笔记--客制化开关机动画与铃声
- iOS_Swift_运算
- 你应该知道的 RPC 原理
- 2.8 TeamView 软件使用
- hbase配置的问题
- iOS 沙盒目录结构和文件操作(NSFileHandle)(三)