当前位置: 首页 > news >正文

从单层感知机到多层感知机(MLP)

  1. 单层感知机的局限性
    • 单层感知机能做的只是用 一条直线 / 超平面 来分隔数据。
    • 问题:遇到 异或(XOR)问题 或者更复杂的数据分布,就没办法仅靠一条直线来分开。

例如:
• 点 (0,0) 和 (1,1) 属于一类
• 点 (0,1) 和 (1,0) 属于另一类

👉 这两个类别在二维平面上是“交叉”的,用一条直线永远分不开。

  1. 多个线性方程组合的想法

虽然一条直线不够,但我们可以 多画几条直线,把空间划分成多个区域,再用这些区域的交集/并集来表示复杂分类边界。

数学上:
• 每一个感知机相当于一个线性方程(超平面)。
• 多个感知机组合起来,就可以圈定复杂形状的区域。

  1. 直观例子:用两个感知机圈定区域

设二维空间:
• 感知机 1:\(x_1 + x_2 - 1 \ge 0\) (一条直线)
• 感知机 2:\(x_1 - x_2 \ge 0\) (另一条直线)

这两条直线交叉后,会把平面划分成四个区域。
我们可以用 逻辑组合(例如“同时满足”)来圈定某个区域,从而表示异或等复杂分类。

  1. 代码实验:XOR 问题

我们用两个感知机组合,尝试分类 XOR 数据:

import numpy as np
import matplotlib.pyplot as plt# XOR 数据集
X = np.array([[0,0],[0,1],[1,0],[1,1]])
y = np.array([0,1,1,0])  # 异或输出# 定义两个线性函数(人为设定,不训练)
def h1(x): return 1 if x[0] + x[1] - 0.5 >= 0 else 0
def h2(x): return 1 if x[0] - x[1] >= 0 else 0# 组合:异或近似 = h1(x) XOR h2(x)
def xor_like(x):return h1(x) ^ h2(x)# 可视化
colors = ['red' if label == 1 else 'blue' for label in y]
plt.scatter(X[:,0], X[:,1], c=colors, s=100, edgecolors='k')# 画出直线
xx = np.linspace(-0.5, 1.5, 100)
plt.plot(xx, -xx+0.5, 'g--', label='h1: x1+x2=0.5')
plt.plot(xx, xx, 'm--', label='h2: x1=x2')plt.legend()
plt.title("多个感知机组合圈定区域 (XOR)")
plt.show()# 测试输出
for xi in X:print(xi, "->", xor_like(xi))

image

5:

http://www.hskmm.com/?act=detail&tid=24110

相关文章:

  • 机电公司管理小工具|基于微信小应用的机电公司管理小程序设计与实现(源码+数据库+文档)
  • 【性质】CF689D Friends and Subsequences
  • Arduino+数码管 = 量电压 | A+B problem | alphabet
  • 详细介绍:【数据库知识】TxSQL 主从数据库同步底层原理深度解析
  • 2025.10.3 NOIP 模拟赛
  • Python 之操作excel
  • 国家生物信息数据下载
  • linux jenkins服务启动异常等,排查是否日志磁盘空间满 du df命令
  • 详细介绍:LeetCode 391 完美矩形
  • [NOI2025] 集合 题解
  • bi数据报表发送周期,周报和月报获取日期时间
  • 技术Leader的1-3-5沟通法则:向上管理的艺术 - 指南
  • cannot resolve method add in T 及 T 泛型类型生成Excel文件,区别是数据Model不同
  • 测试环境elasticSearch数据泄露排查
  • 深入解析:Spring boot中 限制 Mybatis SQL日志的大字段输出
  • 【AI时代速通QT】第九节:揭秘Qt编译全流程-从.pro材料到可执行程序
  • 考试心得5
  • javascript高级 - Ref
  • Solar9月赛wp - 场
  • 实用指南:深度解析Sora2:技术革命与创意产业的未来图景
  • 自动化安全工具的双刃剑:红队演练揭示安全响应盲区
  • Elastic Search 安装部署最全教程(Docker)
  • 详细介绍:图像分割:PyTorch从零开始实现SegFormer语义分割
  • 深入解析:Playwright同步、异步、并行、串行执行效率比较
  • 2025十一集训——Day2模拟赛
  • 2025十一集训——Day模拟赛
  • Qt纯代码实现智能安防集中管理平台/楼宇对讲管理系统/门禁管理/视频监控
  • 汉文博士词典库源文件已在 github 开放
  • 读人形机器人30未来20年
  • Flutter + Ollama:开启本地AI的全平台新纪元 —— 从零剖析一款现代化AI客户端的技能奥秘