Regression 回归
模型步骤
- step1:模型假设,选择模型框架(线性模型)
- step2:模型评估,如何判断众多模型的好坏(损失函数)
- step3:模型优化,如何筛选最优的模型(梯度下降)
选择模型
线性模型: y = b + ∑ w i x i y = b + \sum w_ix_i y=b+∑wixi 形如
其中, x_i 为 特征,w_i 是 各个特征权重, b 是 偏置项
模型评估
引入损失函数 通过量化 进化后的CP值(实际值)与模型预测的CP值 的 差,来评估模型
L ( f ) = ∑ n = 1 10 ( y ^ n − f ( x c p n ) ) 2 L(f) = \sum_{n=1}^{10}( \hat y^n - f(x^n_{cp}) )^2 L(f)=n=1∑10(y^n−f(xcpn))2
L ( w , b ) = ∑ n = 1 10 ( y ^ n − ( b + w ⋅ x c p n ) ) 2 L(w,b) = \sum_{n=1}^{10}(\hat y^n - (b + w·x^n_{cp}))^2 L(w,b)=n=1∑10(y^n−(b+w⋅xcpn))2
规定损失函数的值越小,模型效果越好
筛选最佳模型——梯度下降
目标:找到合适的参数 $ w, b $ 使得损失函数 $ f $ 的值最小
f
∗
=
a
r
g
min
f
L
(
f
)
f^* = arg \min\limits_{f}L(f)
f∗=argfminL(f)
w ∗ , b ∗ = a r g min w , b L ( w , b ) = a r g min w , b ∑ n = 1 10 ( y ^ n − ( b + w ⋅ x c p n ) ) 2 w^*, b^* = arg \min\limits_{w,b}L(w, b) = arg \min\limits_{w,b}\sum_{n=1}^{10}(\hat y^n - (b + w·x_{cp}^n))^2 w∗,b∗=argw,bminL(w,b)=argw,bminn=1∑10(y^n−(b+w⋅xcpn))2
方法:梯度下降算法
- 步骤1:随机选取一个 w 0 w^0 w0
- 步骤2:计算微分,也就是当前的斜率,根据斜率来判定移动的方向
- 大于0向右移动(增加w)
- 小于0向左移动(减少w)
- 步骤3:根据学习率移动
- w 1 ← w 0 − η d L d W ∣ w = w 0 w^1 \leftarrow w^0 - \eta \frac{dL}{dW} |_{w=w^0} w1←w0−ηdWdL∣w=w0
- 重复步骤2和步骤3,直到找到最低点
对于线性模型其损失函数是凸函数,因此 可以通过梯度下降方法找到其最低点
验证模型好坏
选取测试集,将训练好的模型应用到测试集数据上,计算其损失函数的值
过拟合问题
一次模型不好,选取一元多次模型对数据进行拟合,可能会出现过拟合现象
课程案例中三次以上的模型即会出现过拟合现象(在测试集上损失函数的值过大)
出现过拟合的原因:
每一个模型结果都是一个集合,5次模型包 ⊇ \supseteq ⊇ 4次模型 ⊇ \supseteq ⊇ 3次模型,所以在4次模型里面找到的最佳模型,肯定不会比5次模型里面找到更差
模型优化
-
考虑更多参数、更多输入数据
-
正则化方法
y = b + ∑ w i b i y = b + \sum w_i b_i y=b+∑wibiL = ∑ n ( y ^ n − ( b + ∑ w i x i ) ) 2 + λ ∑ ( w i ) 2 L = \sum_n(\hat y^n - (b + \sum w_i x_i))^2 + \lambda\sum(w_i)^2 L=n∑(y^n−(b+∑wixi))2+λ∑(wi)2
引入正则化,目的是使得 拟合曲面 变得 平滑
- w 越小,表示 function 较平滑的, function输出值与输入值相差不大
- 在很多应用场景中,并不是 w 越小模型越平滑越好,但是经验值告诉我们 w 越小大部分情况下都是好的
- b 的值接近于0 ,对曲线平滑是没有影响
P.S. 本次笔记练习了如何使用LaTeX去打公式,hhh