神经网络笔记 - 感知机

一 感知机是什么

感知机(Perceptron)是一种接收输入信号并输出结果的算法。
它根据输入与权重的加权和是否超过某个阈值(threshold),来判断输出0还是1。

二.计算方式

感知机的基本公式如下:
在这里插入图片描述

  • X1, X2 : 输入
  • W1,W1: 权重
  • θ :阈值
  • 输出:0 or 1

三.简单逻辑门的实现

逻辑门简介
感知机可以模拟如下基本逻辑门:

输入1输入2AND门输出NAND门输出OR门输出
00010
10011
01011
11101

感知机参数设置

门类型权重w1、w2阈值θ
AND门0.5, 0.50.7
NAND门-0.5, -0.5-0.7
OR门0.5, 0.50.2

代码示例

def AND(x1, x2):
    w1, w2, theta = 0.5, 0.5, 0.7
    tmp = w1*x1 + w2*x2
    if tmp <= theta:
        return 0
    else:
        return 1

通过调整权重与阈值,感知机可以模拟不同的逻辑门。

四.线性与非线性

线性可分性
如果能够通过一条直线(二维)或超平面(高维)将不同类别的数据点完全分开,这种情况称为线性可分(Linear Separability)。

在平面上无法用一条直线区分输出为0和1的点,因此单层感知机无法处理XOR问题。

五.多层感知机

多层结构的必要性
为了解决XOR等非线性可分问题,需要引入多层感知机(Multi-layer Perceptron,MLP):

  • 第1层:处理简单逻辑(如NAND、OR)
  • 第2层:综合前面结果(如AND)

通过“组合多个感知机”,可以实现复杂逻辑!

XOR(异或)门的多层实现示例

def NAND(x1, x2):
    return ... # 同前述定义

def OR(x1, x2):
    return ... # 同前述定义

def AND(x1, x2):
    return ... # 同前述定义

def XOR(x1, x2):
    s1 = NAND(x1, x2)
    s2 = OR(x1, x2)
    y = AND(s1, s2)
    return y

异或 = AND(NAND, OR)

总结

主题关键词备注
感知机基础权重、阈值、加权和决定输出0或1
逻辑门实现AND、NAND、OR单层感知机
线性与非线性线性可分 vs 非线性可分XOR是非线性问题
多层感知机层与层组合解决复杂问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值