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

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

  • 一、基础知识
    • (一)引言
    • (二)神经网络的基本概念
      • (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、数据量小时,优先选用决策树、支持向量机、线性回归


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/871297.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【代码随想录算法训练营第六十六天|卡码网97.小明逛公园、127.骑士的攻击】

文章目录 97.小明逛公园127.骑士的攻击 97.小明逛公园 之前的题目都是只有一个出发点和到达点,这道题是有多个起始对,用之前的算法把每一对结果算出来也是可行的,在这里使用Floyd算法。 本质上是一种动态规划,dp数组dp[i][j][k]中…

webpack terser-webpack-plugin 不打包注释及log

踩坑记录:注意 terser-webpack-plugin": "^4.2.3" 对应着webpack4及版本一下的,5点多版本的对应webpack5,版本不对会报ERROR TypeError: Cannot read property javascript of undefined 1.安装三方包 npm install terser-web…

【Linux网络】IP协议{初识/报头/分片/网段划分/子网掩码/私网公网IP/认识网络世界/路由表}

文章目录 1.入门了解2.认识报头3.认识网段4.路由跳转相关指令路由 该文诸多理解参考文章:好文! 1.入门了解 用户需求:将我的数据可靠的跨网络从A主机送到B主机 传输层TCP:由各种方法(流量控制/超时重传/滑动窗口/拥塞…

RAG 召回提升相关方案分享

最近大半年时间都在做RAG的工作,分享一点个人探索的方向。和提升的方案。文章中会分享是如何做的,以及对应的效果。 核心问题 如何提升RAG的效果? 如何提升召回的准确率。 写在前边:已验证的方案 方案 优化方向 效果 备注 3.1…

iPad锁屏密码忘记怎么办?有什么方法可以解锁?

当我们在日常使用iPad时,偶尔可能会遇到忘记锁屏密码的尴尬情况。这时,不必过于担心,因为有多种方法可以帮助您解锁iPad。接下来,小编将为您详细介绍这些解决方案。 一、使用iCloud的“查找我的iPhone”功能 如果你曾经启用了“查…

07-7.5.3 处理冲突的方法

👋 Hi, I’m Beast Cheng 👀 I’m interested in photography, hiking, landscape… 🌱 I’m currently learning python, javascript, kotlin… 📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以…

Biz-Logger操作日志框架

文章目录 前言一、设计 / 对比 / 实现1.1 注解1.1.1 EnableBizLogger1.1.2 BizLogger1.1.3 BizLoggerComponent1.1.4 BizLoggerFunction 1.2 自定义函数1.2.1 IBizLoggerFunctionRegistrar1.2.2 AbstractBizLoggerFunctionResolver 1.3 日志上下文1.3.1 BizLoggerContext 1.4 S…

SSM学习6:Spring事务

简介 事务作用:在数据层保障一系列的数据库操作同成功同失败Spring事务作用:在数据层或业务层保障一系列的数据库操作同成功同失败 public interface PlatformTransactionManager{void commit(TransactionStatus status) throws TransactionStatus ;vo…

Elasticsearch 角色和权限管理

在大数据和云计算日益普及的今天,Elasticsearch 作为一款强大的开源搜索引擎和数据分析引擎,被广泛应用于日志分析、全文搜索、实时监控等领域。随着业务规模的扩大和数据敏感性的增加,对 Elasticsearch 的访问控制和权限管理也变得越来越重要…

【人工智能】Transformers Pipeline概述

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 欢迎关注微信公众号:野老杂谈 V: LAF20151116 进行更多交流学习 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真…

【网络文明】关注网络安全

在这个数字化时代,互联网已成为我们生活中不可或缺的一部分,它极大地便利了我们的学习、工作、娱乐乃至日常生活。然而,随着网络空间的日益扩大,网络安全问题也日益凸显,成为了一个不可忽视的全球性挑战。认识到网络安…

Python数据分析案例52——基于SSA-LSTM的风速预测(麻雀优化)

案例背景 又要开始更新时间序列水论文的系列的方法了,前面基于各种不同神经网络层,还有注意力机制做了一些缝合模型。 其实论文里面用的多的可能是优化算法和模态分解,这两个我还没出专门的例子,这几天正好出一个优化算法的例子来…

uboot学习:(四)顶层makefile分析

目录 版本号 MAKEFLAGS变量 命令输出 静默输出 设置编译结果输出目录 代码检查(一般不需要使用,了解就行) 模块编译(一般不用uboot编译模块,了解就行) 获取主机架构和系统 设置目标架构、交叉编译…

隔离驱动-视频课笔记

目录 1、需要隔离的原因 1.2、四种常用的隔离方案 2、脉冲变压器隔离 2.1、脉冲变压器的工作原理 2.2、泄放电阻对开关电路的影响 2.3、本课小结 3、光耦隔离驱动 3.1、光耦隔离驱动原理 3.2、光耦隔离驱动的电源进行分析 3.3、本课小结 4、自举升压驱动 4.1…

JS【详解】对象(含对象的存储原理,对象的常用操作,判断对象是否为空对象,对象的深拷贝,对象的创建、遍历、合并、拷贝等)

简介 任何事物都可以看作一个对象,用属性描述它的特征,用方法描述它的行为,如下方代码所示: let obj {name: "朝阳",sayHi: function () {console.log("你好!");}, }; typeOf obj // object变量…

大数据开发中的元数据:从基础到高级应用的全面指南

在大数据开发中,元数据(Metadata)是指描述数据的数据。元数据可以提供有关数据结构、数据类型、数据约束和数据关系的重要信息。合理利用元数据可以显著提高数据建模和管理的效率。本文将详细介绍如何根据元数据建表,并提供一些代…

2024年公司电脑屏幕监控软件推荐|6款好用的屏幕监控软件盘点!

在当今的商业环境中,确保员工的工作效率和数据安全是每个企业管理者的重要任务。屏幕监控软件通过实时监控和记录员工的电脑活动,帮助企业有效地管理和优化工作流程。 1.固信软件 固信软件https://www.gooxion.com/ 主要特点: 实时屏幕监控…

ConditionalOnSingleCandidate注解使用介绍、应用场景以及示例代码

概述 ConditionalOnSingleCandidate 是Spring Framework中的一个条件注解,它用于根据特定类型的 bean 是否有且仅有一个候选者来决定是否创建一个 bean 或者配置一个类。 应用场景 依赖特定类型的唯一bean: 当需要依赖一个特定类型的 bean,并且这种类型…

养殖业饲料加工新选择,粉碎机械提升效率

在当今畜牧业快速发展的时代,饲料加工设备成为提升养殖效益的重要一环。其中,饲料加工粉碎机凭借其G效、便捷的特点,成为了养殖场的得力助手。 饲料加工粉碎机作为养殖业的重要设备之一,其主要功能是将各种原料如玉米、豆粕、麦…

简单的网页压力测试

要进行简单的网页压力测试,可以使用Python的requests库来发起请求,并结合time模块来控制请求频率。以下是一个基本的实现,它会每分钟发送指定次数的请求到目标网址。 import requests import time# 目标网址 url ***# 每分钟请求的次数 req…