什么是神经网络,它的原理是啥?(1)

news2024/12/24 0:24:21

参考:https://www.youtube.com/watch?v=mlk0rddP3L4&list=PLuhqtP7jdD8CftMk831qdE8BlIteSaNzD

视频1: 简单介绍神经网络的基本概念,以及一个训练好的神经网络是怎么使用的

分类算法中,神经网络在训练过程中会学习输入的 pattern,这个 pattern 会被用来区分以后的新输入

神经网络分为如图三层
在这里插入图片描述

输入层的神经元数量等于输入的特征数量

以图像识别为例,下图所需的神经元数量是 2352

在这里插入图片描述

如下图是输出层,我们的图中输出层只有一个神经元,所以只能做二元分类

在这里插入图片描述

隐藏层通常用于保存 “pattern”

通常来说,隐藏层越多,就能用于识别越复杂的图像,做更复杂更精细的分类。但是同样的,隐藏层越多、神经元越多,也会带来更大的存储开销和计算开销。

相邻两层的神经元之间有两两相连的 “边(连接)”。每条边都有权重,这个权重是被我们训练出来的。

权重的用法是:用来做 “加权乘法和(权重和)”,也可以直观的解释下,就说是给每个特征一些权重,如下图

在这里插入图片描述

如上图,通常还会有个 bias

下一个概念:激活函数。通常,一个神经元的输出是激活函数的输出,而这个激活函数的 输入/参数 就是刚刚计算的权重和
在这里插入图片描述
需要注意的是 a21 神经元,以及和它同一层的神经元接下来也会做 权重和,然后继续对 a3? 等等神经元做同样的事情,这样一层一层传递下去,直到最后计算出 output layer

那么接下来的问题是:这些“边”的权重是怎么被计算的?

在这里插入图片描述

如上图,首先给这些边分配随机值,接着进行训练,训练过程会改变权重的值。

关于具体的训练过程,看下个视频。

视频2:大致介绍一些训练神经网络的框架、轮廓,没有深入细节

(谷歌浏览器无障碍字幕挺好用的)

视频里先介绍了计算、讨论神经网络时一些符号的意义

在这里插入图片描述

如上图,说明了,下一层神经元的值,和上一层神经元的值之间的关系,其实可以用一个矩阵计算的公式来表示

这里有一个前提,就是所有神经元(至少同一层)的激活函数都是一样的,那么我们才可以用同一个 f 来计算神经元的值

不同的输入,会激活不同的神经元

使用神经网络的过程中,我们会看到输入层计算权重和传到隐藏层,隐藏层不同的神经元被激活,再计算权重和传到下一个隐藏层… 这个过程就叫做 向前传播

Forward Propagation

向前传播算法如下图

在这里插入图片描述

那么,我们如何训练神经网络,来找到适合的权重矩阵和 bias 呢?

如下图,是 cost 函数,它的意思就是:模型的输出和实际值之间的差。
在这里插入图片描述
“改变 权重矩阵 和 bias,让 cost 函数的输出最小化” 这个就是训练模型的过程

如下图,如果我们可以绘制 cost 和 weight 的关系如下图,这是一个有全局最优的图,那么我们就可以用梯度下降法来优化权重矩阵

alpha 是学习速率,它旁边那个东西是曲线的斜率
在这里插入图片描述
当然了,神经网络中的参数有很多,每两层神经元之间都有一对 权重矩阵 和 bias,所以训练过程如下,我们会计算 cost 函数和不同参数的斜率、求导,随后进行梯度下降法进行优化
在这里插入图片描述
在这里插入图片描述

如上图,在我们优化参数的时候,我们在最小化 cost,cost 取决于 a2,a2取决于 W2 和 a1,a1 取决于 W1 和 a0。这个向后的过程我们就叫做向后传播算法, back propagation

一个整体的训练模型过程如下

在这里插入图片描述

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

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

相关文章

通过arthas vmtool 调用线上正在运行的service方法

通过arthas vmtool 调用线上正在运行的service方法 场景 场景具体描述业务上有某个缓存需要删除,但是没有写删除 key 的远程接口通过arthas执行 service 方法,删除缓存 key 1.前期准备 1.1下载arthas 官网地址 https://arthas.gitee.io/doc/quick-…

修改el-date-picker宽度

<div style"width: 100%"><el-date-pickerstyle"width:100%"v-model"value"type"datetimerange"start-placeholder"开始日期"end-placeholder"结束日期":default-time"[12:00:00]"value-forma…

编程实例:操作简单的台球计时计费软件推荐,可以连接灯控硬件设备以及灯控器布线图编程

编程实例&#xff1a;操作简单的台球计时计费软件推荐&#xff0c;可以连接灯控硬件设备以及灯控器布线图编程 1、计时计费功能 &#xff1a;开台时间和所用的时长直观显示&#xff0c;每3秒即可刷新一次时间。 2、销售商品功能 &#xff1a;商品可以绑定桌子最后一起结账&…

同城门户同城分类信息网站源码discuz插件+pc端+小程序端+49款插件

同城分类信息 同城好店 同城合伙人 同城招聘 同城卡 同城活动 同城优惠抢购 同城商城 同城头条 同城抽奖 同城拼团 同城砍价 同城电话本 同城认证 同城签到 同城拼车 同城红包 同城子站点 同城相亲 同城交友 同城小程序 代码逻辑清晰,文件规划统一明了&#xff0c;非常不错的&…

网络工程综合试题(二)

1. SR技术有哪些缺点&#xff1f; SR&#xff08;Segment Routing&#xff09;技术是一种新兴的网络编程技术&#xff0c;它具有很多优点&#xff0c;但也存在一些缺点&#xff0c;包括&#xff1a; 部署复杂性&#xff1a;SR技术需要对网络进行改造和升级&#xff0c;包括更新…

LeetCode 275. H 指数 II

原题链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述 给你一个整数数组 citations &#xff0c;其中 citations[i] 表示研究者的第 i 篇论文被引用的次数&#xff0c;citations 已经按照 升序排列 。计算并返回该研究者的 h…

Java学习 6.循环习题

1.根据年龄&#xff0c;打印出当前年龄段的人是少年&#xff08;低于18&#xff09;&#xff0c;青年&#xff08;19-28&#xff09;&#xff0c;中年&#xff08;29-55&#xff09;&#xff0c;老年&#xff08;55以上&#xff09;。 代码实现 public static void main(Strin…

爬取某信息化服务平台登录页面验证码

网站链接&#xff1a;https://login.cdpf.org.cn/uams/person.html 鼠标放到验证码上&#xff0c;右键“检查” 提取URL 爬虫代码&#xff1a; import requests # 导入base64库&#xff0c;用于对数据进行Base64编码和解码 import base64 # 从io模块导入BytesIO&#xff0c;它…

手把手教你根据接口文档,轻松开发 get 和 post 请求的脚本

前言 一般的接口文档描述的内容&#xff1a; 开发get请求的脚本&#xff0c;接口文档的描述如下&#xff1a; 在loadrunner里面创建一个空脚本&#xff1a; 在action空白处&#xff0c;点击insert—>step 输入web_custom_request&#xff0c;双击选择该函数&#xff0c;填入…

【如何写论文】硕博学位论文的结构框架、过程与大纲分析

硕士论文可以说是毕业前最重要的一部分&#xff0c;也可以说是展示和检验你3年研究生学习的成果的一个考试。硕士论文答辩和检验合格&#xff0c;才能够顺利拿到毕业生和学位证&#xff0c;可见其重要性。 目录 一、基础框架1.1、摘要&#xff08;Abstract&#xff09;1.2、绪论…

负债6W,依靠这个项目副业6个月还清欠款,还多存了10W+

真不敢想象负债6W“走投无路”的我还能通过副业逆天翻盘&#xff0c;6个月还清欠款&#xff0c;还让我多了10W存款&#xff0c;现在小日子也是相当滋润&#xff0c;吃穿不愁&#xff0c;不用过多为生计而奔波操劳。 仅代表个人收益 网盘下载地址&#xff1a;【安卓软件】音魔变…

2023年阿里云双11优惠来了,单笔最高可省2400元!

2023年阿里云双11活动终于来了&#xff0c;阿里云推出了金秋云创季活动&#xff0c;新用户、老用户、企业用户均可领取金秋上云礼包&#xff0c;单笔最高立减2400元&#xff01; 一、活动时间 满减券领取时间&#xff1a;2023年10月27日0点0分0秒-2023年11月30日23点59分59秒 …

FileMaker Pro 2023 Crack

FileMaker Pro 平台是工作组 DBMS 中的领先平台之一&#xff0c;可让您快速开发现成的解决方案&#xff0c;完全根据客户企业的需求量身定制&#xff0c;并使用这些解决方案组织集体工作。FileMaker Pro 强大的功能、对广泛目标平台的支持以及易于使用的界面使 FileMaker Pro 成…

【音视频|wav】wav音频文件格式详解

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

取石子

每一堆数量都>1的话可以把合并操作和取石子看成一种操作&#xff0c;总操作数就是sumn-1&#xff0c;为奇数就是Alice先手必胜&#xff0c;哪怕有一堆是2&#xff0c;Bob取后变为1&#xff0c;Alice也可以通过合并操作让1变成>1的数 可以分成两大板块a、b, a中方石子个数…

VM搭建虚拟机2(自定义安装)

文章目录 自定义安装选择你的centos下载目录设置用户名密码自定义安装目录注意&#xff0c;尽量别再同一位置安装虚拟机设置处理器数量内存根据所需配置&#xff08;默认1G&#xff09;NAT按需设置磁盘大小点击完成即可等待安装即可 VMware、centos、典型安装 自定义安装 选择你…

分治法求解棋盘覆盖问题

分治法求解棋盘覆盖问题 如何应用分治法求解棋盘覆盖问题呢&#xff1f;分治的技巧在于如何划分棋盘&#xff0c;使划分后的子棋盘的大小相同&#xff0c;并且每个子棋盘均包含一个特殊方格&#xff0c;从而将原问题分解为规模较小的棋盘覆盖问题。 基本思路 棋盘覆盖问题是…

Python算法练习 10.30

leetcode 841 钥匙和房间 有 n 个房间&#xff0c;房间按从 0 到 n - 1 编号。最初&#xff0c;除 0 号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而&#xff0c;你不能在没有获得钥匙的时候进入锁住的房间。 当你进入一个房间&#xff0c;你可能会在里面找…

生产环境使用boost::fiber

简介 boost::fiber是一类用户级线程&#xff0c;也就是纤程。其提供的例子与实际生产环境相距较远&#xff0c;本文将对其进行一定的改造&#xff0c;将其能够投入到生产环境。 同时由于纤程是具有传染性的&#xff0c;使用纤程的代码里也全部要用纤程封装&#xff0c;本文将对…

canvas绘制签名并保存

实现签名的三个关键方法&#xff1a; 1.mousedown&#xff1a;当鼠标按下时开始绘制签名。 2.mousemove&#xff1a;鼠标移动时持续绘制。 3.mouseup&#xff1a;鼠标抬起时结束绘制。 html&#xff1a; <div class"setSign"><canvasref"canvas&q…