感知器的两种实现方式1. 每一行样本循环进行处理(Stochastic Gradient Descent, SGD)随机梯度下降,对每一行样本, 计算其参数w, 一次迭代全部样本.并在处理每个样本时逐步调整参数w.
这种方式最自然, 但参数会有反复.效率最低.# perceptron 感知器# 周海汉 2017.5.21importnumpyasnp# 感知器classPerceptron:'''感知器 y=f(x*w+b),x为输入,w为权重,b为偏置量,f为激活函数, 一般有sigmoid,relu,sgn,tanh'''def__init__(self,eta,n_iter):'''
eta: 迭代率
n_iter: 迭代次数
'''self.eta=etaself.n_iter=n_iterdeffit(self,x,y):'''
x: 训练数据,二维数组.[sample,feature], sample表示训练用数据数目, feature表示特征数
y: 目标结果标签数据,一维向量. [label], 长度和samples值一样
w: 权重向量, [weight] , 包含偏置量w0, 长度为feature值+1
errors: 记录迭代错误
'
...
继续阅读
(1)