吃瓜教程4——神经网络(西瓜书第5章)

本文介绍了M-P神经元,作为生物行为的数学模型,以及其在感知机中的应用。单个神经元仅限于线性可分数据,而神经网络通过多层结构实现非线性建模,如异或问题所示,能够处理线性不可分数据。神经网络不仅用于分类,还能做回归,具有强大的泛化能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、M-P神经元

M-P神经元(模拟生物行为的数学模型)

感知机模型

二、神经网络


一、M-P神经元

M-P神经元(模拟生物行为的数学模型)

接受n个输入(通常是来自其他神经元)并给各个输入赋予权重加权和,然后和自身特有的阈值\theta进行比较(做减法),最后经过激活函数(模拟“抑制”和“激活”)处理得到输出(通常是给下一个神经元)

y =f \left ( \sum_{i = 1}^{n} w_{i}x_{i} - \theta \right ) = f\left ( w^{T}x + b \right )

单个M-P神经元:感知机(sgn作激活函数)、对数几率回归(sigmoid作激活函数)

多个M-P神经元:神经网络

(机器学习三要素:模型、策略、算法)

感知机模型

数学角度:激活函数为sgn(阶跃函数)的神经元

y =sgn \left ( w^{T}x - \theta \right ) =\left\{\begin{matrix} 1 ,&w^{T}x - \theta \geqslant 0 \\ 0 ,& w^{T}x - \theta < 0 \end{matrix}\right.

其中,x\in \mathbb{R}^{^{n}}为样本的特征向量,是感知机模型的输入,w,\theta是感知机模型的参数,w\in \mathbb{R}^{n}为权重,\theta为阈值

几何角度:
给定一个线性可分的数据集T,感知机的学习目标是求得能对数据集T中的正负样本完全正确划分的超平面,其中w^{T}x -\theta即为超平面方程(换句话说,只有线性可分的数据集才能用感知机)

n维空间的超平面(w^{T}x+b=0,其中w,x\in \mathbb{R}^{n}):

超平面方程不唯一

感知机学习策略

随机初始化w,b,将全体训练样本代入模型找出误分类样本,假设此时误分类样本合集为M\subseteq T,对任意一个误分类样本(x,y)\in M来说,当w^{T}x -\theta \geqslant 0时,模型输出值为\hat{y}=1,样本真实标记为y = 0,反之标记y = 1。综上恒有:

\left ( \hat{y} -y \right )\left ( w^{T}x-\theta \right )\geqslant 0

所以,给定数据集T,其损失函数可以定义为:

L\left ( w,\theta \right )=\sum_{x\in M}(\hat{y}-y)(w^{T}x-\theta )

此损失函数是非负的,若无误分类点,损失函数值为0;而且误分类点越少,误分类点离超平面越近,损失函数越小。

二、神经网络


由于像感知机这种单个神经元分类能力有限,只能分类线性可分的数据集,对于线性不可分的数据集则无能为力,但是多个神经元构成的神经网络能够分类线性不可分的数据集(西瓜书上异或问题的那个例子),且有理论证明了通甬近似定理):只需一个包含足够多神经元的隐层,多层前馈网络(最经典的神经网络之一)就能以任意精度逼近任意复杂度的连续函数。因此,神经网络既能做回归,也能做分类,而且不需要复杂的特征工程。

### 西瓜中卷积神经网络的内容总结 #### 5.1 卷积神经网络简介 卷积神经网络(Convolutional Neural Network, CNN)是一种专门用于处理具有网格结构的数据的深层神经网络模型,如图像数据。CNN通过局部感知野、权值共享以及池化操作来减少参数量并提高模型的鲁棒性[^1]。 #### 5.2 局部感受野与权值共享机制 为了更好地捕捉输入空间中的局部模式,在每一层中只考虑一小部分相邻区域作为当前节点的感受域;同时采用相同的权重矩阵对不同位置上的子块做线性变换,即实现了所谓的“权值共享”。这种设计不仅降低了计算复杂度还增强了平移不变特性。 #### 5.3 池化层的作用 除了标准的全连接层之外,卷积神经网络还包括特殊的下采样单元——池化层。它能够进一步压缩特征图尺寸的同时保留重要信息,并有助于缓解过拟合现象的发生。常见的形式有多重最大值选取法(Max Pooling),平均值求解方式(Average Pooling)。 #### 5.4 LeNet-5架构分析 LeNet-5是由Yann Lecun提出的早期版本之一,其基本框架包含了两个交替排列着卷积层和亚抽样层(SUBSAMPLE Layer)组成的模块再加上三个完全连通层构成整个分类器主体结构。该模型成功应用于手写字体识别任务MNIST数据库上取得了很好的效果[^2]。 ```python import torch.nn as nn class LeNet(nn.Module): def __init__(self): super(LeNet, self).__init__() self.conv1 = nn.Conv2d(in_channels=1, out_channels=6, kernel_size=5) self.pool1 = nn.MaxPool2d(kernel_size=2, stride=2) self.conv2 = nn.Conv2d(in_channels=6, out_channels=16, kernel_size=5) self.fc1 = nn.Linear(in_features=16*5*5, out_features=120) self.fc2 = nn.Linear(in_features=120, out_features=84) self.fc3 = nn.Linear(in_features=84, out_features=10) def forward(self, x): batch_size = x.size(0) x = self.pool1(F.relu(self.conv1(x))) x = self.pool1(F.relu(self.conv2(x))) x = x.view(batch_size, -1) x = F.relu(self.fc1(x)) x = F.relu(self.fc2(x)) x = self.fc3(x) return x ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值