神经网络与深度学习基础教程笔记(附案例讲解)

神经网络与深度学习基础教程笔记(附案例讲解)

引言

神经网络和深度学习是人工智能领域中最重要的技术之一,它们在图像识别、自然语言处理、语音识别等领域取得了巨大的成功。本教程将从基础概念出发,逐步深入到高级主题,帮助你全面理解并掌握这些强大的工具。本文是神经网络与深度学习笔记,要想深入了解相关理论和算法知识请参考神经网络从入门到精通matlab从入门到精通教程matlab2020从入门到精通ACM入门教程资料MATLAB语言常用算法程序集matlab通俗讲讲“小波变换”精通MATLAB最优化计算源码MATLAB小波分析高级技术基于MATLAB的系统分析与设计-小波分析小波分析基础时间序列的小波分析

1. 神经网络基础

什么是神经网络?

神经网络是一种模拟人脑神经元结构的计算模型。它由多个节点(或称为神经元)组成,这些节点通过连接权重相互连接。每个节点接收输入信号,经过处理后传递给下一层节点。神经网络通过调整连接权重来学习数据中的模式。

感知机

感知机是最简单的神经网络形式,由 Frank Rosenblatt 在 1957 年提出。它只有一个输入层和一个输出层,没有隐藏层。感知机用于解决二分类问题。

数学表示
y = f ( ∑ i = 1 n w i x i + b ) y = f(\sum_{i=1}^{n} w_i x_i + b) y=f(i=1nwixi+b)
其中,( y ) 是输出,( w_i ) 是权重,( x_i ) 是输入,( b ) 是偏置项,( f ) 是激活函数(通常是阶跃函数)。

训练过程

  • 初始化权重 ( w_i ) 和偏置 ( b )。
  • 对于每个训练样本,计算输出 ( y )。
  • 如果预测错误,更新权重和偏置:
    w i = w i + η ( t − y ) x i w_i = w_i + \eta (t - y) x_i wi=wi+η(ty)xi
    b = b + η ( t − y ) b = b + \eta (t - y) b=b+η(ty)
    其中,( \eta ) 是学习率,( t ) 是目标值。
多层感知机(MLP)

多层感知机(MLP)是包含一个或多个隐藏层的前馈神经网络。每个隐藏层可以有多个神经元,每个神经元都使用非线性激活函数(如 Sigmoid 或 ReLU)。

结构

  • 输入层:接收原始数据。
  • 隐藏层:对数据进行特征提取。
  • 输出层:产生最终结果。

数学表示
假设有一个 MLP,输入层有 ( n ) 个节点,第一个隐藏层有 ( h_1 ) 个节点,第二个隐藏层有 ( h_2 ) 个节点,输出层有 ( m ) 个节点。

对于第 ( l ) 层的第 ( j ) 个节点:
z j ( l ) = ∑ i = 1 n l w i j ( l ) a i ( l − 1 ) + b j ( l ) z_j^{(l)} = \sum_{i=1}^{n_l} w_{ij}^{(l)} a_i^{(l-1)} + b_j^{(l)} zj(l)=i=1nlwij(l)ai(l1)+bj(l)
a j ( l ) = f ( z j ( l ) ) a_j^{(l)} = f(z_j^{(l)}) aj(l)=f(zj(l))

其中,( z_j^{(l)} ) 是加权输入,( a_j^{(l)} ) 是激活值,( w_{ij}^{(l)} ) 是从第 ( l-1 ) 层的第 ( i ) 个节点到第 ( l ) 层的第 ( j ) 个节点的权重,( b_j^{(l)} ) 是偏置项,( f ) 是激活函数。

2. 激活函数

激活函数为神经网络引入非线性,使得网络能够学习复杂的模式。常见的激活函数包括:

  • Sigmoid 函数
    f ( x ) = 1 1 + e − x f(x) = \frac{1}{1 + e^{-x}} f(x)=1+ex1

    • 输出范围:(0, 1)
    • 缺点:容易导致梯度消失。
  • Tanh 函数
    f ( x ) = tanh ⁡ ( x ) = e x − e − x e x + e − x f(x) = \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} f(x)=tanh(x)=ex+exexex

    • 输出范围:(-1, 1)
    • 缺点:同样容易导致梯度消失。
  • ReLU 函数
    f ( x ) = max ⁡ ( 0 , x ) f(x) = \max(0, x) f(x)=max(0,x)

    • 输出范围:[0, +∞)
    • 优点:计算简单,有效缓解梯度消失问题。
  • Leaky ReLU 函数
    f ( x ) = { x if  x > 0 α x if  x ≤ 0 f(x) = \begin{cases} x & \text{if } x > 0 \\ \alpha x & \text{if } x \leq 0 \end{cases} f(x)={ xαxif x>0if x0

    • 输出范围:(-∞, +∞)
    • 优点:解决了 ReLU 的“死神经元”问题。
  • Softmax 函数
    softmax ( z ) i = e z i ∑ j = 1 K e z j \text{softmax}(z)_i = \frac{e^{z_i}}{\sum_{j=1}^K e^{z_j}} softmax(z)i=j=1Kezjezi

    • 输出范围:(0, 1)
    • 通常用于多分类任务的输出层,确保输出的概率之和为 1。

3. 损失函数

损失函数衡量模型预测值与真实值之间的差异。常见的损失函数包括:

  • 均方误差(MSE)
    L = 1 N ∑ i = 1 N ( y i − y ^ i ) 2 L = \frac{1}{N} \sum_{i=1}^{N} (y_i - \hat{y}_i)^2 L=N1i=1N(yiy^

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fanxbl957

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值