神经网络笔记 - 感知机

一 感知机是什么

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

二.计算方式

感知机的基本公式如下:
神经网络笔记 - 感知机_第1张图片

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

三.简单逻辑门的实现

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

输入1 输入2 AND门输出 NAND门输出 OR门输出
0 0 0 1 0
1 0 0 1 1
0 1 0 1 1
1 1 1 0 1

感知机参数设置

门类型 权重w1、w2 阈值θ
AND门 0.5, 0.5 0.7
NAND门 -0.5, -0.5 -0.7
OR门 0.5, 0.5 0.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是非线性问题
多层感知机 层与层组合 解决复杂问题

你可能感兴趣的:(神经网络,笔记,人工智能)