设计灵活Python感知机神经网络:架构、偏置与激活
构建分类用感知机:架构、偏置与激活
欢迎来到All About Circuits神经网络系列。前文奠定神经网络理论基础:
- 如何用神经网络分类:什么是感知机?
- 如何用简单感知机神经网络示例分类数据
- 如何训练基本感知机神经网络
- 理解简单神经网络训练
- 神经网络训练理论导论
- 理解神经网络学习率
- 多层感知机进阶机器学习
- Sigmoid激活函数:多层感知机激活
- 如何训练多层感知机神经网络
- 理解多层感知机训练公式与反向传播
- Python实现的神经网络架构
- 如何用Python创建多层感知机神经网络
- 神经网络信号处理:神经网络设计验证
- 神经网络训练数据集:如何训练验证Python神经网络
我们准备将理论转化为工作感知机分类系统。下节概述将用Python实现的架构,清晰设计选择使代码可移植至C等其他语言。
Python神经网络架构
下图展示我们将编码的网络结构:

- 可变输入节点 — 适配真实数据维度的关键
- 单隐藏层 — 单隐藏层足以应对许多分类任务,简化实现
- 可变隐藏节点 — 最优计数经验确定;后文讨论启发式
- 固定输出节点(1) — 简化初始程序;未来版本可支持多类输出
- 激活函数 — 隐藏层和输出层均用logistic sigmoid:f(x)=1/(1+e^{-x})
什么是偏置节点?(偏置增强感知机灵活性)
偏置节点——或简称偏置——是激活前加到节点加权和的常数。通常设为1,可置于输入或隐藏层。

偏置权重随反向传播同其他权重更新。引入偏置节点允许网络平移决策边界,改善非线性可分数据性能。
系列第10部分描述预激活为点积:S_preA = w · x = Σ(w_i x_i)。加偏置b修改为:
S_preA = (w · x) + b = Σ(w_i x_i) + b
偏置实质上如线性方程y = mx + b中y截距,水平平移激活曲线。
权重、偏置与激活
训练中权重缩放输入斜率,偏置垂直平移。用logistic sigmoid f_A(x) = 1/(1+e^{-x}),0到1过渡以x=0为中心。调整偏置左右移动过渡,权重幅度控制过渡陡峭度。

结论
我们概述了感知机核心架构选择并解释偏置节点作用。下文将深入实现此设计的Python代码。
工业机器人