88~93感知机f

感知机的概念

输入输出x,y都是0 or 1

简单逻辑电路

与门

与非门

或门

感知机的实现

导入权重和偏置

代码实现

复制代码
# 实现与门
# def AND(x1,x2):
#     w1,w2,theta=0.5,0.5,0.7
#     res=x1*w1+x2*w2
#     if res<=theta:
#         return 0
#     else:
#         return 1
import numpy as np


def AND(x1,x2):
     x=np.array([x1,x2])
     w=np.array([0.5,0.5])
     b=-0.7
     # 直接用矩阵运算的形式计算结果
     res=w@x+b
     if res<=0:
         return 0
     else:
         return 1
# 测试
print(AND(0,0))
print(AND(0,1))
print(AND(1,0))
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
    # 直接用矩阵运算的形式计算结果
    res = w @ x + b
    if res <= 0:
        return 0
    else:
        return 1
# 测试
print(NAND(0,0))
print(NAND(0,1))
print(NAND(1,0))
print(NAND(1,1))
# 1 1 1 0

# 或门
def OR(x1, x2):
    x = np.array([x1, x2])
    w = np.array([0.5, 0.5])
    b = -0.2
    # 直接用矩阵运算的形式计算结果
    res = w @ x + b
    if res <= 0:
        return 0
    else:
        return 1
# 测试
print(OR(0,0))
print(OR(0,1))
print(OR(1,0))
print(OR(1,1))
# 0 1 1 1

感知机的局限

多层感知机

复制代码
# 异或门
def XOR(x1,x2):
    s1=NAND(x1,x2)
    s2=OR(x1, x2)
    y=AND(s1, s2)
    return y
# 测试
print(XOR(0,0))
print(XOR(0,1))
print(XOR(1,0))
print(XOR(1,1))
# 0 1 1 0
相关推荐
IT_陈寒2 小时前
Vite 3实战:我用这5个优化技巧让HMR构建速度提升了40%
前端·人工智能·后端
chen_song_2 小时前
Transformer架构及其源码实现
人工智能·深度学习·transformer
良木生香2 小时前
【数据结构-初阶】二叉树---链式存储
c语言·数据结构·c++·算法·蓝桥杯·深度优先
胡萝卜3.02 小时前
程序构建核心解析:从预处理到链接的完整指南
运维·服务器·c++·人工智能·操作系统·编译原理·系统编成
Binky6782 小时前
力扣--贪心(2)+动规(1)
算法·leetcode·职场和发展
月巴月巴白勺合鸟月半2 小时前
用AI生成一个简单的视频剪辑工具
人工智能·c#
GAOJ_K2 小时前
滚珠花键的安装条件与适应性
运维·人工智能·科技·机器人·自动化·制造
龙萱坤诺2 小时前
Sora-2 视频生成 API 使用指南:创建异步视频任务
人工智能·sora-2·sora-2-pro
雾喔2 小时前
1970. 你能穿过矩阵的最后一天 + 今年总结
线性代数·算法·矩阵