P3–回归
- 回归的定义
- 回归的实例(宝可梦的cp值)
- 梯度下降法
- 过拟合问题
- 正则项
- 回归的定义
Regression 试图确定一个因变量 y y y(输出)与一些列其他变量 x x x(自变量)之间关系的强度与特征。 - 回归的实例(宝可梦的cp值)
step 1: 设计模型–线性模型
step 2: 模型评估–loss function
step 3: 模型优化–梯度下降法
step 1: 设计模型–线性模型
只考虑一个特征
x
c
p
x_{cp}
xcp,可以设计如下的线性模型
y
=
w
x
c
p
+
b
y = wx_{cp} + b
y=wxcp+b. 权重
w
w
w和偏置
b
b
b的取值不同,获得的回归模型不同。如下图中
{
f
1
:
y
=
10.0
+
9.0
x
c
p
f
2
:
y
=
9.8
+
9.2
x
c
p
f
3
=
−
0.8
−
1.2
x
c
p
\left\{\begin{array}{l} f_1: y=10.0+9.0x_{cp}\\ f_2: y=9.8+9.2x_{cp}\\ f_3=-0.8-1.2x_{cp}\\ \end{array}\right.
⎩⎨⎧f1:y=10.0+9.0xcpf2:y=9.8+9.2xcpf3=−0.8−1.2xcp
step 2: 模型评估–loss function
用于评估构建模型(参数)的好坏。
L
(
w
,
b
)
=
a
r
g
m
i
n
∑
k
=
1
n
(
y
^
k
−
f
k
)
=
a
r
g
m
i
n
∑
k
=
1
n
(
y
^
k
−
(
b
+
w
x
c
p
)
)
L(w,b)=arg min\sum_{k=1}^n(\hat{y}_k-f_k)=arg min\sum_{k=1}^n(\hat{y}_k-(b+wx_{cp}))
L(w,b)=argmin∑k=1n(y^k−fk)=argmin∑k=1n(y^k−(b+wxcp))
最小化loss function,可以获得我们想要的参数值
3. 梯度下降法
我们设计了一个函数集
y
=
w
x
c
p
+
b
y=wx_{cp}+b
y=wxcp+b,为了找到最优的回归模型,我们需要找到损失函数
L
(
w
,
b
)
=
∑
k
=
1
n
(
y
^
k
−
(
b
+
w
x
c
p
)
)
L(w,b)=\sum_{k=1}^n(\hat{y}_k-(b+wx_{cp}))
L(w,b)=∑k=1n(y^k−(b+wxcp))的最小值。
盲目的去找合适的参数是一件困难的事情,从任意点出发,向极值点靠近最快的方向应该是曲线的切线方向。因此我们可以通过梯度下降法来更新每个参数。
w
w
w和
b
b
b的更新方式如下图。
其中学习率是一次迭代移动的步长,需要手动的设置.
梯度下降的演化过程
使用梯度下降法优化模型,初始值与最优解的关系.
4. 过拟合问题
假设给定如下图中的数据,分别构造线性回归模型,二次回归模型,三次回归模型,四次回归模型,五次回归模型。这五次回归过程中在训练阶段和测试阶段的误差分别为
模型的次幂 | 训练误差 | 测试误差 |
---|---|---|
1 | 31.9 | 35.0 |
2 | 15.4 | 18.4 |
3 | 15.3 | 18.1 |
4 | 14.9 | 28.8 |
5 | 12.8 | 232.1 |
随着模型的复杂程度增高,但训练阶段的误差却没有越来越小,而是符合先减后增。当模型太过复杂的时候,模型只适合处理训练数据,而不允许出现任何数据变动。
5. Regularization
约束模型的损失变小的同时,保证模型不过拟合
图片源自:https://www.bilibili.com/video/BV1Ht411g7Ef?p=3