深度学习与神经网络第一章
绪论人工智能定义神经网路发展史神经网络应用趋势
线性回归与感知机线性回归线性回归要素线性回归问题求解
线性二分类线性二分类问题求解
对数回归神经元模型与作用函数神经元模型作用函数
感知机模型
多层感知机多层感知机多层前馈网络
性能优化技巧常用技巧动量法自适应梯度法
绪论
人工智能定义
人工智能是利用机器去实现目前必须借助人类智慧才能实现的任务,研究开发用于模拟人类智能的理论方法技术以及应用系统。 它包括多种方法论:
仿生角度:模拟自然生物信息处理过程的方法符号学角度:利用数理统计的方法行为学角度:以控制论为核心实现机器进化的方法交叉角度:上述多种角度合成的方法
人工智能经典的定义是利用经验来改善计算机系统的性能,即利用数据集来实现预测未知和理解。从实际需求出发,面临的瓶颈是绝大部分数据集是非结构化的,其特征不明显,难以进行提取,因而需要找到更好的方法,提高特征的抽象层次,对现实世界做出更加合理的预测与理解。
神经网路发展史
人工神经网络是从微观结构和功能模拟人脑神经系统而建立的一类模型,是模拟人的智能的一条途径,其于1943年NN模型和1949年Hebb规则创立,其后经历了初步发展、停滞期、复兴期与爆发期,并于2023年以ChatGPT3.5为代表迎来了通用人工智能技术的发展。
神经网络应用趋势
人工智能发展分为三种阶段:弱人工智能、强人工智能与超人工智能。目前人工智能的发展以深度学习和核心技术,以并行计算与云端为平台,以数据为基础,以算法为引擎。 人工智能的六大关键技术:计算机视觉、机器人、图像识别、自然语言处理、机器学习、语音识别。
线性回归与感知机
线性回归
线性回归是利用数理统计中回归分析,确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。即利用一条曲线(直线)去尽量拟合数据,并使用拟合的曲线来预测任意变量对应的值。
线性回归要素
训练集:也称训练数据,即输入的数据,一般用
x
x
x表示 输出数据:一般用
y
y
y表示 模型:假设,即拟合的函数,一般用
y
=
h
(
x
)
y = h(x)
y=h(x)表示 训练集的条目数:一条训练数据由一对输入数据和输出数据组成,输入数据的维度
n
n
n为特征的个数
线性回归问题求解
假设拟合函数和
n
+
1
n+1
n+1个因素有关,令
θ
=
[
θ
0
,
θ
1
,
.
.
.
,
θ
n
]
\theta = [\theta_0,\theta_1,...,\theta_n]
θ=[θ0,θ1,...,θn],
x
=
[
1
,
x
1
,
x
2
,
.
.
.
,
x
n
]
x=[1,x_1,x_2,...,x_n]
x=[1,x1,x2,...,xn],则有:
y
=
h
θ
(
x
)
=
θ
T
x
y = h_\theta(x) = \theta^T x
y=hθ(x)=θTx 假设给定样本
(
x
(
i
)
,
y
(
i
)
)
(x^{(i)},y^{(i)})
(x(i),y(i)),构造代价(误差、损失)函数,此损失函数为均方根形式:
J
(
θ
)
=
1
2
∑
i
(
y
(
i
)
−
h
θ
(
x
(
i
)
)
)
2
J(\theta) = \frac1 2\sum_i \left(y^{(i)}-h_\theta\left(x^{(i)}\right)\right)^2
J(θ)=21i∑(y(i)−hθ(x(i)))2 目标:找到超平面参数
θ
\theta
θ使
J
(
θ
)
J(\theta)
J(θ)最小,即求解
min
θ
J
(
θ
)
\min_\theta J(\theta)
minθJ(θ)
θ
=
(
X
T
X
)
−
1
X
T
y
\theta = \left(X^TX\right)^{-1}X^Ty
θ=(XTX)−1XTy
线性二分类
线性分类器透过特征的线性组合分类,即通过直线(或超平面)分类
线性二分类问题求解
构造二分类的“分界直线”,一边为负,一边为正,距离分界线越远,其归为对应类的概率越大。 对于概率的求解使用sigmoid函数:
y
=
1
1
+
exp
(
−
z
)
z
=
θ
1
x
1
+
θ
2
x
2
+
θ
0
y = \frac{1}{1+\exp(-z)}\\[2mm] z = \theta_1x_1+ \theta_2x_2+ \theta_0
y=1+exp(−z)1z=θ1x1+θ2x2+θ0 sigmoid函数满足:
y
′
=
y
(
1
−
y
)
y' = y(1-y)
y′=y(1−y) 假设给定样本
(
x
(
i
)
,
y
(
i
)
)
(x^{(i)},y^{(i)})
(x(i),y(i)),其中
y
(
i
)
y^{(i)}
y(i)只能取0和1,构造代价(误差、损失)函数:
J
(
θ
)
=
1
2
∑
i
(
y
(
i
)
−
h
θ
(
x
(
i
)
)
)
2
J(\theta) = \frac1 2\sum_i \left(y^{(i)}-h_\theta\left(x^{(i)}\right)\right)^2
J(θ)=21i∑(y(i)−hθ(x(i)))2 其中:
h
θ
(
x
(
i
)
)
=
1
1
+
exp
(
−
θ
T
x
(
i
)
)
h_\theta\left(x^{(i)}\right) = \frac{1}{1+\exp(-\theta^Tx^{(i)})}
hθ(x(i))=1+exp(−θTx(i))1
目标:找到超平面参数
θ
\theta
θ使
J
(
θ
)
J(\theta)
J(θ)最小,即求解
min
θ
J
(
θ
)
\min_\theta J(\theta)
minθJ(θ)
此类回归问题称为softmax回归
对于这种非线性问题求解采用梯度下降法:
J
(
θ
k
+
1
)
=
J
(
θ
k
)
+
[
d
J
d
θ
]
T
Δ
θ
k
Δ
θ
k
=
−
α
d
J
d
θ
J(\theta_{k+1}) = J(\theta_{k})+\left[\frac{dJ}{d\theta}\right]^T\Delta\theta_k\\[2mm] \Delta\theta_k = -\alpha\frac{dJ}{d\theta}
J(θk+1)=J(θk)+[dθdJ]TΔθkΔθk=−αdθdJ
对数回归
对于二分类问题从概率角度描述:
P
(
y
(
i
)
=
1
∣
x
(
i
)
)
=
h
θ
(
x
(
i
)
)
P
(
y
(
i
)
=
0
∣
x
(
i
)
)
=
1
−
P
(
y
=
1
∣
x
(
i
)
)
=
1
−
h
θ
(
x
(
i
)
)
P(y^{(i)}=1|x^{(i)}) = h_\theta(x^{(i)})\\[2mm] P(y^{(i)}=0|x^{(i)}) = 1-P(y=1|x^{(i)}) = 1-h_\theta(x^{(i)})
P(y(i)=1∣x(i))=hθ(x(i))P(y(i)=0∣x(i))=1−P(y=1∣x(i))=1−hθ(x(i)) 修改损失函数为:
J
(
θ
)
=
−
∑
i
(
y
(
i
)
)
log
(
h
θ
(
x
(
i
)
)
)
+
(
1
−
y
(
i
)
)
log
(
1
−
h
θ
(
x
(
i
)
)
)
J(\theta) = -\sum_i (y^{(i)})\log(h_\theta(x^{(i)}))+(1-y^{(i)})\log(1-h_\theta(x^{(i)}))
J(θ)=−i∑(y(i))log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i))) 对其最小化,有:
Δ
θ
J
(
θ
)
=
∑
i
x
(
i
)
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
\Delta_\theta J(\theta) = \sum_i x^{(i)}(h_\theta(x^{(i)})-y^{(i)})
ΔθJ(θ)=i∑x(i)(hθ(x(i))−y(i))
神经元模型与作用函数
神经元模型
生物神经元模型人工神经元模型单神经元模型 设
z
=
∑
j
w
j
x
j
−
θ
=
w
T
x
z = \sum_jw_jx_j-\theta = w^Tx
z=∑jwjxj−θ=wTx,则有:
y
=
f
(
z
)
y = f(z)
y=f(z),并且
f
(
z
)
=
1
,
z
≥
0
;
0
,
x
<
0
f(z) = 1,z\ge0;0,x<0
f(z)=1,z≥0;0,x<0
作用函数
非对称型log sigmoid函数,用于分类问题求解:
f
(
x
)
=
1
1
+
exp
(
−
β
x
)
f(x) = \frac{1}{1+\exp(-\beta x)}
f(x)=1+exp(−βx)1 对称型tangent sigmoid函数,用于拟合问题求解:
f
(
x
)
=
1
−
exp
(
−
β
x
)
1
+
exp
(
−
β
x
)
f(x) = \frac{1-\exp(-\beta x)}{1+\exp(-\beta x)}
f(x)=1+exp(−βx)1−exp(−βx) 对称型阶跃函数,具有阶跃作用,称为阈值逻辑单元:
f
(
x
)
=
1
,
x
≥
0
;
−
1
,
x
<
0
f(x) = 1,x\ge0;-1,x<0
f(x)=1,x≥0;−1,x<0
感知机模型
感知机(perceptron)是Rosenblatt于1957年提出的模型,是神经网络和支持向量机的基础 点到超平面的距离:
d
=
w
T
x
∣
∣
w
∣
∣
d = \frac{w^Tx}{||w||}
d=∣∣w∣∣wTx 感知机从输入到输出的模型如下:
y
=
f
(
x
)
=
s
i
g
n
(
w
T
x
)
s
i
g
n
(
x
)
=
−
1
,
x
<
0
;
1
,
x
≥
0
y = f(x) = sign(w^Tx)\\[2mm] sign(x) = -1,x<0;1,x\ge0
y=f(x)=sign(wTx)sign(x)=−1,x<0;1,x≥0 对于样本
(
x
(
i
)
,
y
(
i
)
)
(x^{(i)},y^{(i)})
(x(i),y(i)),如果样本正确分类,则有:
y
(
i
)
(
w
T
x
(
i
)
)
∣
∣
w
∣
∣
>
0
,
正确分类
y
(
i
)
(
w
T
x
(
i
)
)
∣
∣
w
∣
∣
<
0
,
错误分类
\frac{y^{(i)}(w^Tx^{(i)})}{||w||}>0,正确分类\\[2mm] \frac{y^{(i)}(w^Tx^{(i)})}{||w||}<0,错误分类
∣∣w∣∣y(i)(wTx(i))>0,正确分类∣∣w∣∣y(i)(wTx(i))<0,错误分类 损失函数定义如下:
L
(
w
)
=
−
1
∣
∣
w
∣
∣
∑
y
(
i
)
(
w
T
x
(
i
)
)
L(w) = -\frac{1}{||w||}\sum y^{(i)}(w^Tx^{(i)})
L(w)=−∣∣w∣∣1∑y(i)(wTx(i)) 找到超平面参数
w
∗
w^*
w∗满足:
L
(
w
∗
)
=
min
w
∑
y
(
i
)
(
w
T
x
(
i
)
)
L(w^*) = \min_w \sum y^{(i)}(w^Tx^{(i)})
L(w∗)=wmin∑y(i)(wTx(i))
多层感知机
多层感知机
三层感知机可识别任一凸多边形或无界的凸区域。更多层感知器网络可识别更为复杂的图形。 关于多层感知器网络有如下定理:
若隐层节点(单元)可任意设置,用三层阈值节点的网络,可实现任意的二值逻辑函数。若隐层节点(单元)可任意设置,用三层S型非线性特性节点的网络,可以一致逼近集上的连续函数或按范数逼近集上的平方可积函数。
多层前馈网络
多层感知机是一种多层前馈网络, 由多层神经网络构成,每层网络将输出传递给下一层网络。神经元间的权值连接仅出现在相邻层之间,不出现在其他位置。如果每一个神经元都连接到上一层的所有神经元(除输入层外),则成为全连接网络。 多层前馈网络的反向传播 (BP)学习算法,简称BP算法 网络结构:见图,
u
u
u(或
x
x
x)、
y
y
y是网络的输入、输出向量,神经元用节点表示,网络由输入层、隐层和输出层节点组成,隐层可一层,也可多层(图中是单隐层),前层至后层节点通过权联接。由于用BP学习算法,所以常称BP神经网络。 BP算法由正向传播和反向传播组成:
正向传播是输入信号从输入层经隐层,传向输出层,若输出层得到了期望的输出,则学习算法结束;否则,转至反向传播。反向传播是将误差(样本输出与网络输出之差)按原联接通路反向计算,由梯度下降法调整各层节点的权值和阈值,使误差减小。
算法优缺点分析
优点:学习完全自主,可逼近任意非线性函数缺点:算法非全局收敛,收敛速度慢,学习速率
α
\alpha
α的选择
性能优化技巧
常用技巧
训练数据与测试数据: 数据包括训练数据,验证数据与测试数据,通常三者比例为70%,15%,15%或者60%,20%,20%,当数据很多时,训练和验证数据可适当减少 K折交叉验证: 原始训练数据被分成K个不重叠的子集。然后执行K次模型训练和验证,每次在K−1个子集上进行训练,并在剩余的一个子集(在该轮中没有用于训练的子集)上进行验证。最后,通过对K次实验的结果取平均来估计训练和验证误差。 欠拟合与过拟合: 欠拟合:误差一直比较大 过拟合:训练数据集上误差小,但是测试数据集上误差大 权重衰减(
L
2
L_2
L2正则化): 为防止过拟合和权值震荡,引入新的指标函数,约束权值不能过大:
J
(
w
)
+
λ
2
∣
∣
w
∣
∣
2
J(w)+\frac{\lambda}{2}||w||^2
J(w)+2λ∣∣w∣∣2 dropout(暂退): 在训练过程中,标准暂退法在计算下一层之前将当前层中的一些节点置零 模型初始化: 把所有权值在
[
−
1
,
1
]
[-1,1]
[−1,1]区间内按均值或搞死分布进行初始化 Xavier初始化:为了使网络中信息更好的流动,每一层输出的方差应该尽量相等,采用一下均匀分布:
W
∼
U
[
−
6
n
j
+
n
j
+
1
,
6
n
j
+
n
j
+
1
]
W\sim U\left[-\frac{\sqrt6}{\sqrt{n_j+n_{j+1}}},\frac{\sqrt6}{\sqrt{n_j+n_{j+1}}}\right]
W∼U[−nj+nj+1
6
,nj+nj+1
6
]
动量法
v
t
=
α
v
t
−
1
−
ϵ
g
t
Δ
θ
=
v
t
θ
t
+
1
=
θ
t
+
Δ
θ
v_t = \alpha v_{t-1}-\epsilon g_t\\[2mm] \Delta \theta = v_t\\[2mm] \theta_{t+1} = \theta_t + \Delta\theta
vt=αvt−1−ϵgtΔθ=vtθt+1=θt+Δθ
自适应梯度法
AdaGrad:Adaptive Gradient 参数自适应变化:具有较大偏导的参数相应有一个较大的学习率,而具有小偏导的参数则对应一个较小的学习率 每个参数的学习率会缩放各参数反比于其历史梯度平方值总和的平方根 RMSProp: Root Mean Square Prop 解决了AdaGrad方法中学习率过度衰减的问题,引入超参数
ρ
\rho
ρ控制衰减速率,并采用指数衰减提高收敛速度 Adam算法 在RMSProp基础上加入了历史梯度平方的指数衰减平均,在误差面上倾向于平坦的极小值
文章来源
发表评论