Rosenblatt感知器
Rosenblatt感知器是一种最简单的感知器模型,即输出值为输入与对应权值相乘后取和再累加并加上偏置后通过符号函数的结果,即:Output = sgn(w0 * x0 + w1 * x1 + ... + wn * xn + bias)
。
训练时,使用有监督学习,当输出值与真实值不同时,对应的weight与该次输入数据与真实值和学习率的乘积相加,或可以描述为weight += input * (d - o) * n
其中,input为输入值,d为真实值,o为输出值,n为学习率
Python实现
Rosenblatt神经元的实现
通过Rosenblatt感知器的数学模型,可以很简单的使用numpy
库实现感知机功能
import numpy as np
class Rosenblatt(object):
"""docstring for Rosenblatt"""
def __init__(self, InputNum):
super(Rosenblatt, self).__init__()
self.Weight = np.zeros([InputNum + 1, 1])
self.TrainRaito = 1
//激活函数(符号函数)
def ActivitionFunction(self, InputData):
# print(InputData, np.zeros(InputData.shape))
# print((InputData > np.zeros(InputData.shape)).all())
if (InputData > np.zeros(InputData.shape)).all() == True:
# print("1")
return 1
else:
# print("-1")
return -1
-
(InputData > np.zeros(InputData.shape)).all()
表示当InputData
中的每一个元素都大于0时,返回