神经网络基础知识

news2024/11/15 8:21:21

神经网络基础知识

文章目录

  • 神经网络基础知识
    • 一、人工神经网络
      • 1.激活函数
        • sigmod函数
        • Tanh函数
        • Leaky Relu函数
        • 分析
      • 2.过拟合和欠拟合
    • 二、学习与感知机
      • 1.损失函数与代价函数
      • 2. 线性回归和逻辑回归
      • 3. 监督学习与无监督学习
    • 三、优化
      • 1.梯度下降法
      • 2.随机梯度下降法(SGD)
      • 3. 批量梯度下降法(BGD)
      • 4.小批量梯度下降法(MBGD)
      • 5.Momentum动量法
      • 6.优化学习率/步长
      • 7.反向传播算法
    • 四、卷积神经网络
      • 1.感受野
      • 2.下采样(池化)
      • 3.Flattening平整化
      • 4.举例
    • 五、循环神经网络
      • 1. RNN的基本概念
      • 2.LSTM长短期记忆网络
      • 3.GRU
      • 4.Attention注意力机制
      • 5.Transformer模型

一、人工神经网络

1.激活函数

sigmod函数

在这里插入图片描述

Tanh函数

在这里插入图片描述

Leaky Relu函数

在这里插入图片描述

分析

  1. sigmod和Tanh函数为饱和函数,leaky Relu函数为非饱和函数,使用非饱和激活函数的优势在于:
  • 非饱和函数能解决深度神经网络(层数非常多)的梯度消失问题,浅层网络才能使用sigmod作为激活函数。
  • 非饱和函数能够加快收敛速度
  1. 激活函数的作用是将ANN模型中一个节点的输入信号转换成一个输出信号,若不运用激活函数的话,则输出信号将仅仅是一个简单的线性函数。

2.过拟合和欠拟合

  • 欠拟合是指模型在训练集、验证集和测试集上均表现不佳的情况;
  • 过拟合是指模型在训练集上表现很好,到了验证和测试阶段就很差,即模型的泛化能力很差。

二、学习与感知机

1.损失函数与代价函数

  1. 代价(目标)函数是损失函数的平均值
  2. 输入x通过模型预测输出y,此过程称为向前传播,而将预测与真实值的差值减小需要更新模型中的参数,这个过程称为向后传播
  • 损失函数

在这里插入图片描述

  1. 代价函数C(x),若是有多个样本可以将所有代价函数的取值求均值,记作J(x)。优化参数x,最常用的方法就是梯度下降,就是对代价函数J(x)的偏导数。
  • 代价函数

在这里插入图片描述

  1. 均方误差通常用在线性回归问题中,交叉熵代价函数通常用在分类问题中。

  2. 损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。

    代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。

    目标函数(Object Function)定义为:最终需要优化的函数。等于经验风险+结构风险(也就是Cost Function + 正则化项)。

2. 线性回归和逻辑回归

  1. 线性回归是回归问题(预测数值是连续型的),逻辑回归是分类问题(预测数值是离散型的)
  2. 逻辑回归就是将线性回归的值映射到sigmod函数当中,两者的求解步骤是类似的。

3. 监督学习与无监督学习

  1. 监督学习的学习方法是分类和回归,常用的算法是K-近邻算法、决策树、朴素贝叶斯、逻辑回归。
  2. 无监督学习的学习方法是:
  • 聚类:K-均值聚类、BIRCH聚类、高斯混合聚类
  • 降维:主成分分析(PCA)(通过线性变换将原始数据变换为一组各维度线性无关的表示,可以用于提取数据的主要特征分量。)
  1. 监督学习是根据已有数据集,知道输入和输出结果之间的关系,然后根据这种已知关系训练得到一个最优模型。训练数据应该既有特征(x)又有标签(y),然后通过训练,找到特征和标签之间的联系。

  2. 监督学习中的数据是带有一系列标签的,在无监督学习中,需要用某种算法去训练无标签的训练集从而能够让我们找到这组数据的潜在结构。

  3. 监督式学习中的分类和回归:回归指利用训练数据预测输出值,例如利用回归从训练数据中预测股票价格。分类指将输出分组到某一类。例如使用分类预测数据样本的年龄。

  4. 监督学习中的支持向量机(SVM)

  • 支持向量机(SVM)是一类按监督学习方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面,可以将问题化为一个求解凸二次规划的问题。

在这里插入图片描述

三、优化

1.梯度下降法

  • 求解损失函数的最小值时,可以通过梯度下降法来迭代求解,得到最小化的损失函数和模型参数值。

  • 梯度下降的分类

在这里插入图片描述

2.随机梯度下降法(SGD)

  • 每次从训练集中随机选择一个样本来进行学习,Batch_size = 1
  • 优点:每次只随机选择一个样本更新参数,所以学习是非常快速的,并且可以在线更新;最终收敛于一个较好的局部极值点。
  • 缺点:每次更新可能不会按正确的方向进行,因此会带来优化波动,使得迭代次数增多,即收敛速度变慢。

3. 批量梯度下降法(BGD)

  • 每次使用全部的训练样本来更新模型参数
  • 优点:每次更新都会朝着正确的方向进行,最后能够保证收敛于极值点。
  • 缺点:每次学习时间过长,并且如果训练集很大以至于需要消耗大量的内存,不能进行在线模型参数更新。

4.小批量梯度下降法(MBGD)

  • 综合以上两种方法,在每次更新速度与更新次数中间的一个平衡,其每次更新从训练集中随机选择k个样本进行学习。

5.Momentum动量法

  • 参数更新时在一定程度上保留之前更新的方向,同时又利用当前batch的梯度微调最终的更新方向,简言之就是通过积累之前的动量来加速当前的梯度
  • Nesterov 动量法往标准动量中添加了一个校正因子,具体做法就是在当前的梯度上添加上一时刻的动量。(更好的修正过程)
  • Nesterov动量法中的β

6.优化学习率/步长

  1. Adagrad
  • 对于经常更新的参数,我们已经积累了大量关于它的知识,不希望被单个样本影响太大,希望学习速率慢一些;对于偶尔更新的参数,我们了解的信息太少,希望能从每个偶然出现的样本身上多学一些,即学习速率大一些。(梯度平缓时加大步长)
  1. rmsprop
  • rmsprop算法修改了AdaGrad的梯度平方和累加为指数加权的移动平均,使得其在非凸设定下效果更好。

7.反向传播算法

  1. BP算法的学习过程由正向传播过程和反向传播过程组成。

四、卷积神经网络

1.感受野

  • 就是指输出feature map上某个元素受输入图像上影响的区域。

  • 内核(kernel)是滤波器(filter)的基本元素,多张kernel组成一个filter。

  • 输入通道是3个特征时,则每一个filter中包含3张kernel。

2.下采样(池化)

  • 作用:保留主要特征的同时减少参数和计算量,防止过拟合,提高模型的泛化能力。

  • 最大池化和平均池化:保留像素值最大或取平均。

3.Flattening平整化

  • Flatten层:把多维的输入一维化,常用在从卷积层到全连接层的过渡。

在这里插入图片描述

4.举例

  1. AlexNet使用ReLU激活函数
  2. LetNet5使用sigmod激活函数

在这里插入图片描述

在这里插入图片描述

博客来源:https://blog.csdn.net/wait_ButterFly/article/details/81872706

五、循环神经网络

1. RNN的基本概念

  • 他们都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。

2.LSTM长短期记忆网络

在这里插入图片描述

3.GRU

  • 为了解决长期记忆和反向传播中的梯度等问题而提出来的

在这里插入图片描述

4.Attention注意力机制

  • Attention机制就是对输入的每个元素考虑不同的权重参数,从而更加关注与输入的元素相似的部分,而抑制其它无用的信息。

5.Transformer模型

  • 相比 RNN 网络结构,其最大的优点是可以并行计算。
  • Self-Attention(自注意力),也称为Intra-Attention(内部注意力),是关联单个序列的不同位置的注意力机制,以便计算序列的交互表示。

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

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

相关文章

JavaScript系列之new运算符

文章の目录一、什么是new?二、new经历了什么过程?三、new的过程分析四、其他作用参考写在最后一、什么是new? 众所周知,在JS中,new的作用是通过构造函数来创建一个实例对象。 像下面这样:(和普…

Centos篇-Centos Minimal安装

安装Centos Minimal 下载镜像 由于使用Centos主要是安装K8s以及使用K8s或者docker安装各种服务,可以理解为就是单纯的服务器使用,所以不需要GUI,直接使用Centos的Server版本。 所以选择centos的minimal版本进行下载: 地址&#…

FreeRTOS队列集、事件标志组 | FreeRTOS十一

目录 说明: 一、队列集 1.1、队列集简介 1.2、队列集作用 二、队列集相关API函数 2.1、创建队列集函数 2.2、往队列集添加队列函数 2.3、队列集移除队列函数 2.4、获取队列集中有有效队列 三、事件标志组 3.1、什么是事件标志组 3.2、事件标志组的特点 …

Matlab傅里叶谱方法求解二维波动方程

傅里叶谱方法求解基本偏微分方程—二维波动方程 二维波动方程 将一维波动方程中的一维无界弦自由振动方程推广到二维空间上, 就得到了描述无界 (−∞<x,y<∞)(-\infty<x, y<\infty)(−∞<x,y<∞) 弹性薄膜的波动方程: ∂2u∂t2a2(∂2∂x2∂2∂y2)u(1)\frac…

HTML img和video object-fit 属性

简介 Css中object-fit主要是应用到img标签和Video标签的&#xff0c;来控制显示缩放效果的。 首先我们存在一张图片&#xff0c;原始图片的尺寸是 1080px x 600px, 展示效果如下&#xff1a; 如果我们的css样式中的img大小设定并不能满足图片的原始大小&#xff0c;比如我们的…

Syzkaller学习笔记---更新syz-extract/syz-sysgen(一)

Syzkaller学习笔记Syzkaller 安装文件系统内核Android common kernel参考文献syzkaller 源码阅读笔记-1前言syz-extractmainarchListcreateArchesworkerprocessArchprocessFileextractcheckUnsupportedCallsarchList小结syz-sysgenmainprocessJob()generateExecutorSyscalls()w…

Linux ALSA 之十一:ALSA ASOC Path 完整路径追踪

ALSA ASOC Path 完整路径追踪一、ASoc Path 简介二、ASoc Path 完整路径2.1 tinymix 设置2.2 完整路径 route一、ASoc Path 简介 如前面小节所描述&#xff0c;ASoc 中 Machine Driver 是 platform driver 和 codec driver 的粘合剂&#xff0c;audio path 离不开 FE/BE/DAI l…

绕过Nginx Host限制

目录绕过Nginx Host限制SNI第三种方法&#xff1a;总结绕过Nginx Host限制 SNI SNI&#xff08;Server Name Indication&#xff09;是 TLS 的扩展&#xff0c;这允许在握手过程开始时通过客户端告诉它正在连接的服务器的主机名称。 作用&#xff1a;用来解决一个服务器拥有…

机器视觉 多模态学习11篇经典论文代码以及解读

此处整理了深度学习&#xff0d;机器视觉&#xff0c;最新的发展方向&#xff0d;多模态学习&#xff0c;中的11篇经典论文&#xff0c;整理了相关解读博客和对应的Github代码&#xff0c;看完此系列论文和博客&#xff0c;相信你能快速切入这个方向。每篇论文、博客或代码都有…

【C++1】函数重载,类和对象,引用,string类,vector容器,类继承和多态,/socket,进程信号,public,ooci

文章目录1.函数重载&#xff1a;writetofile()&#xff0c;Ctrue和false&#xff0c;C0和非02.类和对象&#xff1a;vprintf2.1 构造函数&#xff1a;对成员变量初始化2.2 析构函数&#xff1a;一个类只有一个&#xff0c;不允许被重载3.引用&#xff1a;C中&取地址&#x…

Elasticsearch在Windows系统下的安装

Elasticsearch在Windows系统下的安装Elasticsearch在Windows系统下的安装1、安装 Java 环境2、安装 Elasticsearch&#xff08;1&#xff09;下载 Elasticsearch 的 zip 安装包&#xff08;2&#xff09;下载安装包后解压文件&#xff08;3&#xff09;启动 Elasticsearch 服务…

C++多态(下)

大家好&#xff01;上一篇文章&#xff0c;主要是说了多态的概念和使用。这篇文章就会说一下多态的底层原理&#xff0c;如果对多态的使用和概念不清的可以看一下上篇文章(多态概念)。 文章目录1. 多态的原理1.1 虚函数表1.2 多态的原理1.3 动态绑定与静态绑定2. 多继承关系的…

第四章 MergeTree原理分析

一、存储结构 1.1 表引擎语法结构 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster] (name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],...INDEX index_name1 expr1 TYPE type1(...) GRANULARITY va…

【遇见青山】项目难点:解决超卖问题

【遇见青山】项目难点&#xff1a;解决超卖问题1.乐观锁方案2.悲观锁方案1.乐观锁方案 原始实现下单功能的方法&#xff1a; /*** 秒杀实现** param voucherId 秒杀券的ID* return Result*/ Override Transactional public Result seckillVoucher(Long voucherId) {// 查询优…

备战蓝桥杯【高精度加法和高精度减法】

&#x1f339;作者:云小逸 &#x1f4dd;个人主页:云小逸的主页 &#x1f4dd;Github:云小逸的Github &#x1f91f;motto:要敢于一个人默默的面对自己&#xff0c;强大自己才是核心。不要等到什么都没有了&#xff0c;才下定决心去做。种一颗树&#xff0c;最好的时间是十年前…

IDEA中使用自定义的maven

步骤 1.下载maven maven下载 2.配置maven 2.1设置环境变量 1.在“环境环境“–“系统环境“–“path”中加入&#xff08;设置到bin目录下&#xff09; 2.测试环境变量是否成功 C:\Users>mvn -v //在控制台输入mav -v,看是否输出以下结果 Apache Maven 3.9.0 (9b…

《MySQL系列-InnoDB引擎23》文件-InnoDB存储引擎文件-重做日志文件

InnoDB存储引擎文件 之前介绍的文件都是MySQL数据库本身的文件&#xff0c;和存储引擎无关。除了这些文件外&#xff0c;每个表存储引擎都有其自己独有的文件。本节将具体介绍与InnoDB存储引擎密切相关的文件&#xff0c;这些文件包括重做日志文件、表空间文件。 重做日志文件…

Docker的资源控制管理

目录 一、CPU控制 1、设置CPU使用率上限 2、设置CPU资源占用比&#xff08;设置多个容器时才有效&#xff09; 3、设置容器绑定指定的CPU 二、对内存使用进行限制 1、创建指定物理内存的容器 2、创建指定物理内存和swap的容器 3、 对磁盘IO配额控制&#xff08;blkio&a…

使用Docker容器部署java运行环境(java8 + mysql5.7 + redis5.0 + nginx1.14.1

环境&#xff1a;阿里云ECS服务器一.Docker环境安装1.1 安装工具sudo yum install -y yum-utils device-mapper-persistent-data lvm21.2 为yum源添加docker仓库位置yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo1.3 将软件…

【微信小游戏开发笔记】第二节:Cocos开发界面常用功能简介

Cocos开发界面常用功能简介 本章只介绍微信小游戏开发时常用的功能&#xff0c;其他功能不常用&#xff0c;写多了记不住&#xff08;其实是懒 -_-!&#xff09;&#xff1a; 层级管理器&#xff0c;用于操作各个节点。资源管理器&#xff0c;用于操作各种文件资源。场景编辑…