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
相关推荐
庞轩px2 分钟前
MinorGC的完整流程与复制算法深度解析
java·jvm·算法·性能优化
夏同学Xavi8 分钟前
skls-mgr:统一管理 Agent Skills 的 CLI 工具
人工智能·程序员·命令行
Queenie_Charlie8 分钟前
Manacher算法
c++·算法·manacher
闻缺陷则喜何志丹9 分钟前
【树的直径 离散化】 P7807 魔力滋生|普及+
c++·算法·洛谷·离散化·树的直径
天青色等烟雨0912 分钟前
Skill的终局:不是被生成,而是能进化
人工智能·agent
FPGA-ADDA15 分钟前
第四篇:嵌入式系统常用通信接口详解(I2C、SPI、UART、RS232/485、CAN、USB)
人工智能·单片机·嵌入式硬件·fpga开发·信息与通信
AI_Ming16 分钟前
Seq2Seq-大模型知识点(程序员转行AI大模型学习)
算法·ai编程
智算菩萨18 分钟前
【How Far Are We From AGI】7 AGI的七重奏——从实验室到现实世界的应用图景与文明展望
论文阅读·人工智能·ai·agi·感知
若水不如远方23 分钟前
分布式一致性(六):拥抱可用性 —— 最终一致性与 Gossip 协议
分布式·后端·算法
计算机安禾27 分钟前
【C语言程序设计】第35篇:文件的打开、关闭与读写操作
c语言·开发语言·c++·vscode·算法·visual studio code·visual studio