机器学习——深度学习

news2024/12/22 19:59:43

1 感知机

在这里插入图片描述
y = f ( ∑ i = 1 n w i x i − b ) y=f(\sum\limits_{i=1}^{n}w_ix_i-b) y=f(i=1nwixib)
其中, f f f 常常取阶跃函数或 Sigmoid 函数。

学习规则:
Δ w i = η ( y − y ^ ) x i w i ← w i + Δ w i \Delta w_i=\eta(y-\hat{y})x_i\\ w_i \leftarrow w_i+\Delta w_i Δwi=η(yy^)xiwiwi+Δwi
其中, y ^ \hat{y} y^ 为感知机的输出, η \eta η 为学习率。

单层感知机只能解决线性可分问题,要解决非线性可分问题(如异或),可考虑引入多层功能神经元。

2 反向传播(BackPropagation)

在这里插入图片描述
训练集 D = ( x 1 , y 1 ) , ( x 2 , y 2 ) ⋯ ( x m , y m ) , x ∈ R d , y ∈ R l D={(x_1,y_1),(x_2,y_2)\cdots(x_m,y_m)},x\in\mathbb{R}^d,y\in\mathbb{R^l} D=(x1,y1),(x2,y2)(xm,ym),xRd,yRl ,隐层的阈值为 γ h \gamma_h γh,输出层的阈值为 θ j \theta_j θj,两个层的激活函数均为 Sigmoid 函数( S ′ ( x ) = S ( x ) [ 1 − S ( x ) ] S'(x)=S(x)[1-S(x)] S(x)=S(x)[1S(x)] )。对训练例 ( x k , y k ) (x_k,y_k) (xk,yk),输出为 y ^ k = ( y ^ 1 k , y ^ 2 k , ⋯   , y ^ l k ) {\hat y^k}=({\hat y_1^k},{\hat y_2^k},\cdots,{\hat y_l^k}) y^k=(y^1k,y^2k,,y^lk),其中, y ^ j k = f ( β j − θ j ) {\hat y_j^k}=f(\beta_j-\theta_j) y^jk=f(βjθj)。则整个网络对该训练例的均方误差为:
E k = 1 2 ∑ j = 1 l ( y ^ j k − y j k ) 2 E_k=\frac{1}{2}\sum\limits_{j=1}^{l}({\hat y_j^k}-y^k_j)^2 Ek=21j=1l(y^jkyjk)2
我们需要确定的参数为:输入层到隐层的权值,共 d ⋅ q d\cdot q dq 个;隐层的阈值,共 q q q 个;隐层到输出层的权值 q ⋅ l q\cdot l ql 个;输出层的阈值,共 l l l 个。在每一轮迭代中,任意参数 v v v 的更新均可以表示为:
v ← v + Δ v ,  其中 Δ v = − η ∂ E k ∂ v v\leftarrow v+\Delta v,\ 其中\Delta v = -\eta\frac{\partial E_k}{\partial v} vv+Δv, 其中Δv=ηvEk
例如,对隐层到输出层的权值 w h j w_{hj} whj,有:
∂ E k ∂ w h j = ∂ E k ∂ y ^ j k ⋅ ∂ y ^ j k ∂ β j ⋅ ∂ β j ∂ w h j (链式法则) = ( y ^ j k − y j k ) ⋅ y ^ j k ⋅ ( 1 − y ^ j k ) ⋅ b h \begin{align} \frac{\partial E_k}{\partial w_{hj}}&=\frac{\partial E_k}{\partial {\hat y^k_j}}\cdot\frac{\partial {\hat y^k_j}}{\partial \beta_j}\cdot\frac{\partial \beta_j}{\partial w_{hj}}(链式法则)\\ &=({\hat y^k_j}-y^k_j)\cdot{\hat y^k_j}\cdot(1-{\hat y^k_j})\cdot b_h \end{align} whjEk=y^jkEkβjy^jkwhjβj(链式法则)=(y^jkyjk)y^jk(1y^jk)bh
g j = ( y j k − y ^ j k ) ⋅ y ^ j k ⋅ ( 1 − y ^ j k ) g_j=({y^k_j}-{\hat y^k_j})\cdot{\hat y^k_j}\cdot(1-{\hat y^k_j}) gj=(yjky^jk)y^jk(1y^jk),于是有:
Δ w h j = η g j b h \Delta w_{hj}=\eta g_jb_h Δwhj=ηgjbh
同理得 Δ θ j = − η g j 、 Δ v i h = η e h x i 、 Δ γ h = − η e h \Delta\theta_j=-\eta g_j、\Delta v_{ih}=\eta e_hx_i、\Delta\gamma_h=-\eta e_h Δθj=ηgjΔvih=ηehxiΔγh=ηeh,其中:
e h = − ∂ E k ∂ b h ⋅ ∂ b h ∂ α h = − b h ⋅ ( 1 − b h ) ⋅ ∑ j = 1 l ∂ E k ∂ β j ⋅ ∂ β j ∂ b h = b h ⋅ ( 1 − b h ) ⋅ ∑ j = 1 l g j w h j \begin{align} e_h&=-\frac{\partial E_k}{\partial b_{h}}\cdot\frac{\partial b_h}{\partial \alpha_h}\\ &=-b_h\cdot(1-b_h)\cdot\sum\limits_{j=1}^{l}\frac{\partial E_k}{\partial \beta_{j}}\cdot\frac{\partial \beta_j}{\partial b_{h}}\\ &=b_h\cdot(1-b_h)\cdot\sum\limits_{j=1}^{l}g_jw_{hj} \end{align} eh=bhEkαhbh=bh(1bh)j=1lβjEkbhβj=bh(1bh)j=1lgjwhj

BP 算法的流程为:
在这里插入图片描述
BP 算法的目标是最小化累积误差 E = 1 m ∑ i = 1 k E k E = \frac{1}{m}\sum\limits_{i=1}^{k}E_k E=m1i=1kEk ;只要隐层有足够多的神经元,BP 神经网络能以任意精度逼近任意连续函数。

3 卷积神经网络

特点:

  • 继承 BP 神经网络的优点
  • 权值共享:卷积层、池化层的可训练参数仅与卷积窗的种类有关,每种卷积窗内部的神经元参数一致。(卷积层 or 池化层 → 卷积窗 → 神经元)
  • 卷积层:
    在这里插入图片描述
  • 池化层:
    在这里插入图片描述

以 LeNet-5 手写数字为例:
在这里插入图片描述
C1 层:

  • 输入图片大小:32*32
  • 卷积窗大小:5*5
  • 卷积窗种类:6
  • 输出特征图大小:28*28
  • 可训练参数:(5*5+1)*6(每种卷积窗有 25 个权值和 1 个偏置常数)
  • 神经元数量:28*28*6(每个输出特征图由 28*28 个神经元构成)
  • 连接数:(5*5+1)*28*28*6(每个神经元需要与视野域内的 5*5 个输入连接,还要与本卷积窗的偏置常数连接)

S2 层:

  • 输入图片大小:28*28
  • 卷积窗大小:2*2
  • 卷积窗种类:6(和输入的 6 个图片一一对应)
  • 输出下采样图的大小:14*14(与卷积层不同的是,池化层的步长为 2)
  • 可训练参数:(1+1)*6(池化层的神经元会先取其视野域内的4个输入的最大值(也可以是最小值、均值等),然后在乘以一个可训练权重 w ,再加上一个可训练偏置,故每种卷积窗的可训练参数为:1+1)
  • 神经元数量:14*14*6
  • 连接数:(2*2+1)*14*14*6

C3 层:

  • 输入图片大小:14*14
  • 卷积窗大小:5*5
  • 卷积窗种类:16
    在这里插入图片描述
  • 输出特征图大小:10*10
  • 可训练参数:(3*6+4*9+6*1)*25+16(6 种卷积窗的每个神经元与 3 个输入图片有关;9 种卷积窗的每个神经元与 4 个输入图片有关;1 种卷积窗的每个神经元与 6 个输入图片有关;每个输入图片有 25 个输入;16 种卷积窗各有 1 个偏置常数)
  • 神经元数量:10*10*6
  • 连接数:((3*6+4*9+6*1)*25+16)*10*10*6
输入图片大小卷积窗大小卷积窗种类输出特征图大小可训练参数神经元数量连接数
S410*102*2165*5(1+1)*165*5*16(16*5*5+1)*120
C5(全连接)5*55*51201*1(16*5*5+1)*120120(16*5*5+1)*120
F6(全连接)1*11*1841*1(120+1)*8484(120+1)*84

OUTPUT层:

  • 输入向量:1*84
  • 输出向量:1*10

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

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

相关文章

C高级重点

1、请简要描述一下Linux文件系统的层级结构,包括不同目录的作用和功能。 Linux的文件系统结构是一个倒插树结构,所有的文件都从根目录出发。 2、find指令的用途 find 查找的路径 -name 文件名 ----->在指定路径下,以文件名为条件查找文…

windows gcc、g++和cmake安装

1、gcc gwindows版本工具mingw下载安装 参考:https://blog.csdn.net/didi_ya/article/details/111240502 https://blog.csdn.net/weixin_46416035/article/details/127387170 ##看这个 下载: https://sourceforge.net/projects/mingw-w64/files/mingw…

图书搜索领域重大突破!用Apache SeaTunnel、Milvus和OpenAI提高书名相似度搜索精准度和效率

作者 | 刘广东,Apache SeaTunnel Committer 背景 目前,现有的图书搜索解决方案(例如公共图书馆使用的解决方案)十分依赖于关键词匹配,而不是对书名实际内容的语义理解。因此会导致搜索结果并不能很好地满足我们的需…

nodejs安装记录

1.更改安装目录 D:\env\nodejs 2.命令行输入 node -v 查看nodejs的版本号 3.命令行输入 npm -v查看npm的版本号 4.修改模块安装和缓存路径 之前的设置: 在nodejs安装目录下新建一个文件夹,命名为 node_cache 使用命令修改config配置,首先…

【超简单】Windows 使用 mstsc 远程连接 Ubuntu桌面

登录网站下载 《xrdp-installer-1.4.7.zip》 xRDP Installation Script (free):https://c-nergy.be/repository.html 在Ubuntu 下,解压,添加x 权限后执行安装 chmod 777 xrdp-installer-1.4.7.sh ./xrdp-installer-1.4.7.sh安装完毕后&…

【嵌入式模型转换】2. 算能盒子SE5 芯片板子BM1684 sophon-pipeline

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1. 开始安装 前言 文章1,我们在SE5上实现了,SOC模式下的 C 和 python-sail的模型转换,文章连接: 【嵌入式模型转…

VUE L ∠脚手架新生命周期过度动画 ⑩⑦

目录 文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨ V u e j s Vuejs Vuejs初识 V u e C L I VueCLI VueCLI C L I CLI CLI n e x t T i c k nextTick nextTick C L I CLI CLI V u e Vue Vue封装的过度与动画 C L I CLI …

第十五章 Swin-Transformer网络详解

系列文章目录 第一章 AlexNet网络详解 第二章 VGG网络详解 第三章 GoogLeNet网络详解 第四章 ResNet网络详解 第五章 ResNeXt网络详解 第六章 MobileNetv1网络详解 第七章 MobileNetv2网络详解 第八章 MobileNetv3网络详解 第九章 ShuffleNetv1网络详解 第十章…

Selenium教程__获取界面handle、title和url(7)

本文将介绍如何使用Selenium来获取界面的句柄、标题和URL,并展示一些实际应用场景。 学习本文内容将能够轻松地获取并利用界面的句柄、标题和URL,从而更好地跟踪和管理UI的状态和行为。 from selenium import webdriverdriver webdriver.Chrome() dr…

dlib 人脸识别

其实很不明白,这个库存在这么久了,但csdn有关其的资料那么少,这里写点抛砖引玉。 代码思路: 获取人脸人脸对齐对齐后的人脸转128维向量人脸识别(计算向量的距离) 效果: dlib检测人脸确实有点慢…

VLAN间通信之VLANIF虚接口

VLAN间通信之VLANIF虚接口 说明:想要实现VLAN间互访有很多解决方案: 1)VLAN终结--也称单臂路由 2)VLANIF虚接口---最受欢迎的解决方案 1、VLANIF虚接口 1)VLANIF接口是一种三层虚拟接口,可以实现VLAN间的…

浏览器F12开发者工具

浏览器F12开发者工具 1.介绍2.工具附录 1.介绍 F12常用于网站界面测试、调试,分析问题,查看HTML元素、查看响应事件和数据等,还可帮助测试工程师定位前后端Bug; 其中使用最多的功能页面是:元素(Elements&…

数据结构--顺序表的定义

数据结构–顺序表的定义 知识总览 顺序表 \color{red}顺序表 顺序表―一用 顺序存储 \color{red}顺序存储 顺序存储的方式实现线性表 顺序存储。把 逻辑上相邻 \color{red}逻辑上相邻 逻辑上相邻的元素存储在 物理位置上也相邻 \color{red}物理位置上也相邻 物理位置上也相邻的…

设计模式第16讲——迭代器模式(Iterator)

目录 一、什么是迭代器模式 二、角色组成 三、 优缺点 四、应用场景 4.1 生活场景 4.2 java场景 五、代码实现 5.0 代码结构 5.1 Student——学生实体类 5.2 StudentIterator——抽象迭代器(Iterator) 5.3 StudentListIterator——具体迭代器…

threejs官方demo学习:模型加载

前言 案例太多了&#xff0c;考虑了一下&#xff0c;实际项目中有可能用的情况一般就是加载模型&#xff0c;然后对模型进行一些操作。因此打算好好看一下关于模型加载的案例&#xff0c;其他案例就不看了。 模型加载并改变材质 <script lang"ts" setup> im…

基于 FPGA 的单脉冲技术:算法设计(附源码)

一、前言 本例显示了开发单脉冲技术的工作流程的前半部分&#xff0c;其中信号使用数字下变频&#xff08;DDC&#xff09;进行下变频。本例中的模型适合在FPGA上实现。本示例重点介绍单脉冲技术的设计&#xff0c;以估计物体的方位角和仰角。 示例的第二部分是基于FPGA的单脉冲…

【C++】hash:unordered_map和unordered_set的底层结构

hash 哈希概念哈希冲突哈希函数哈希冲突的两种解决方法之闭散列哈希冲突的两种解决方法之开散列开散列和闭散列的比较 哈希概念 在c98中还并没有提出哈希这样的结构&#xff0c;只有以红黑树为底层结构的map&#xff0c;set系列&#xff0c;这样使得查询时的效率 l o g 2 N lo…

c语言修炼第二章--分支与循环

目录 前言 2.1分支语句 2.1.1什么是语句 2.2分支语句 2.2.1if语句的语法形式 2.2.2悬空else问题 2.2.3if书写形式的对比 2.3switch语句 2.3.1switch的语法形式 2.3.2 switch与break的关系 2.3.3 switch与default的关系 前言 小伙伴们端午安康吖&#xff01;今天我们…

Mac菜单栏快捷开关 One Switch

One Switch是一款简单易用的 macOS 应用程序&#xff0c;它可以帮助用户快速地切换和管理 Mac 电脑的各种系统设置。这款应用程序提供了一个干净简洁的界面&#xff0c;让用户可以快速地启用或禁用诸如 Wi-Fi、蓝牙、Night Shift、暗色模式、Do Not Disturb 等功能。用户可以通…

建立无需build的vue单页面应用SPA框架

vue、react这种前端渲染的框架&#xff0c;比较适合做SPA&#xff08;Single Page Application&#xff09;。如果用ejs做SPA&#xff0c;js代码控制好全局变量冲突不算严重&#xff0c;但dom元素用jquery操作会遇到很多的名称上的冲突&#xff08;tag、id、name&#xff09;。…