文章目录
Task.02 《深度学习详解》- 1.2 了解线性模型(15页+60分钟视频)
Part01.视频笔记
线性模型(Linear Model)也许过于简单,需要更加复杂的模型
Model bias:由线性模型自身导致的限制(无法模拟真实情况)
——需要一个更加复杂、更有弹性的模型
从分段线性曲线到连续曲线
所有的Piecewise Linear Curves(分段线性曲线)都可以由常数加上一系列折线函数之和;
折线函数_——Hard Sigmoid函数:
当我们分段取足够多时,我们可以用分段曲线来近似描述连续曲线;
(分段越多,近似的效果越好)
折线函数的表达式:
利用Sigmoid函数来逼近折线: y = c 1 1 + e − ( b + w x 1 ) = c ∗ s i g m o i d ( b + w x 1 ) y=c\frac{1}{1+e^{-(b+wx_1)}}=c*sigmoid(b+wx_1) y=c1+e−(b+wx1)1=c∗sigmoid(b+wx1)
改变参数 | 图像变化 |
---|---|
w w w | 改变斜率(slope) |
b b b | 左右移动 |
c c c | 改变高度 |
故
y
=
b
+
∑
i
c
i
σ
(
b
i
+
w
i
x
1
)
y=b+\sum_{i}c_i\sigma(b_i+w_ix_1)
y=b+i∑ciσ(bi+wix1)
是上图中红色曲线的表达式;
结合课程实例(当日数据受前j天数据影响)的模型:(
w
i
j
w_{ij}
wij:weight for
x
j
x_j
xj for i-th sigmoid)
y
=
b
+
∑
i
c
i
σ
(
b
i
+
∑
j
w
i
j
x
i
)
y = b + \sum_{i}c_i\sigma(b_i+\sum_{j}w_{ij}x_{i})
y=b+i∑ciσ(bi+j∑wijxi)
本质上是矩阵间乘法运算:
[
r
1
r
2
r
3
]
=
[
b
1
b
2
b
3
]
+
[
w
11
w
12
w
13
w
21
w
22
w
23
w
31
w
32
w
33
]
+
[
x
1
x
2
x
3
]
\begin{bmatrix}r_1\\r_2\\r_3\end{bmatrix}=\begin{bmatrix}b_1\\b_2\\b_3\end{bmatrix}+\begin{bmatrix}w_{11}&w_{12}&w_{13}\\w_{21}&w_{22}&w_{23}\\w_{31}&w_{32}&w_{33}\end{bmatrix}+\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}
r1r2r3
=
b1b2b3
+
w11w21w31w12w22w32w13w23w33
+
x1x2x3
然后通过Sigmoid函数:
a
1
=
σ
(
r
1
)
=
1
1
+
e
−
r
1
a_1=\sigma(r_1)=\frac{1}{1+e^{-r_1}}
a1=σ(r1)=1+e−r11
运算流程图示:
于是我们得到了一个含有未知参数的函数式(机器学习Step1)
定义损失函数: L ( θ → ) L(\overrightarrow{\theta}) L(θ)
即使换了一个新的模型,损失函数的计算和更新没有变化:
新梯度计算(向量)
g
=
∇
L
(
θ
0
)
g=\nabla L(\theta^0)
g=∇L(θ0);更新:
θ
1
←
θ
0
−
η
g
\theta^1 \leftarrow \theta^0 - \eta g
θ1←θ0−ηg
- epoch:遍历完所有的训练数据;update:更新一次参数(往往是训练一个批量的数据更新一次)
从Sigmoid函数到ReLU函数:
Rectified Linear Unit函数(ReLU):
y
=
c
×
m
a
x
(
0
,
b
+
w
x
1
)
y = c \times max(0, b+wx_1)
y=c×max(0,b+wx1)
Hard Sigmoid函数相当于两个ReLU函数的相加——模型变化:
y
=
b
+
∑
2
i
c
i
m
a
x
(
0
,
b
i
+
∑
j
w
i
j
x
j
)
y=b+\sum_{2i}c_imax(0,b_i+\sum_{j}w_{ij}x_{j})
y=b+2i∑cimax(0,bi+j∑wijxj)
Activation function(激活函数):Sigmoid函数和ReLU函数
ReLU函数的模型表现:
Linear | 10 ReLU | 100 ReLU | 1000 ReLU | |
---|---|---|---|---|
2017-2020 | 0.32k | 0.32k | 0.28k | 0.27k |
2021 | 0.46k | 0.45k | 0.43k | 0.43k |
改进模型(将数据进行多层次(Layer)运算):
(每层100ReLU函数,数据与前56天的数据相关)
1 Layer | 2 Layer | 3 Layer | 4 Layer | |
---|---|---|---|---|
2017-2020 | 0.28k | 0.18k | 0.14k | 0.10k |
2021 | 0.43k | 0.39k | 0.38k | 0.44k |
神经元(Neuron)和神经网络(Neural Network):
Neuron——hidden Layer(隐藏层);Deep:许多隐藏层(Deep Learning)
Overfitting(过拟合):在训练集上表现优秀,但在测试集上表现不佳——模型选择;