李宏毅机器学习02-回归Regression

李宏毅机器学习02-回归Regression

回归定义

Regression 就是找到一个函数 function ,通过输入特征 x,输出一个数值 Scalar。

模型步骤

  • step1:模型假设,选择模型框架(线性模型)
  • step2:模型评估,如何判断众多模型的好坏(损失函数)
  • step3:模型优化,如何筛选最优的模型(梯度下降)

Step 1:模型假设 - 线性模型(Linear model

一元线性模型(单个特征)

一元线性模型假设 y = b + w ⋅ x y = b + w·x y=b+wx w w w b b b是模型参数, x x x为特征, y y y为预测值。

多元线性模型(多个特征)

多元线性模型 y = b + ∑ w i x i y=b+∑w_ix_i y=b+wixi,其中 w i w_i wi为各个特征的权重, b b b为偏移量,都是模型参数, x i x_i xi为各种特征。

Step 2:模型评估 - 损失函数

一元线性模型

求真实值与预测值的距离(差值),来判定模型的好坏。也就是使用损失函数(Loss function) 来衡量模型的好坏,统计训练集中$ \left ( \hat{y}^n - f(x^n) \right )^2$的和,和越小模型越好。
L ( f ) = ∑ n = 1 N ( y ^ n − f ( x n ) ) 2 将 f ( x ) = y , y = b + w ⋅ x 代 入 , L ( w , b ) = ∑ n = 1 N ( y ^ n − ( b + w x ) ) 2 L(f)=∑_{n=1}^{N}(\hat y^n−f(x^n))^2\\ 将f(x)=y,y=b+w⋅x代入,\\ L(w,b)=∑_{n=1}^{N}(\hat y^n−(b+wx))^2 L(f)=n=1N(y^nf(xn))2f(x)=y,y=b+wxL(w,b)=n=1N(y^n(b+wx))2

Step 3:最佳模型 - 梯度下降

如何筛选最优的模型(参数 w w w b b b

对于单个参数 w w w

  • 步骤1:随机选取一个 w 0 w^0 w0
  • 步骤2:计算微分,也就是当前的斜率,根据斜率来判定移动的方向
    • 大于0向左移动(减少 w w w
    • 小于0向右移动(增加 w w w
  • 步骤3:根据学习率(移动的步长) η η η移动
  • 重复步骤2和步骤3,直到找到最低点

img

多个参数过程类似,求偏导:

img

img

梯度下降算法在现实世界中面临的挑战

  • 问题1:局部最优(Stuck at local minima)
  • 问题2:等于0(Stuck at saddle point)
  • 问题3:趋近于0(Very slow at the plateau)

img

模型验证

训练集和测试集分别求平均误差:
李宏毅机器学习02-回归Regression_第1张图片

优化

四种方法优化模型:

  1. 选用更复杂的模型;
  2. 根据数据分类训练不同的模型分类进行拟合;
  3. 做特征工程,增加输入的特征;
  4. 加入正则化,减少噪声数据的影响。

更强大复杂的模型:1元N次线性模型

李宏毅机器学习02-回归Regression_第2张图片

过高次方的模型,可能会导致过拟合overfitting现象。

李宏毅机器学习02-回归Regression_第3张图片

分类训练不同的模型

根据数据分布进行分析,或许对数据初步分类后,训练多个模型能提升性能。

李宏毅机器学习02-回归Regression_第4张图片

通过对 Pokemons种类 判断,将 4个线性模型 合并到一个线性模型中

李宏毅机器学习02-回归Regression_第5张图片

李宏毅机器学习02-回归Regression_第6张图片

李宏毅机器学习02-回归Regression_第7张图片

增加输入特征

通过利用特征工程提取更多的特征,于是线性模型需要更多的参数,或许能提升性能。

李宏毅机器学习02-回归Regression_第8张图片

加入正则化

重 ww 可能会使某些特征权值过高,仍旧导致overfitting,所以加入正则化

李宏毅机器学习02-回归Regression_第9张图片

李宏毅机器学习02-回归Regression_第10张图片

  • w w w 越小,则 w △ x w△x wx越小,预测结果变化越小,表示 function较平滑,更加能抗噪声。
  • 在很多应用场景中,并不是 w w w 越小模型越平滑越好,但是经验值说明 w w w 越小大部分情况下都是好的。
  • b b b 为function的偏移量,对曲线平滑没有影响

参考资料

李宏毅机器学习笔记

李宏毅机器学习视频2019春季

你可能感兴趣的:(机器学习,机器学习,深度学习)