深度学习:感知机

感知机是作为神经网络的起源的算法。

1、什么是感知机

感知机接受多个信号,输出一个信号。感知机的信号只有两种取值(1/0)。

2、单层感知机的简单实现

与门、与非门和或门都是具有相同构造的感知机,区别只在于权重参数的值。

#感知机实现
def AND(x1,x2):
"""与门"""
w1,w2,theta = 0.5,0.5,0.7
tmp = x1*w1 + x2*w2
if tmp <= theta:
return 0
elif tmp > theta:
return 1
print(AND(0,0))
print(AND(1,0))
print(AND(0,1))
print(AND(1,1))

输出:

0
0
0
1
def NAND(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 OR(x1,x2):
"""或门"""
x = np.array([x1,x2])
w = np.array([0.5,0.5])
b = -0.2
tmp = np.sum(w*x) + b
if tmp <= 0:
return 0
else:
return 1

单层感知机无法分离非线性空间

3、异或门的实现

叠加了很多层的感知机也称为多层感知机。

def XOR(x1,x2):
"""异或门"""
s1 = NAND(x1,x2)
s2 = OR(x1,x2)
y = AND(s1,s2)
return y
print(XOR(0,0))
print(XOR(1,0))
print(XOR(0,1))
print(XOR(1,1))
0
1
1
0

 通过叠加层(加深层),感知机能进行更加灵活的表示。

posted @   破忒头头  阅读(137)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示