首页 > 其他分享 >神经网络(系统性学习二):单层神经网络(感知机)

神经网络(系统性学习二):单层神经网络(感知机)

时间:2024-11-20 15:44:54浏览次数:3  
标签:偏置 权重 迭代 样本 更新 感知机 神经网络 单层

此前篇章:

神经网络中常用的激活函数

神经网络(系统性学习一):入门篇


单层神经网络(又叫感知机)

单层网络是最简单的全连接神经网络,它仅有输入层和输出层,没有隐藏层。即,网络的所有输入直接影响到输出。

结构:输入层 → 输出层

特点

  • 只适用于线性可分问题。即,单层网络只能学习并解决线性可分的问题(例如,二维平面上的两类点可以通过一条直线分开)。

  • 单层感知机的输出由输入的加权和经过激活函数(如sigmoid)产生。

优点:结构简单,计算量较小。

缺点:无法解决非线性问题,如XOR问题(异或问题)。因为单层网络只能找到线性决策边界,无法处理更复杂的模式。


详细讲解

感知机最初设计用于二分类问题,用来判断输入样本属于正类还是负类。

1、模型结构:

感知机的输入:

  • 输入特征向量:\mathbf{x} = [x_1, x_2, \dots, x_n]^\top

  • 权重向量:\mathbf{w} = [w_1, w_2, \dots, w_n]^\top

  • 偏置:b

通常,我们还有一个0项权重,或者说常数项w_{0} ,即x_{0}=1对应的权重。这里我们忽略这一非重点的常数项。

加权和:感知机通过将输入特征与权重进行加权求和,再加上偏置项,得到一个总和值。

z = w_1 x_1 + w_2 x_2 + \cdots + w_n x_n + b

激活函数:通常是符号函数sign(z)

感知机模型的输出为:

2、基本步骤

感知机的学习过程是个迭代优化过程,通过不断调整权重和偏置,使模型能够正确分类训练数据。

1、初始化权重和偏置:

在训练开始前,感知机的权重 w1,w2,...,wn 和偏置 b 通常被初始化为小的随机值,或者初始化为零。学习率 η也是一个超参数,通常设置为一个小的正数,如 0.01 或 0.1。

2、对每一个样本计算加权和:

3、通过激活函数预测样本分类标签y_{\text{pred}}^{(i)}

4、误差计算与权重更新(反向传播):

对于每一个样本,如果预测分类结果正确,则不更新权重和偏置。否则利用预测误差更新权重和偏置:

这里的更新规则是通过误差(y^{(i)} - y_{\text{pred}}^{(i)})来调整权重和偏置。如果分类正确(即 y^{(i)} = y_{\text{pred}}^{(i)},则权重和偏置不发生变化。

5、迭代过程(epoch)

对于每个训练样本,逐个计算加权和、应用激活函数、更新权重和偏置。每一轮迭代,会对所有训练样本进行一次更新。通常需要多轮迭代才能训练出一个合适的模型。

停止条件为:

  • 达到最大迭代次数;

  • 在某一轮迭代中没有发生任何权重更新(即所以样本都分类正确)。


具体例子

假设我们有以下一个简单的训练数据集。

初始化时设定权重 w1=0.1,w2=0.2,偏置 b=0,学习率 η=0.01。

第一轮迭代:

对于样本1,计算加权和:z=0.1×2+0.2×3+0=0.8。 激活函数输出 y_{\text{pred}} = 1,与真实标签一致,因此不更新权重。

对于样本2,计算加权和:z=0.1×1+0.2×1+0=0.3。激活函数输出 y_{\text{pred}} = 1,但真实标签是 -1,所以发生分类错误。更新权重和偏置:

w_1 \leftarrow 0.1 + 0.01 \times (-1 - 1) \times 1 = 0.08

w_2 \leftarrow 0.2 + 0.01 \times (-1 - 1) \times 1 = 0.18

b \leftarrow 0 + 0.01 \times (-1 - 1) = -0.02

对于样本3,计算加权和:z=0.08×3+0.18×1−0.02=0.4。激活函数输出 y_{\text{pred}} = 1,与真实标签一致,因此不更新权重。

第二轮迭代:

...

一直迭代

直到所有样本分类正确或达到停止条件,得到了我们要的 w 和 b

#  若文章对大噶有帮助的话,点个赞支持一下叭!

标签:偏置,权重,迭代,样本,更新,感知机,神经网络,单层
From: https://blog.csdn.net/weixin_74268817/article/details/143892724

相关文章

  • MATLAB实现SO-CNN-LSTM蛇群算法优化卷积长短期记忆神经网络时间序列预测
    目录1.项目背景介绍...12.项目目标与意义...13.项目挑战...24.项目特点与创新...25.项目应用领域...26.项目效果预测图程序设计...37.项目模型架构...38.项目模型描述及代码示例...3模型实现的详细步骤:...39.项目模型算法流程图...510.项目结构......
  • 海马优化算法(SHO)优化BP神经网络原理及MATLAB代码复现
    目录0引言1数学模型2优化方式3MATLAB代码3.1伪代码3.2SHO主函数代码3.3SHO-BP0引言海马优化算法(Sea-horseoptimizer,SHO)是ShijieZhao等人于2023年提出群智能算法,该算法模拟了海马的运动、捕食和繁殖行为。在前两个阶段,SHO分别模拟了海马的不同运动模式和概......
  • 卷积神经网络(CNN)中的池化层(Pooling Layer)
            池化层(PoolingLayer),也被称为下采样层,是深度学习神经网络中常用的一种层级结构。它通常紧跟在卷积层之后,对卷积层输出的特征图进行下采样操作。一、定义与功能        池化层的主要作用是通过减少特征图的尺寸来降低计算量,并且可以提取出特征图的主......
  • 【IEEE出版】2024年大数据、神经网络与深度学习研讨会(BDNNDL 2024)
     大会网站:https://ais.cn/u/iUfUbq【投稿参会】截稿时间:以官网信息为准出版检索:IEEE出版,EI、SCOPUS主办单位:中国石油大学、山东省人工智能学会、山东计算机学会征稿主题:其他相关主题均可(一)大数据:机器学习、语音与图像处理、网络与信息安全等(二)神经网络:人工智能、信息......
  • 基于人工神经网络的混凝土干燥收缩预测模型优化
    1.引言混凝土的干燥收缩是指混凝土在硬化过程中由于水分蒸发而引起的体积减少。这一过程可能导致裂缝的产生,进而影响混凝土结构的耐久性和安全性。传统的参数化模型(如ACI209、CEB、B3和GL2000)虽然在一定程度上能够预测干燥收缩,但它们通常需要大量的实验数据,并且在处理复杂条......
  • 基于Cnn神经网络虫害预测
    【摘 要】鉴于农业病虫害经济损失的预测具有较强的复杂性和非线性特性,设计了一种新型的GRNN预测模型,对农业病虫害经济损失进行预测。该模型基于人工神经网络捕捉非线性变化独特的优越性,在神经网络技术和江苏省气象局提供的数据的基础上,利用MATLAB人工神经网络工具箱及GRNN广......
  • 【视频讲解】Python深度神经网络DNNs-K-Means(K-均值)聚类方法在MNIST等数据可视化对比
    全文链接:https://tecdat.cn/?p=38289原文出处:拓端数据部落公众号分析师:CucuSun近年来,由于诸如自动编码器等深度神经网络(DNN)的高表示能力,深度聚类方法发展迅速。其核心思想是表示学习和聚类可以相互促进:好的表示会带来好的聚类效果,而好的聚类为表示学习提供良好的监督信号。关......
  • MATLAB用CNN-LSTM神经网络的语音情感分类深度学习研究
    全文链接:https://tecdat.cn/?p=38258原文出处:拓端数据部落公众号在语音处理领域,对语音情感的分类是一个重要的研究方向。本文将介绍如何通过结合二维卷积神经网络(2-DCNN)和长短期记忆网络(LSTM)构建一个用于语音分类任务的网络,特别是针对语音情感识别这一应用场景。文中将展示相......
  • 【深度学习】二、多层感知机(MLP)
    目录1什么是多层感知机1.1基本概念1.2 数学解释2多层感知机的结构3多层感知机的应用4代码实现4.1代码4.1.1 手动实现4.1.2运行结果4.2简洁实现4.2.1代码4.2.2运行结果4.3面向对象4.3.1代码4.3.2运行结果参考资料本人为小白,欢迎补充!1什么是......
  • 【RMBO-BILSTM分类预测2024新算法】红嘴蓝鹊优化算法RMBO优化双向长短期记忆神经网络
    %%清空环境变量warningoff%关闭报警信息closeall%关闭开启的图窗clear%清空变量clc%清空命令行tic%restoredefaultpath%%读取数据res=xlsread('数据集.xlsx');%%划分训练集和测试集%P_train=res(1:250,1:12)';T_train=res(1:250,13)';M......