当前位置: 首页 > news >正文

基于神经网络的分类和预测

基于神经网络的分类和预测

  • 一、基础知识
    • (一)引言
    • (二)神经网络的基本概念
      • (1)神经网络
      • (2)神经元
      • (3)常用的激活函数(非线性映射函数)
      • (4)神经网络模型
      • (5)神经网络参数
      • (6)神经网络训练
      • (7)损失函数
      • (8)流程
      • (9)可能遇到的问题
  • 二、适用赛题
    • (一)预测类问题
    • (二)分类(评价)类问题
    • (三)模型选择
      • (1)前馈神经网络
      • (2)反馈神经网络
      • (3)注意事项

一、基础知识

(一)引言

(1)两个 “集合” 通过某个 “对应法则” 将两个集合中的 “每个元素” 进行一一对应起来的关系式称为"函数"
在这里插入图片描述
(2)神经网络是机器学习的一种模型(方法)

思考: 神经网络用来做什么? 怎么做?

  • 已知有100个鸢尾花的数据(包括花萼长度、宽度,花瓣长度、宽度),以及每个鸢尾花对应的类别
  • 现在采集了一个新的鸢尾花数据(包括花萼长度、宽度,花瓣长度、宽度)该鸢尾花对应的类别如何判别?
    在这里插入图片描述
    在这里插入图片描述

(二)神经网络的基本概念

(1)神经网络

人工神经网络(英语:Artificial Neural Network,ANN),简称 神经网络(Neural Network,NN)或 类神经网络

  • 神经网络由多层多个神经元 (结点) 构成
  • 神经网络由输入层隐藏层输出层构成
  • 权重代表每个结点的重要性

在这里插入图片描述
在这里插入图片描述

(2)神经元

每个输入都有一个相关的权值(w),它是根据该输入对当前神经元的重要性来确定的,对该输入加权并与其他输入求和后,经过一个激活函数 f,计算得到该神经元的输出
在这里插入图片描述

其中:

  • x1,……,xn-1,xn 为各个输入的分量
  • w1 i, ……,xn-1 i,xn i 为各个输入分量对应的权重参数
  • θi 为偏置
  • f 为激活函数,常见的激活函数有Tanh,Sigmoid,Relu
  • yi 为神经元的输出

可见,一个神经元的功能是求得输入向量与权向量的内积后,经一个非线性传递函数得到一个标量结果

(3)常用的激活函数(非线性映射函数)

  • 如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,这种情况就是最原始的感知机。
  • 而激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。
  1. Sigmoid
    由于其单增以及反函数等性质,常被用作神经网络的阈值函数将变量映射到(0,1),可以用来做二分类

缺点:

  • 当输入非常大或者非常小的时候,这些神经元的梯度是接近于0的,从图中可以看出梯度的趋势。
  • Sigmoid 的输出不是0均值,这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入。

在这里插入图片描述

  1. Tanh
    双曲正切,将变量映射到(-1,1)。Tanh是Sigmoid的变形,与 sigmoid 不同的是,tanh 是0均值的。因此,实际应用中,tanh 会比 sigmoid 更好。
    在这里插入图片描述

  2. Relu
    修正线性单元,它的作用是如果计算出的值小于0,就让它等于0,否则保持原来的值不变,克服了前两个激活函数会出现的梯度消失问题。通常用于隐层神经元输出
    在这里插入图片描述

运用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一个由足够多的非线性单元组成的单层网络,可以近似任何具有实际意义的特征

(4)神经网络模型

在这里插入图片描述
在这里插入图片描述

(5)神经网络参数

当问题比较复杂时,感知机可能学习果不好,需要加深网络层数

多层感知机
在这里插入图片描述
BP神经网络(back propagation,前馈-反向传播)

  • BP神经网络等于叠加多个感知机来实现非线性可分
  • 梯度下降策略:以目标的负梯度方向对参数进行调整(此外还有牛顿法、最小二乘等策略)
  • 第𝑘个训练例的均方误差:
    在这里插入图片描述

(6)神经网络训练

  • 神经网络拟合某种函数,通过一些权重将一个非线性函数参数化了,我们可以通过改变这些权重来改变这个非线性函数。
  • 神经网络训练的目的是找到合适的参数(即权重),使得得到的函数尽可能逼近原函数(即损失最小)。

在这里插入图片描述
在这里插入图片描述

(7)损失函数

1、分类
在这里插入图片描述

  • 输出层神经元个数 :n个类别 --> n个神经元
    输出的是样本所属类别的概率,这个概率值反映了预测为正类的可能性:概率越大,可能性越大。经softmax回归处理后的输出为:
    在这里插入图片描述

归一化的目的:
1)保证预测的概率为非负数
2)保证各种预测结果概率之和等于1

  • 损失函数:对于m个样本,softmax(交叉熵损失)
    在这里插入图片描述
    2、预测
    在这里插入图片描述
  • 输出层神经元个数:1个
  • 损失函数:MSE(均方误差)
    在这里插入图片描述

(8)流程

  • 准备数据集:包括训练集、验证集和测试集(82分或73分)
  • 设计网络:根据需求设计网络架构
  • 训练:数学建模基本采用有监督(训练集有标签)
  • 测试模型效果

(9)可能遇到的问题

过拟合和欠拟合

  • 过拟合:把特殊当一般(见过的天鹅都是白的,就以为天鹅只有白色的)
  • 欠拟合:一般性质都没学好(“后浪”里讲述的都是年轻人,就以为年轻人都是后浪)
    在这里插入图片描述

过拟合的原因及解决
在这里插入图片描述
过拟合的原因及解决
一般是训练不够


二、适用赛题

(一)预测类问题

用已有的数据来预测未来的结果,一般为回归问题,即输出值𝑦是连续的
比如:

  • 美赛2022年C题比特币和黄金投资策略,LSTM(Long Short-Term Memory,长短时记忆网络)进行预测
  • 短时交通流量预测,小波神经网络(WNN)的时间序列
  • 电力负荷预测 ,Elman神经网络(在BP网络上加上局部反馈层),具有延时记忆,适合动态建模

基于BP网络,加上反馈信息

(二)分类(评价)类问题

对对象进行分类,一般为离散问题,即输出值𝑦是有限个离散值
比如:

  • 美赛2021年C题黄蜂传播规律和目击准确性,卷积神经网进行图像识别
  • 人体肿瘤诊断,LVQ神经网络,无需数据预处理,适合模式识别和优化
  • 柴油机故障判断,SOM神经网络,无标签,适合需要聚类的问题

网络模型可参考网站:一文读懂神经网络

(三)模型选择

(1)前馈神经网络

1、全连接网络(FCNN)
也称为多层感知器(Multilayer Perceptron,MLP),是最基本的神经网络架构之一。在全连接网络中,每一层的每个神经元都与前一层的所有神经元相连接,这种密集的连接方式使得网络能够学习到输入数据中的复杂非线性关系。
在这里插入图片描述
2、卷积神经网络(CNN)
是一种专门为处理具有类似网格结构的数据(如图像)而设计的神经网络。CNN通过卷积层、池化层和全连接层等结构,能够有效地提取图像中的局部特征和空间层次结构。
在这里插入图片描述

(2)反馈神经网络

1、递归神经网络(Hopfiled优化)
递归神经网络是一种专门设计来处理序列数据的神经网络。RNN通过在网络中引入循环连接,使得网络能够保留之前时间步的信息,并将其用于当前时间步的计算。
在这里插入图片描述

2、回馈神经网络
回馈神经网络是一种具有反馈连接的神经网络,它通过将输出或隐藏状态反馈到输入层,形成一个闭环系统。回馈神经网络可以看作是RNN的一种特殊形式。
在这里插入图片描述

(3)注意事项

1、数据量比较大时,可以考虑使用神经网络
2、数据量小时,优先选用决策树、支持向量机、线性回归


相关文章:

基于神经网络的分类和预测

基于神经网络的分类和预测 一、基础知识(一)引言(二)神经网络的基本概念(1)神经网络(2)神经元(3)常用的激活函数(非线性映射函数)&…...

VR头显如何低延迟播放8K的RTSP|RTMP流

技术背景 我们在做Unity平台RTSP、RTMP播放器的时候,有公司提出来这样的技术需求,希望在头显播放全景的8K RTSP|RTMP直播流,8K的数据,对头显和播放器,都提出了新的要求,我们从几个方面,探讨下V…...

2、ASPX、.NAT(环境/框架)安全

ASPX、.NAT&#xff08;环境/框架&#xff09;安全 源自小迪安全b站公开课 1、搭建组合&#xff1a; WindowsIISaspxsqlserver .NAT基于windows C开发的框架/环境 对抗Java xx.dll <> xx.jar 关键源码封装在dll文件内。 2、.NAT配置调试-信息泄露 功能点&#xf…...

在家上网IP地址是固定的吗?

在数字化时代&#xff0c;互联网已成为我们日常生活中不可或缺的一部分。无论是工作、学习还是娱乐&#xff0c;我们都离不开网络的支持。然而&#xff0c;当我们在家中接入互联网时&#xff0c;可能会产生这样一个疑问&#xff1a;在家上网IP地址是固定的吗&#xff1f;下面一…...

交换机和路由器的工作流程

1、交换机工作流程&#xff1a; 将接口中的电流识别为二进制&#xff0c;并转换成数据帧&#xff0c;交换机会记录学习该数据帧的源MAC地址&#xff0c;并将其端口关联起来记录在MAC地址表中。然后查看MAC地址表来查找目标MAC地址&#xff0c;会有一下一些情况&#xff1a; MA…...

算法笔记——LCR

一.LCR 152. 验证二叉搜索树的后序遍历序列 题目描述&#xff1a; 给你一个二叉搜索树的后续遍历序列&#xff0c;让你判断该序列是否合法。 解题思路&#xff1a; 根据二叉搜索树的特性&#xff0c;二叉树搜索的每一个结点&#xff0c;大于左子树&#xff0c;小于右子树。…...

ChatGPT对话:如何制作静态网页?

【编者按】编者在很早以前制作过静态网页&#xff0c;之后长期没有使用&#xff0c;已完全不知道最新现状了。所以&#xff0c;从制作工具开始询问ChatGPT&#xff0c;回答非常全面&#xff0c;完全可以解决初学者的问题。 编者虽然长期不制作网页&#xff0c;但一直在编程&…...

k8s(二)

五、kubernetes架构(K8S的架构也是master和node模式&#xff09; 集群里至少需要有一个master节点&#xff0c;即就是主节点。node节点可以多个。 若是多个master节点&#xff0c;worker节点和master的apiserverr进行交互时&#xff0c;就需要通过LB(load banlance&#xff09;…...

ClickHouse表引擎概述

ClickHouse表引擎概述 表引擎的功能&#xff1a; 数据的存储方式 数据的存储位置 是否可以使用索引 是否可以使用分区 是否支持数据副本 并发数据访问 ClickHouse在建表时必须指定表引擎。 表引擎主要分为四大类&#xff1a;MergeTree系列、Log系列、与其他存储/处理系…...

jenkins系列-04-jenkins参数化构建

使用maven build之前&#xff0c;先checkout 指定分支或标签&#xff1a; 拖拽调整顺序&#xff1a;shell执行在前&#xff0c;构建在后&#xff1a; gitee新建标签tag:...

Flutter框架时间线梳理

Flutter是一个开源的UI工具包&#xff0c;它用于构建高质量的原生移动应用。Flutter的版本历史如下&#xff1a; Flutter 0.1.2&#xff1a; 2018年发布&#xff0c;这是第一个正式发布的版本&#xff0c;包含了基本的框架和工具。 Flutter 1.0.0&#xff1a; 2019年发布&…...

RAG 效果提升的最后一步—— 微调LLM

如果说&#xff0c;rerank能够让RAG的效果实现百尺竿头更进一步&#xff0c;那么LLM微调应该是RAG效果提升的最后一步。 把召回的数据&#xff0c;经过粗排&#xff0c;重排序后&#xff0c;送给模型&#xff0c;由模型最后总结答案。LLM的确已经是RAG的最后一步了。 这里还是会…...

C语言 | Leetcode C语言题解之第230题二叉搜索树中第K小的元素

题目&#xff1a; 题解&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/int search_num(struct TreeNode* root, int k, int *result, int num) {if(num k 1){retu…...

YOWOv2(yowov2)动作识别+Fastreid身份识别 详细安装与实现

首先yowov2是一款简单且实时的时空动作检测方案&#xff0c;fastreid是行人重识别&#xff08;身份识别&#xff09; yowov2介绍链接直达fastreid链接直达为时空动作检测任务设计实时框架仍然是一个挑战。YOWOv2 提出了一种新颖的实时动作检测框架&#xff0c;利用三维骨干和二…...

【微服务】Spring Cloud中如何使用Eureka

摘要 Eureka作为Netflix开源的服务发现框架&#xff0c;在Spring Cloud体系中扮演着至关重要的角色。本文详细介绍了Eureka的基本概念、工作原理以及如何在Spring Cloud中集成和使用Eureka进行服务发现和管理。通过深入分析Eureka的注册与发现机制、区域感知和自我保护等高级特…...

【Neo4j】实战 (数据库技术丛书)学习笔记

Neo4j实战 (数据库技术丛书) 第1章演示了应用Neo4j作为图形数据库对改进性能和扩展性的可能性, 也讨论了对图形建模的数据如何正好适应于Neo4j数据模型,现在到了该动 手实践的时间了。第一章 概述 Neo4j将数据作为顶点和边存储(或者用Neo4j术语,节点和关系存 储)。用户被定…...

【Perl】Perl 语言入门

1. Perl语言介绍 Perl 是一种高级、解释型、动态编程语言&#xff0c;由Larry Wall在1987年发布。Perl 以其强大的文本处理能力而闻名&#xff0c;特别是在处理报告生成、文件转换、系统管理任务等方面。它吸收了C、Shell脚本语言、AWK、sed等语言的特性&#xff0c;并加入了大…...

godis源码分析——database存储核心1

前言 redis的核心是数据的快速存储&#xff0c;下面就来分析一下godis的底层存储是如何实现&#xff0c;先分析单机服务。 此文采用抓大放小原则&#xff0c;先大的流程方向&#xff0c;再抓细节。 流程图 源码分析 现在以客户端连接&#xff0c;并发起set key val命令为例…...

【UE5.1】Chaos物理系统基础——06 子弹破坏石块

前言 在前面我们已经完成了场系统的制作&#xff08;【UE5.1】Chaos物理系统基础——02 场系统的应用_ue5&#xff09;以及子弹的制作&#xff08;【UE5.1 角色练习】16-枪械射击——瞄准&#xff09;&#xff0c;现在我们准备实现的效果是&#xff0c;角色发射子弹来破坏石柱。…...

Django是干什么的?好用么?

Django是一个开源的Python Web框架&#xff0c;用于快速开发高质量的Web应用程序。它提供了许多功能和工具&#xff0c;以简化常见的Web开发任务&#xff0c;如路由、请求处理、数据库管理等。 Django的优点包括&#xff1a; 简单易用&#xff1a;Django提供了清晰的文档和丰…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...