深度学习导论

本文详细介绍了机器学习中的数学原理,包括贝叶斯法则、概率论、向量和矩阵运算、神经网络的激活函数、梯度下降算法以及深度学习框架如PyTorch和TensorFlow。讨论了特征工程、概率分布、误差反向传播等内容,展示了从理论到实践的关键概念。
摘要由CSDN通过智能技术生成

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

概述

定位

在这里插入图片描述

比较传统机器学习深度学习
特征人工定义机器生成
模型决策树、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) 算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值