Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
  • 第3章:神经网络核心

第3章:神经网络核心

3.1 感知机与多层感知机

1. 感知机(Perceptron)

定义:
感知机是Frank Rosenblatt于1957年提出的二分类线性模型,是神经网络的最基本单元。其数学表达式为:

y=f(∑i=1nwixi+b)y = f\left(\sum_{i=1}^n w_i x_i + b\right) y=f(i=1∑n​wi​xi​+b)

其中:

  • (x_i) 为输入特征,(w_i) 为权重,(b) 为偏置项。
  • (f) 为激活函数(如阶跃函数),输出分类结果(通常为0或1)。

局限性:

  • 仅能解决线性可分问题(如AND、OR逻辑),无法处理非线性问题(如XOR逻辑)。

2. 多层感知机(MLP, Multilayer Perceptron)

结构:
MLP通过堆叠多个感知机构成,包含:

  1. 输入层:接收原始数据。
  2. 隐藏层(≥1层):每层由多个神经元组成,使用非线性激活函数(如ReLU、Sigmoid)。
  3. 输出层:根据任务类型选择激活函数(如Softmax用于多分类)。

数学表达:
对于第(l)层的输出(a^{(l)}):

a(l)=f(W(l)a(l−1)+b(l))a^{(l)} = f\left(W^{(l)} a^{(l-1)} + b^{(l)}\right) a(l)=f(W(l)a(l−1)+b(l))

其中(W^{(l)})为权重矩阵,(b^{(l)})为偏置向量。

优势:

  • 可逼近任意连续函数(万能逼近定理)。
  • 能够解决非线性分类和回归问题。

3. 关键概念

  1. 全连接(Dense):
    相邻层的神经元两两相连,权重独立。
    代码示例(PyTorch):

    import torch.nn as nn
    model = nn.Sequential(
        nn.Linear(784, 256),  # 输入层→隐藏层
        nn.ReLU(),
        nn.Linear(256, 10)    # 隐藏层→输出层
    )
    
  2. 参数初始化:
    常用方法包括Xavier初始化(适应Sigmoid/Tanh)和He初始化(适应ReLU)。

  3. 与单层感知机的对比:

    特性单层感知机多层感知机
    解决非线性问题❌✔️
    隐藏层数量0≥1
    激活函数阶跃函数ReLU/Sigmoid等

4. 应用示例

  • 手写数字识别(MNIST):
    MLP输入层784维(28×28像素),隐藏层128维,输出层10维(0~9分类)。
  • 房价预测:
    输入层为房屋特征(面积、位置等),输出层为连续值(房价)。

5. 常见问题

  • 梯度消失:深层MLP中梯度逐层衰减,可通过ReLU或残差连接缓解。
  • 过拟合:使用Dropout或L2正则化。

扩展阅读:
可结合反向传播算法(见3.4节)理解MLP的训练过程。


此内容覆盖了感知机与MLP的核心概念、数学原理、实现细节及对比,同时关联后续章节知识点(如激活函数、训练方法)。可根据需要增加图示(如MLP结构图)或具体训练代码示例。
Last Updated:: 6/17/25, 10:13 AM