Perceptron感知机

Perceptron感知机

简单说明

在机器学习中,Perceptron是一种针对监督学习的二元分类的算法,函数可以判定输入输入的是numbers类型 向量,还是属于一些特殊的类型或者都不属于。Perceptron是一种线性分类器、一个分类算法,它的预测是基于一个linear predictor function(权重的集合与特征向量的结合)。

定义

输入x为一个真实值的向量,输出f(x)是一个二元值
输出f(x)是一个二元值;
w是一个真实值的权重向量,其中这里写图片描述是点积这里写图片描述
m是输入的数量;
b是偏差(偏差判定边界远离原点不依赖于任何的输入值);
这里写图片描述取值为0或者1(在二元分类中对于x分类作为正例还是负例)。

如果学习集合不是线性可分的,感知学习算法将不能终止。如果向量不是线性可分的将不会达到一个point(所有向量是合理分类的)。在神经网络的背景下,一个Perceptron是一个 artificial neuron(是一个构思成生物神经元模型的数学函数)使用Heaviside step function(https://en.wikipedia.org/wiki/Heaviside_step_function)作为激活函数。perceptron 也是single-layer perceptron的术语,区别于 multilayer perceptron(对于更复杂的神经网络是一个误称),single-layer perceptron是最简单的 feedforward neural network。

算法学习

举一个例子对于single-layer perceptron。在 multilayer perceptrons中有一个隐藏层存在,更多的随机算法比如backpropagation被使用。 如果函数是非线性且可微的情况下,delta rule方法可能被使用。当multilayer perceptrons结合一个人工神经网络时候,每一个输出神经元的操作独立于其他的,因此每个输出可以被单独的考虑。

首先定义几个变量
  • y=f(z) 对于输入向量z的输出符号表示
  • xj 是n维的输入向量
  • xji(j,i是x的下标表示) 是对于第j个输入的训练向量的第i个特征的值
  • xj0=1
  • 由于xj0=1则w0=0

不像其他的分类算法如逻辑回归,感知机算法是不需要学习率的

步骤
  1. 初始化权重和阈值,权重可能被初始化为0或者更小的随机值,下面的例子初始化为0。
  2. 对于训练集D中的每一个j,遵循下面的步骤,输入xj, 渴望得到值dj:
    a. 计算实际的输出
    这里写图片描述
    b. 更新权重
    这里写图片描述
  3. 对于离线学习,步骤2可能一直被重复操作直到迭代错误 这里写图片描述 可能是更少的对于一个用户的阈值r,或者一个预先迭代值已经被完成的,经历过2a,2b立即去应用到新的一个训练集合中的样本,重复操作继续,直到所有的样本都经历完。
感知机是一个线性分类器,如果训练集D不是是线性可分的那么不会得到所有向量都被正确的分类的情况。输入集合可能被通过一个超平面划边界r,存在一个w,||w||=1,,Perceptron更好的支持SVM。偏差b是这样子的这里写图片描述 超平面分割二元分类 感知机算法图
本文取材于https://en.wikipedia.org/wiki/Perceptron,提取一部分进行了翻译。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值