1.感知机
接收多个输入信号,输出一个信号,有“流/不流”(1/0)两种取值。在本书中,0对应“不传递信号”,1对应“传递信号”。其中,x1、x2是输入信号,y是输出信号,w1、w2是权重(w是weight的首字母)。图中的○称为“神经元”或者“节点”。输入信号被送往神经元时,会被分别乘以固定的权重(w1x1、w2x2)。神经元会计算传送过来的信号的总和,只有当这个总和超过了某个界限值时,才会输出1。这也称为“神经元被激活”。这里将这个界限值称为阈值,用符号θ表示。
w1和w2是控制输入信号的重要性的参数,而偏置是调整神经元被激活的容易程度(输出信号为1的程度)的参数。比如,若b为−0.1,则只要输入信号的加权总和超过0.1,神经元就会被激活。
2.简单实现
与门
def AND(x1, x2):
w1, w2, theta = 0.5, 0.5, 0.7#权重,偏置
tmp = x1w1 + x2w2
if tmp <= theta:
return 0
elif tmp > theta:
return 1
def AND(x1, x2):
x = np.array([x1, x2])
w = np.array([0.5, 0.5])
b = -0.7
tmp = np.sum(w*x) + b
if tmp <= 0:
return 0
else:
return 1
与非门
def NAND(x1, x2):
x = np.array([x1, x2])
w = np.array([-0.5, -0.5]) # 仅权重和偏置与AND不同
b = 0.7
tmp = np.sum(w*x) + b

本文介绍了感知机的概念,它通过输入信号的加权总和与阈值比较来决定输出。权重和偏置参数影响激活输出的概率。接着,文章展示了如何用感知机实现逻辑门函数,如与门、与非门、或门,并通过组合这些门实现异或门,强调了感知机的非线性和多层潜力。

最低0.47元/天 解锁文章
1110

被折叠的 条评论
为什么被折叠?



