深度学习入门05-感知机的实现
大家好!上一篇我们学习了感知机的基本知识,之后利用感知机模型表示了简单逻辑电路:与门、与非门、或门。
简单来说,感知机可以看做一个数学模型,通过调整该模型中的各个参数,我们可以实现不同的逻辑功能,从而解决一些现实问题。在理解感知机基本原理的基础上,我们的目标是使用Python实现感知机的功能。下面,我们就朝着这个目标前进吧。
1 与门逻辑功能实现
我们先定义一个输入参数为x1和x2的二输入与门函数AND。代码如下:
def AND(x1, x2): # 定义二输入与门函数
w1, w2, theta = 1.1, 1.1, 1.2 # 初始化内置参数
tmp = x1*w1 + x2*w2 # 计算加权和
if tmp <= theta: # 小于等于阈值返回0
return 0
else: # 大于阈值返回1
return 1
AND函数在初始化时,将内置参数w1、w2和theta设定为1,函数的功能是计算函数输入参数与内置参数的加权和,之后跟设定的阈值比较,当大于阈值时返回1,否则返回0。将二输入的所有情况传送给AND,并将结果打印出来:
print('AND(0, 0) 输出为 ' + str(AND(0, 0)))
print('AND(0, 1) 输出为 ' + str(AND(0, 1)))
print('AND(1, 0) 输出为 ' + str(AND(1, 0)))
print('AND(1, 1) 输出为 ' + str(AND(1, 1)))
输出结果:
AND(0, 0) 输出为 0
AND(0, 1) 输出为 0
AND(1, 0) 输出为 0
AND(1, 1) 输出为 1
跟与门真值表对比,可以看到我们实现了与门的逻辑功能。
按照同样的方法,设定不同的内置参数我们还可以实现与非门和或门,不过