前言
这章讲的是基础的回归,以前在金融工程系的很多课程都有学习到,所以学起来还是很快的,几乎没有新知识。
一、回归是什么?
回归就是找到一个函数,通过输入特征x,输出一个数值
二、模型步骤
- 模型假设,选择模型框架(在这一章是线性模型)
- 模型评估,判断模型的好坏(损失函数)
- 模型优化,选择最优的模型(梯度下降)
2.1 线性模型
2.1.1 一元线性模型(单个特征)
y
=
b
+
w
x
y=b+wx
y=b+wx
2.1.2 多元线性模型(多个特征)
y
=
b
+
∑
w
?
i
?
x
?
i
?
y=b+\sum w~i~x~i~
y=b+∑w?i?x?i?
2.2 模型评估-损失函数
L
(
w
,
b
)
=
(
∑
∣
y
?
y
^
∣
)
/
n
L(w,b)=(\sum| y-\hat{y}|)/n
L(w,b)=(∑∣y?y^?∣)/n 这里loss函数其实可以灵活定义
M
A
E
=
(
∑
∣
y
?
y
^
∣
)
/
n
MAE=(\sum| y-\hat{y}|)/n
MAE=(∑∣y?y^?∣)/n
M
S
E
=
(
∑
∣
y
?
y
^
∣
)
2
/
n
MSE=(\sum| y-\hat{y}|)^2/n
MSE=(∑∣y?y^?∣)2/n
2.3 最佳模型-梯度下降
- 寻找使loss最小的参数组合
- 梯度下降
2.1 寻找一个初始参数组合值 2.2 计算loss函数对参数组合分别求微分,如果是负的,增加该参数的值,如果为正,减小该参数的值 2.3 更新参数组合 2.4 重复上述步骤,直到满足条件停止 - 学习率:梯度下降中参数移动的步长
η
\eta
η
w
1
=
w
0
?
η
d
L
/
d
w
∣
w
=
w
0
w^1 = w^0 - \eta dL/dw|_{w=w^0}
w1=w0?ηdL/dw∣w=w0? - 梯度下降算法遇到的问题
4.1 stuck at local minima 即停留在loss函数的极小值点而非最小值点 4.2 stuck at saddle point 即停留在loss函数的鞍点而非最小值点 4.3 Stuck at local minima 即停留在loss函数的当前最优点
三、验证训练好的模型的好坏
划分训练集测试集进行测试
四、一元n次线性模型
y
=
b
+
∑
i
=
0
n
w
i
?
x
1
i
?
y=b+\sum_{i=0}^n w_i~x_1^i~
y=b+i=0∑n?wi??x1i?? 如果把平方项看作一个特征,则它还是线性模型。
五、过拟合问题
当不断提高模型的次方时,发现在训练集中表现更优秀的模型,在测试集中效果反而更差。
六、步骤优化
- 将多个模型合并到一个模型中
- 加入更多的特征,更多input。(如果数据量没增加,仍然会导致过拟合)
- 加入正则化
3.1 在2中加入更多特征,但可能某些特征的权值过高,仍然会导致过拟合,所以加入正则化 3.2 在损失函数后加上惩罚项
∑
λ
(
w
i
)
2
\sum\lambda(w_i)^2
∑λ(wi?)2,能使参数更小,模型更平滑
总结
希望能尽快学完上手实践
|