感知器算法

感知器算法是一种用于二进制分类的监督学习算法,可以预测数字向量所表示的输入是否属于特定的类。
在机器学习的术语中,分类被认为是监督学习的实例,即,其中可观测得到正确识别的训练集,可将之用于训练学习。 相应的无监督过程被称为聚类或聚类分析,并且涉及基于固有相似性(例如,被视为多维向量空间中的向量的实例之间的距离)的某种度量将数据分组到类别中。 (维基百科)
在人工神经网络领域中,感知机也被指为单层的人工神经网络,以区别于较复杂的多层感知机(Multilayer Perceptron)。作为一种线性分类器,(单层)感知机可说是最简单的前向人工神经网络形式。尽管结构简单,感知机能够学习并解决相当复杂的问题。感知机主要的本质缺陷是它不能处理线性不可分问题。(ibid)
感知器学习算法是在1950年代后期由Frank Rosenblatt提出的。感知器算法是一种用于二进制分类的监督学习算法,可以预测数字向量所表示的输入是否属于特定的类(其将种类假定为标记+1和-1),分类器(classfier)试图通过线性分离器(sepereator)来划分这两个类。

在感知器模型中,Figure.1有三个输入,X1,X2,X3,X4,X5可以使用这些变量,并对应于二进制分类。 例如,如果匹配训练集中的正集,则否则,在这种情况下,权重允许您使用感知器来设置用于决策的数学模型,并且其指示相应输入对于输出的重要性。 例如,如果你去旅行,但是你讨厌恶劣的天气,这个时候假设决定是X1,权重分配给6,如果阈值是5,那么X1天气是最重要的因素。 其他因素对决策没有影响。 所以可以假设好天气输出1,恶劣天气输出0(Nielsen, M. A. 2015)。
这里写图片描述

Figure. 1 model of perceptron(Bollegala, D,2017)
在该神经网络模型中a是该神经网络模型中a是activation,a = w1x1+w2x2+w3x3+w4x4+w5x5。如果a大于预定阈值θ,则神经元激发。产生输出为1或0。可得如下:
if a > θ then
output = 1
else
output = 0
其中w和x对应于权重和输入向量。 第二个变化是将阈值移动到不等式的另一侧,并将其替换为感知器的偏差b≡-threshold。 使用偏差而不是阈值,感知器的规则可以重写为以下公式:
这里写图片描述
通过引入始终为ON的特征(即,x0 = 1对于所有实例),我们可以挤压偏差通过设置w0 = b将项b代入权重向量
这里写图片描述

在这里我们可以将激活写为权重向量和特征向量之间的内积。 然而,我们应该记住,偏差项仍然出现在模型中。
以下是该算法的伪代码:
这里写图片描述
以下是python的实现代码:

import time
import random
import numpy

def process(userChoice):
    bias = 0
    train_errors = []
    test_errors = [
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值