李宏毅机器学习

P3–回归

  • 回归的定义
  • 回归的实例(宝可梦的cp值)
  • 梯度下降法
  • 过拟合问题
  • 正则项
  1. 回归的定义
    Regression 试图确定一个因变量 y y y(输出)与一些列其他变量 x x x(自变量)之间关系的强度与特征。
  2. 回归的实例(宝可梦的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.0xcp​f2​:y=9.8+9.2xcp​f3​=−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

上一篇:java 在jar包外调整 log4j/logback日志级别


下一篇:Linux学习笔记(文件和目录操作)9.11【CentOS 6.8】