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

人工智能 前馈神经网络练习题

为了构建一个有两个输入( X 1 X_1 X1 X 2 X_2 X2)和一个输出的单层感知器,并进行分类,我们需要计算权值 w 1 w_1 w1 w 2 w_2 w2的更新过程。以下是详细的步骤和计算过程:

  1. 初始化参数
    初始权值: w 1 = 0.1 w_1=0.1 w1=0.1, w 2 = 0.1 w_2=0.1 w2=0.1
    阈值(激活函数的阈值): θ = 0.6 \theta=0.6 θ=0.6
    学习率: η = 0.6 \eta=0.6 η=0.6
  2. 激活函数
    使用硬限幅函数(阶跃函数):
  • 如果 y ≥ θ y\geq\theta yθ,输出 1 1 1
  • 如果 y < θ y<\theta y<θ,输出 0 0 0
  1. 数据集
X 1 X_1 X1 X 2 X_2 X2目标输出 d d d
000
010
100
111
  1. 迭代优化权值
    我们将进行多次迭代,直到输出误差达到零。

迭代过程
对每一对输入 ( X 1 , X 2 ) (X_1,X_2) (X1,X2)和目标输出 d d d,进行计算和更新。

  • 迭代1
    输入: ( 0 , 0 ) (0,0) (0,0), 目标输出 d = 0 d=0 d=0
    计算: y = w 1 × 0 + w 2 × 0 = 0 y=w_1\times0+w_2\times0=0 y=w1×0+w2×0=0
    输出: 0 < 0.6 0<0.6 0<0.6 → 输出 0 0 0(正确)
    无需更新权值。
  • 迭代2
    输入: ( 0 , 1 ) (0,1) (0,1), 目标输出 d = 0 d=0 d=0
    计算: y = w 1 × 0 + w 2 × 1 = 0.1 y=w_1\times0+w_2\times1=0.1 y=w1×0+w2×1=0.1
    输出: 0.1 < 0.6 0.1<0.6 0.1<0.6 → 输出 0 0 0(正确)
    无需更新权值。
  • 迭代3
    输入: ( 1 , 0 ) (1,0) (1,0), 目标输出 d = 0 d=0 d=0
    计算: y = w 1 × 1 + w 2 × 0 = 0.1 y=w_1\times1+w_2\times0=0.1 y=w1×1+w2×0=0.1
    输出: 0.1 < 0.6 0.1<0.6 0.1<0.6 → 输出 0 0 0(正确)
    无需更新权值。
  • 迭代4
    输入: ( 1 , 1 ) (1,1) (1,1), 目标输出 d = 1 d=1 d=1
    计算: y = w 1 × 1 + w 2 × 1 = 0.1 + 0.1 = 0.2 y=w_1\times1+w_2\times1=0.1+0.1=0.2 y=w1×1+w2×1=0.1+0.1=0.2
    输出: 0.2 < 0.6 0.2<0.6 0.2<0.6 → 输出 0 0 0(错误)
    更新权值:
    误差 e = d − y = 1 − 0 = 1 e=d-y=1-0=1 e=dy=10=1
    更新:
    w 1 = w 1 + η ⋅ e ⋅ X 1 = 0.1 + 0.6 ⋅ 1 ⋅ 1 = 0.7 w_1=w_1+\eta\cdot e\cdot X_1=0.1+0.6\cdot1\cdot1=0.7 w1=w1+ηeX1=0.1+0.611=0.7
    w 2 = w 2 + η ⋅ e ⋅ X 2 = 0.1 + 0.6 ⋅ 1 ⋅ 1 = 0.7 w_2=w_2+\eta\cdot e\cdot X_2=0.1+0.6\cdot1\cdot1=0.7 w2=w2+ηeX2=0.1+0.611=0.7
  • 迭代5
    输入: ( 0 , 0 ) (0,0) (0,0), 目标输出 d = 0 d=0 d=0
    计算: y = 0.7 × 0 + 0.7 × 0 = 0 y=0.7\times0+0.7\times0=0 y=0.7×0+0.7×0=0
    输出: 0 < 0.6 0<0.6 0<0.6 → 输出 0 0 0(正确)
    无需更新权值。
  • 迭代6
    输入: ( 0 , 1 ) (0,1) (0,1), 目标输出 d = 0 d=0 d=0
    计算: y = 0.7 × 0 + 0.7 × 1 = 0.7 y=0.7\times0+0.7\times1=0.7 y=0.7×0+0.7×1=0.7
    输出: 0.7 ≥ 0.6 0.7\geq0.6 0.70.6 → 输出 1 1 1(错误)
    更新权值:
    误差 e = d − y = 0 − 1 = − 1 e=d-y=0-1=-1 e=dy=01=1
    更新:
    w 1 = 0.7 + 0.6 ⋅ ( − 1 ) ⋅ 0 = 0.7 w_1=0.7+0.6\cdot(-1)\cdot0=0.7 w1=0.7+0.6(1)0=0.7
    w 2 = 0.7 + 0.6 ⋅ ( − 1 ) ⋅ 1 = 0.1 w_2=0.7+0.6\cdot(-1)\cdot1=0.1 w2=0.7+0.6(1)1=0.1
  • 迭代7
    输入: ( 1 , 0 ) (1,0) (1,0), 目标输出 d = 0 d=0 d=0
    计算: y = 0.7 × 1 + 0.1 × 0 = 0.7 y=0.7\times1+0.1\times0=0.7 y=0.7×1+0.1×0=0.7
    输出: 0.7 ≥ 0.6 0.7\geq0.6 0.70.6 → 输出 1 1 1(错误)
    更新权值:
    误差 e = d − y = 0 − 1 = − 1 e=d-y=0-1=-1 e=dy=01=1
    更新:
    w 1 = 0.7 + 0.6 ⋅ ( − 1 ) ⋅ 1 = 0.1 w_1=0.7+0.6\cdot(-1)\cdot1=0.1 w1=0.7+0.6(1)1=0.1
    w 2 = 0.1 + 0.6 ⋅ ( − 1 ) ⋅ 0 = 0.1 w_2=0.1+0.6\cdot(-1)\cdot0=0.1 w2=0.1+0.6(1)0=0.1
  • 迭代8
    输入: ( 1 , 1 ) (1,1) (1,1), 目标输出 d = 1 d=1 d=1
    计算: y = 0.1 × 1 + 0.1 × 1 = 0.2 y=0.1\times1+0.1\times1=0.2 y=0.1×1+0.1×1=0.2
    输出: 0.2 < 0.6 0.2<0.6 0.2<0.6 → 输出 0 0 0(错误)
    更新权值:
    误差 e = d − y = 1 − 0 = 1 e=d-y=1-0=1 e=dy=10=1
    更新:
    w 1 = 0.1 + 0.6 ⋅ 1 ⋅ 1 = 0.7 w_1=0.1+0.6\cdot1\cdot1=0.7 w1=0.1+0.611=0.7
    w 2 = 0.1 + 0.6 ⋅ 1 ⋅ 1 = 0.7 w_2=0.1+0.6\cdot1\cdot1=0.7 w2=0.1+0.611=0.7
  • 迭代9
    重复之前的步骤,经过几轮迭代,会发现权值在震荡。
    继续更新,最终会收敛。

收敛
经过多次迭代,直到所有的输出都与目标一致,即可停止。

http://www.lryc.cn/news/517298.html

相关文章:

  • Windows搭建RTMP服务器
  • Vue重新加载子组件
  • 【VScode】设置代理,通过代理连接服务器
  • js es6 reduce函数, 通过规格生成sku
  • 基于R语言的DICE模型
  • 【C】PAT 1006-1010
  • 力扣双指针-算法模版总结
  • 解释一下:运放的输入偏置电流
  • Windows 11 上通过 WSL (Windows Subsystem for Linux) 安装 MySQL 8
  • 信用租赁系统助力企业实现免押金租赁新模式
  • OSPF特殊区域(open shortest path first LSA Type7)
  • Element-plus表单总结
  • unity学习13:gameobject的组件component以及tag, layer 归类
  • 51单片机——中断(重点)
  • 企业级Java 实体对象类定义规范
  • 【网络云SRE运维开发】2025第2周-每日【2025/01/07】小测-【第7章 GVRP链路捆绑】理论和实操
  • 蓝桥杯算法|练习记录
  • C语言 扫雷程序设计
  • CSS语言的文件操作
  • 前端-计算机网络篇
  • 行为分析:LSTM、3D CNN、SlowFast Networks。这三者的优缺点
  • 【HarmonyOS NEXT】鸿蒙应用使用后台任务之长时任务,解决屏幕录制音乐播放等操作不被挂起
  • STM32-WWDG/IWDG看门狗
  • 基于视觉惯性 SLAM(VSLAM)、相机和 IMU 数据的融合执行 6 自由度位姿跟踪
  • Matlab仿真径向受压圆盘光弹图像
  • 网络安全抓包
  • WebSocket 测试调试:工具与实践
  • ArmSoM RK3588/RK3576核心板,开发板网络设置
  • 【学Rust开发CAD】1 环境搭建
  • 数据结构与算法之二叉树: LeetCode 108. 将有序数组转换为二叉搜索树 (Ts版)