深度学习导论

具有非常详尽的数学推导过程

概述

定位

在这里插入图片描述

比较传统机器学习深度学习
特征人工定义机器生成
模型决策树、SVM、贝叶斯等(具有不同数学原理)神经网络

概率论

联合概率 P ( X , Y ) = P ( X ∣ Y ) P ( Y ) = P ( Y ∣ X ) P ( X ) P(X,Y)=P(X|Y)P(Y)=P(Y|X)P(X) P(X,Y)=P(XY)P(Y)=P(YX)P(X)
=>贝叶斯法则 P ( X ∣ Y ) = P ( Y ∣ X ) P ( X ) P ( Y ) P(X|Y)=\frac{P(Y|X)P(X)}{P(Y)} P(XY)=P(Y)P(YX)P(X)
均匀分布 p ( x ) = 1 U − L p(x)=\frac{1}{U-L} p(x)=UL1
正态分布(概率密度函数) p ( x ) = 1 2 π σ 2 e x p ( − ( x − μ ) 2 2 σ 2 ) p(x)=\frac{1}{\sqrt{2\pi \sigma^2}}exp(-\frac{(x-\mu)^2}{2\sigma^2}) p(x)=2πσ2 1exp(2σ2(xμ)2)

向量

范数 ∣ ∣ a ∣ ∣ 2 = ∑ i = 1 m a i 2 ≥ 0 ||a||_2=\sqrt{\sum_{i=1}^ma_i^2}\ge0 ∣∣a2=i=1mai2 0 for all a

矩阵

如果可能,此处应当补充关于矩阵的更多知识(超出线性代数课程),如pca主成分分析。详见线性代数、矩阵论。
矩阵特征值和特征向量 A x = λ x Ax=\lambda x Ax=λx
对称性
正定型(特征值均为非负数)
正交矩阵

函数求导

详见微积分

标量、向量、矩阵间的求导运算

在这里插入图片描述
标量对标量求导=1

x = ( x 1 x 2 . . . x m ) , ∂ y ∂ x = ( ∂ y ∂ x 1 , ∂ y ∂ x 2 , . . . , ∂ y ∂ x m ) x=\begin{pmatrix} x_1\\ x_2\\ ...\\ x_m \end{pmatrix},\frac{\partial y}{\partial x} =\begin{pmatrix} \frac{\partial y}{\partial x_1}, \frac{\partial y}{\partial x_2}, ..., \frac{\partial y}{\partial x_m} \end{pmatrix} x= x1x2...xm ,xy=(x1y,x2y,...,xmy)称为分母布局

y = ( y 1 y 2 . . . y m ) , ∂ y ∂ x = ( ∂ y 1 ∂ x ∂ y 2 ∂ x . . . ∂ y m ∂ x ) y=\begin{pmatrix} y_1\\ y_2\\ ...\\ y_m \end{pmatrix},\frac{\partial y}{\partial x} =\begin{pmatrix} \frac{\partial y_1}{\partial x}\\ \frac{\partial y_2}{\partial x}\\ ...\\ \frac{\partial y_m}{\partial x} \end{pmatrix} y= y1y2...ym ,xy= xy1xy2...xym 称为分子布局
此处有些不清楚,详见矩阵求导的本质与分子布局、分母布局的本质(矩阵求导——本质篇)

机器学习基本流程

分为:有监督学习(占大头)、无监督学习、半监督学习、强化学习
k折交叉验证,用于评估算法的准确度:
在这里插入图片描述

欠拟合和过拟合:
在这里插入图片描述

克服过拟合的方法:权重衰减,平方正则化作为硬/软约束

深度学习框架

在这里插入图片描述
学生多用pytorch,企业多用tensorflow,还有百度的paddlepaddle,此外,c++的框架是caffe

DNN 前向(深度)神经网络(感知机)

感知机

给予输入x,权重w,偏置(bias)b,感知机输出:
o = σ ( w ⋅ x + b ) o=\sigma(w·x+b) o=σ(wx+b),其中wx是向量点积, σ ( x ) \sigma (x) σ(x)是激活函数。
最早的感知器非常简单,由Rosenblatt在1957年提出,只有两层神经元,只能对线性数据进行分辨。这还曾经导致人们对神经网络的计算能力产生了严重的怀疑,很大程度上阻碍了神经网络研究的发展。
在这里插入图片描述

在这里插入图片描述
损失函数(loss): l ( y , x , w ) = m a x ( 0 , − y w ⋅ x ) l(y,x,w)=max(0,-yw·x) l(y,x,w)=max(0,ywx)其中y是真实label,为使损失函数最小,使用梯度下降算法(柯西,1860)
伪代码:
在这里插入图片描述
多层感知机MLP构成前向神经网络(全连接):

单隐含层二分类
在这里插入图片描述
单隐含层多分类
在这里插入图片描述
多隐含层多分类
在这里插入图片描述
多层感知器具有对线性不可分数据进行辨识的能力

激活函数

作用
1.完成数据的非线性变换,解决线性模型的表达、分类能力不足的问题,而且如果网络中全是线性变换,那么可以通过数学推导转化为一层,失去了深度的含义;
2.执行数据的归一化,将输入数据映射到某个范围内,再往下传递,这样做的好处是可以限制数据的扩张,防止数据过大导致的溢出风险

激活函数的性质:
1.计算简单(频繁)
2.输出范围有限,如 ∈ [ 0 , 1 ] 或 [ − 1 , 1 ] \in [0,1]或[-1,1] [0,1][1,1]
3.非线性
4.单调性(保持梯度方向的稳定)
5.几乎处处可微(用于梯度下降算法的求导)

举例:
1.sigmoid函数
s i g m o i d ( x ) = 1 1 + e − x sigmoid(x)=\frac{1}{1+e^{-x}} sigmoid(x)=1+ex1
s i g m o i d ′ ( x ) = s i g m o i d ( x ) ( 1 − s i g m o i d ( x ) ) sigmoid'(x)=sigmoid(x)(1-sigmoid(x)) sigmoid(x)=sigmoid(x)(1sigmoid(x))
在这里插入图片描述
缺点:幂运算相对耗时;函数具有饱和性。在反向传播时容易出现梯度消失的情况,从而无法完成深层网络的训练;收敛缓慢
2.双曲正切函数
t a n h ( x ) = 1 − e − 2 x 1 + e − 2 x tanh(x)=\frac{1-e^{-2x}}{1+e^{-2x}} tanh(x)=1+e2x1e2x
t a n h ′ ( x ) = 1 − t a n h 2 ( x ) tanh'(x)=1-tanh^2(x) tanh(x)=1tanh2(x)
在这里插入图片描述
特点:和 Sigmoid 函数的曲线相近;在输入很大或是很小的时候,输出都几乎平滑;整个函数以 0 为中心;计算量大
3.线性修正函数(ReLU)
R e L U ( x ) = m a x ( x , 0 ) ReLU(x)=max(x,0) ReLU(x)=max(x,0)
f ′ ( x ) = 1 , x > 0 f'(x)=1,x>0 f(x)=1,x>0
在这里插入图片描述
特点:仿生物学;解决梯度消失问题;计算比较简单
4.阶跃函数
s t e p ( x ) = { 1 , x > 0 0 , x < 0 step(x)=\left\{\begin{matrix} 1,x>0 \\ 0,x<0 \end{matrix}\right. step(x)={1,x>00,x<0
在这里插入图片描述
5.带泄露线性整流函数 (Leaky ReLU)
是 ReLU 函数的变体,输入值为负时梯度为一个常数
在这里插入图片描述
6.ELU 函数
E L U ( x ) = { x , x > 0 α ( e x − 1 ) , x < = 0 ELU(x)=\left\{\begin{matrix} x,x>0 \\ \alpha(e^x-1),x<=0 \end{matrix}\right. ELU(x)={x,x>0α(ex1),x<=0
E L U ′ ( x ) = { 1 , x > 0 E L U ( x ) + α , x < = 0 ELU'(x)=\left\{\begin{matrix} 1,x>0 \\ ELU(x)+\alpha,x<=0 \end{matrix}\right. ELU(x)={1,x>0ELU(x)+α,x<=0
在这里插入图片描述

7.SoftPlus 函数
ReLU 函数的平滑版,,值域为 (0, +∞)。运算量比较大,收敛速度比 ReLU 要慢很多
f ( x ) = l n ( e x + 1 ) f(x)=ln(e^x+1) f(x)=ln(ex+1)
f ′ ( x ) = 1 e x + 1 f'(x)=\frac{1}{e^x+1} f(x)=ex+11

梯度下降算法

用于求函数的局部最小值

误差反向传播 (BP) 算法

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

牛客NC31 第一个只出现一次的字符【simple map Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c 核心 Map参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可*…

rabbitMQ的基础操作与可视化界面

当你安装好RabbitMq时&#xff0c;可以 尝试一下&#xff0c;这些命令 启动rabbitMQ服务 #启动服务 systemctl start rabbitmq-server #查看服务状态 systemctl status rabbitmq-server #停止服务 systemctl stop rabbitmq-server #开机启动服务 systemctl enable rabbitmq-…

电商系列之售后退货

> 插&#xff1a;AI时代&#xff0c;程序员或多或少要了解些人工智能&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家…

基于JavaWEB SSM SpringBoot婚纱影楼摄影预约网站设计和实现

基于JavaWEB SSM SpringBoot婚纱影楼摄影预约网站设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言…

Redis命令-SortedSet类型

4.8 Redis命令-SortedSet类型 Redis的SortedSet是一个可排序的set集合&#xff0c;与Java中的TreeSet有些类似&#xff0c;但底层数据结构却差别很大。SortedSet中的每一个元素都带有一个score属性&#xff0c;可以基于score属性对元素排序&#xff0c;底层的实现是一个跳表&a…

乡村数字化转型:科技赋能打造智慧农村新生态

随着信息技术的迅猛发展&#xff0c;数字化转型已成为推动社会进步的重要引擎。在乡村振兴的大背景下&#xff0c;乡村数字化转型不仅是提升乡村治理能力和治理水平现代化的关键&#xff0c;更是推动农业现代化、农村繁荣和农民增收的重要途径。本文旨在探讨乡村数字化转型的内…

09_Web组件

文章目录 Web组件Listener监听器ServletContextListener执行过程 Filter过滤器Filter与Servlet的执行 案例&#xff08;登录案例&#xff09; 小结Web组件 Web组件 JavaEE的Web组件&#xff08;三大Web组件&#xff09;&#xff1a; Servlet → 处理请求对应的业务Listener →…

权限提升-Linux系统权限提升篇Vulnhub辅助项目SUID权限SUDO指令版本漏洞

知识点 1、Web权限或普通用户到Linux-配置不当-判断&利用 2、Web权限或普通用户到Linux-配置不当-SUID&GUID 3、普通用户到Linux-配置不当-SUDO&CVE漏洞 章节点&#xff1a; 1、Web权限提升及转移 2、系统权限提升及转移 3、宿主权限提升及转移 4、域控权限提升及…

CVE-2023-38408漏洞修复 - 升级openssl和openssh

CVE-2023-38408 OpenSSH 代码问题漏洞修复 - 升级openssl和openssh ※ 重要说明&#xff1a; 1、升级后会导致无法用ssh远程登录&#xff0c;提示“Permission denied, please try again.” 2、解决方案请查看本章节【三、解决升级后无法用ssh远程登录】 目录 CVE-2023-38408 O…

c语言例题,逐个打印数字

今天来分享个比较简单的程序例题&#xff0c;也是比较经典的一个新手例题&#xff0c;逐个打印输入的数字。我们直接从主函数看起&#xff0c;先定义一个num变量&#xff0c;同时变量的类型是unsigned int&#xff0c;这个类型的意思是无符号的整型变量&#xff0c;unsigned&am…

手把手在K210上部署自己在线训练的YOLO模型

小白花了两天时间学习了一下K210&#xff0c;将在线训练的模型部署在K210&#xff08;代码后面给出&#xff09;上&#xff0c;能够识别卡皮巴拉水杯&#xff08;没错&#xff0c;卡皮巴拉&#xff0c;情绪稳定&#xff0c;真的可爱&#xff01;&#xff09;。数据集是用K210拍…

C++:一次性搞定vector模拟实现中必须关注的细节

vector模拟实现的细节 1. vector的模拟实现源码2. 重要接口注意事项2.1 const修饰2.2 begin()和end()2.3 构造函数&#xff08;1&#xff09;迭代器区间初始化&#xff08;2&#xff09;构造函数冲突问题发现​问题分析问题​解决问题 &#xff08;3&#xff09;特殊的构造函数…

LDR6023,大功率OTG快充芯片,引领充电新时代!

在科技日新月异的当下&#xff0c;数据交互方式已经深入我们生活的每一个角落&#xff0c;对日常生活和工作产生着无可替代的影响。然而&#xff0c;在OTG技术诞生之前&#xff0c;数据交互的过程常常显得繁琐且耗时。想象一下&#xff0c;需要将数码相机中的照片导入笔记本电脑…

《科技创新与应用》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答&#xff1a; 问&#xff1a;《科技创新与应用》是什么级别期刊&#xff1f; 答&#xff1a;省级&#xff1b;主管单位&#xff1a;黑龙江省科学技术协会&#xff1b;主办单位&#xff1a;黑龙江省创联文化传媒有限公司 问&#xff1a;《科技创新与应用》是核心期刊…

查找链表中的中间结点

略。。。。。 提升题的难度&#xff0c;不知道输入数据节点的个数。 方法一&#xff1a;对链表进行两次遍历。第一次遍历时&#xff0c;我们统计链表中的元素个数 N&#xff1b;第二次遍历时&#xff0c;我们遍历到第 N/2 个元素时&#xff0c;将该元素返回即可。 方法二&am…

粉丝免费福利第一期-海浪型手机支架

&#x1f341; 作者&#xff1a;知识浅谈&#xff0c;CSDN签约讲师&#xff0c;CSDN博客专家&#xff0c;华为云云享专家&#xff0c;阿里云专家博主 &#x1f4cc; 擅长领域&#xff1a;全栈工程师&#xff0c;大模型&#xff0c;爬虫、ACM算法 &#x1f492; 公众号&#xff…

不小心将某个分支的本地代码推到另外一个远程分支上

不小心将某个分支的本地代码推到另外一个远程分支上&#xff0c;是不会产生效果的&#xff0c;若提示了“Everything up-to-date ”&#xff0c;说明没有内容被提交到了远程&#xff0c;某个分支的本地代码仍然在本地仓库。 若想将改动的代码提交到另外一个远程分支上&#xf…

不懂技术的老板,如何避免过度依赖核心技术人员

在这个日新月异、技术驱动的时代&#xff0c;即使作为非技术背景的老板&#xff0c;也深知核心技术人员的价值。然而&#xff0c;过度依赖某几位核心技术人员&#xff0c;不仅可能带来经营风险&#xff0c;还可能限制企业的创新与发展。那么&#xff0c;不懂技术的老板&#xf…

【python基础教程】2. 算法的基本要素与特性

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;python基础教程 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、…

创建第一个51文件

1.找一个文件目录创建一个main.c 比如我的 F:\my_project\project_of_51\0.first_of_51 什么你不会&#xff1f; 先把这里的文件扩展名打开; 再创建一个文本文件&#xff0c;重新命名为main.c // 修改.c 后弹出一个确认修改的框&#xff0c;选确认即可 2.kei操作: 1&#xf…