一、笔记:
二、感知器基础 感知器的输入为输入变量数组与权重数组的乘积之和,但接下来所经过的激活函数不同,感知器的激活函数用阶跃函数代替sigmoid函数。 我们以一个感知器(神经元)通过AND与OR运算为例。
#AND感知器
import pandas as pd # 权重 w=[-1.1, 1, 1] #数据及label值 x=[(1, 0, 0), (1, 0, 0.5), (1, 0, 1), (1, 0.5, 0), (1, 1, 0), (1, 0.5, 0.5), (1, 1, 1), (1, 1.5, 1.5), (1, 2, 2)] Y=[False, False, False, False, False, False, True, True, True] y=[] #具体模型 for x, yy in zip(x, Y):#取出数据及标签值 h = w[0] * x[0] + w[1] * x[1] + w[2]*x[2]#公式y=w*x再求和 H = int(h >= 0) #激活函数为阶跃函数(当x>=0时,y=1,否则为0) #判断预测是否损失 if (H ==yy): loss = '0' else: loss = '1' y.append([x[0], x[1], x[2], h, H, loss]) print(pd.DataFrame(y, columns=['x0',' x1', ' x2', ' h', ' Y', ' loss']))
结果:
#OR感知器 import pandas as pd # 权重 w=[-0.5, 1, 1] #数据及label值 x=[(1, 0,0), (1, 0, 0.5), (1, 0, 1), (1, 0.5, 0), (1, 1, 0), (1, 0.5, 0.5), (1, 1, 1), (1, 1.5, 1.5),(1, 2, 2)] Y=[False, True, True, True, True, True, True, True, True] y=[] #具体模型 for x, yy in zip(x, Y):#取出数据及标签值 h = w[0] * x[0] + w[1] * x[1] + w[2]*x[2]#公式y=w*x再求和 H = int(h >= 0) #激活函数为阶跃函数(当x>=0时,y=1,否则为0) #判断预测是否损失 if (H ==yy): loss = '0' else: loss = '1' y.append([x[0], x[1], x[2], h, H, loss]) print(pd.DataFrame(y, columns=['x0',' x1', ' x2', ' h', ' Y', ' loss']))
结果: