☕ 挑战:调出 NAND 门
NAND = NOT AND:两个都是 1 时输出 0,其他输出 1。
现在面板是 w₁=w₂=0.5, b=-0.3(至少一个条件满足就出门)。
你的任务:调整参数,实现 NAND 门。
提示:想想怎么让"好条件"反而扣分?试试把权重调成负数。
🎮 动手玩:调出 NAND 门
0
天气 x₁
w₁=0.5
→
0
朋友 x₂
w₂=0.5
→
Σ
加权和 z
→
0
出门 y
☁️ 不好
🚫 没空
0.5
0.5
-0.3
😐 一般
z = 0.5×0 + 0.5×0 + (-0.3) = -0.3
输出 = z > 0 → y = 1
📄 对应代码(参数自动同步)
# 参数(调滑块自动同步)
w1 = 0.5 # 天气权重
w2 = 0.5 # 朋友权重
b = -0.3 # 偏置
def perceptron(x1, x2):
z = w1*x1 + w2*x2 + b
return 1 if z > 0 else 0
# 真值表
# (0,0)→ 1 (1,0)→ 1
# (0,1)→ 1 (1,1)→ 0
⚡ NAND 门
验证你的感知机能正确实现 NAND 门。
🎯 AND 的反面。试试把 w₁、w₂ 调成负数。
| x₁ | x₂ | 期望输出 | 你的输出 | |
|---|---|---|---|---|
| 0 | 0 | 1 | — | |
| 0 | 1 | 1 | — | |
| 1 | 0 | 1 | — | |
| 1 | 1 | 0 | — |