李宏毅老师机器学习第二部分:回归问题

  • Let's go!
  • 一、回归的定义
  • 二、回归模型建立步骤
  • 三、一元线性模型与多元线性模型
    • 3.1 一元线性模型
    • 3.2 多元线性模型
  • 四、模型评估
    • 4.1 损失函数
    • 4.2 梯度下降
    • 4.2.1 只有一个参数w
    • 4.2.2 有两个参数w和b
    • 4.2.3 等高线图
  • 五、过拟合问题
  • 六、优化
    • 6.1 模型合并
    • 6.2 加入正则化项

Let’s go!

在开始回归问题分析之前首先让我们回顾一下第一部分我们学到的机器学习的知识介绍,如果你不记得的话可以点击链接回顾一下:
李宏毅老师机器学习第一部分:知识介绍
如果你准备好了我们就开始学习第二部分“回归”

一、回归的定义

Regression 就是找到一个函数 function ,通过输入特征 x,输出一个数值 Scalar。
例如我们身边常见的一些预测的例子:
1.房价预测
输入:有关房价的一些指标比如房屋面积,所处地段等。
输出:房价的可能值。
2.股市预测(Stock market forecast)
输入:过去10年股票的变动、新闻咨询、公司并购咨询等。
输出:预测股市明天的平均值。
3.自动驾驶(Self-driving Car)
输入:无人车上的各个sensor的数据,例如路况、测出的车距等。
输出:方向盘的角度。

二、回归模型建立步骤

模型的建立参照第一节内容中的三个简化步骤我们可以把回归模型的步骤做如下定义:
1)找到许多的function set(model)
2)选定一个function进行测试
3)选出最佳的function

三、一元线性模型与多元线性模型

3.1 一元线性模型

所谓一元线性模型就是指的单个特征
对于宝可梦进化值CP的例子我们可以做如下假设:
以一个特征 x_cp为例,线性模型假设 y = b + w·x_cp,w和b 可以猜测很多不同的取值。
f1: y = 10.0 + 9.0·x_cp}
f2: y = 9.8 + 9.2·x_cp}
f3: y = - 0.8 - 1.2·x_cp

3.2 多元线性模型

与上面的一元线性模型相对的,我们可以定义出多元线性模型(多个特征

四、模型评估

模型评估主要包括两部分内容,分别是损失函数梯度下降

4.1 损失函数

有了这些真实的数据,那我们怎么衡量模型的好坏呢?从数学的角度来讲,我们使用距离。求【进化后的CP值】与【模型预测的CP值】差,来判定模型的好坏。也就是使用损失函数(Loss function) 来衡量模型的好坏,统计10组原始数据 ( y^n−f(x_cp)n) ^2的和,和越小说明预测值与真实值的偏差越小,模型也越好。如下图所示:

4.2 梯度下降

当我们已知了损失函数之后我们现在需要去寻找最佳的函数function。

4.2.1 只有一个参数w

我们先从只有一个变量w的时候入手考虑。步骤如下图所示:

首先在这里引入一个概念学习率 (移动的步长),也就是图中的η。
步骤1:随机选取一个 w0。
步骤2:计算微分,也就是当前的斜率,根据斜率来判定移动的方向。小于0向右移动(增加w),大于0向左移动(减少w)。
步骤3:根据学习率移动。
重复步骤2和步骤3,直到找到最低点。
注意:我们可以观察到移动方向总是与斜率方向相反。

4.2.2 有两个参数w和b

讨论完一个变量w的情况,现在我们讨论当变量为w和b的时候:
其实实质就是求偏微分的问题。如下图所示:

如果用更简洁的公式来表述两个参数就是:

4.2.3 等高线图

1)每一条线围成的圈就是等高线,代表损失函数的值,颜色约深的区域代表的损失函数越小。
2)红色的箭头代表等高线的法线方向。

五、过拟合问题

在训练集上面表现更为优秀的模型,为什么在测试集上效果反而变差了?这就是模型在训练集上过拟合的问题。
例如以下是我们对训练集不断增加次方(一元N次线性模型)后训练集的损失情况:

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次模型包含4次模型包含3次模型,即5次模型包⊇4次模型⊇3次模型、所以在4次模型里面找到的最佳模型,肯定不会比5次模型里面找到更差。

当我们将错误率图形可视化之后如下图所示:

六、优化

6.1 模型合并

将 4个线性模型合并到一个线性模型中。
原来的四个线性模型如下图所示:

合并之后:

计算出合并之后的训练集与测试集的平均误差:

结果说明效果变好了。

6.2 加入正则化项

加入正则化项可以有效的解决过拟合的问题。

加入正则化项之后的平均误差如下图所示,我们可以选择出较为平滑但是不要太过于平滑作为我们的线性模型(观察表格发现这样选取之后训练集与测试集的(平均误差也很合理),然后选择相应的λ值添加正则化项。

注意
1.w 越小,表示function较平滑的,function输出值与输入值相差不大。
2.在很多应用场景中,并不是w越小模型越平滑越好,但是经验值告诉我们w越小大部分情况下都是好的。
3.b的值接近于0,对曲线平滑是没有影响。

李宏毅老师机器学习第二部分:回归问题相关推荐

  1. 李宏毅老师机器学习选择题解析

    机器学习选择题解析加整理 项目说明,本项目是李宏毅老师在飞桨授权课程的配套问题 课程 传送门 该项目AiStudio项目 传送门 仅供学习参考! 三岁出品必是精品! 整理内容源于李宏毅老师机器学习课程 ...

  2. 李宏毅老师机器学习和深度学习

    李宏毅老师讲的课程很入人心,分享下相关比较好的课程链接: 李宏毅深度学习(2017): 视频:https://www.bilibili.com/video/av9770302/?from=search ...

  3. 李宏毅老师机器学习__(1)机器学习介绍

    文章目录 机器学习定义 机器学习三板斧 监督学习 Structuerd Learning 无监督学习 半监督学习 Reinforcement Learning Transfer Learning 学习 ...

  4. 李宏毅《机器学习》Task02 - 回归

    一.回归(Regression)能做什么? 除了上一节说的预测 PM2.5 之外,还有其他非常有用的案例: 股市预测: 输入:过去十年内各种股票的涨跌资料或某些公司并购的资料 输出:未来道琼工业平均指 ...

  5. 李宏毅2017机器学习课程 回归

    李宏毅2017机器学习课程 P3 回归 Regression 下文不区分w和ω( 文章目录 李宏毅2017机器学习课程 P3 回归 Regression 回归定义 举例:Pokemon精灵攻击力预测( ...

  6. 李宏毅老师ML_HW1——PM2.5预测

    0.处理数据之前的pre-process 观察下载的数据文件train.csv train.csv只有每个月前20天的数据,另外每个月剩下10天数据用于作业结果评估,对学生不可见 观察数据发现rain ...

  7. 李宏毅老师《机器学习》课程笔记-6 GAN

    注:本文是我学习李宏毅老师<机器学习>课程 2021/2022 的笔记(课程网站 ),文中图片均来自课程 PPT.欢迎交流和多多指教,谢谢! 6 Unsupervised Learning ...

  8. 李宏毅老师《机器学习》课程笔记-5 Transformer

    注:本文是我学习李宏毅老师<机器学习>课程 2021/2022 的笔记(课程网站 ),文中图片除一张来自 transformer论文,其余均来自课程 PPT.欢迎交流和多多指教,谢谢! L ...

  9. 李宏毅老师《机器学习》课程笔记-2.1模型训练技巧

    注:本文是我学习李宏毅老师<机器学习>课程 2021/2022 的笔记(课程网站 ),文中图片除了两幅是我自己绘制外,其余图片均来自课程 PPT.欢迎交流和多多指教,谢谢! 文章目录 Le ...

最新文章

  1. java 中ln是什么意思_JavaBean命名规范
  2. python网络编程库_python网络编程学习笔记(9):数据库客户端
  3. ReviewForJob——深度优先搜索的应用
  4. django虚拟环境搭建
  5. Java中SQL语句传向数据库
  6. YII实现dropDownList 联动事件
  7. GCD 深入理解(一)
  8. Qt编写linux上视频流播放器(支持海康大华宇视等各种网络摄像机)
  9. 微软私有云2012软件发布
  10. 模块化的机器学习系统就够了吗?Bengio师生告诉你答案
  11. 考证党必备的5个神仙APP,助你日常高效充电
  12. win快速打开计算机,这十个“Windows+”使用技巧,打开你的电脑技巧新世界
  13. 高校计算机专业课程思政案例,高校计算机专业课程思政建设研究
  14. beamer笔记——幻灯片比例改为16:9
  15. 全国各省10米分辨率的土地利用数据的制作与分享
  16. 操作系统实现IO的三种方式
  17. 七夕h5开发就找TOM小游戏
  18. atan、atanf、atanl、atan2、atan2f、atan2l
  19. postfix smtpd_recipient_restrictions配置错误导致smtpd问题
  20. 阅文java服务端开发_阅文笔试复盘

热门文章

  1. 现代计算机体系结构发明人,cpu的发明人是谁啊?
  2. 什么是二维条码与及特点
  3. c/c++ 模拟键盘按键按下
  4. CUDA和TensorRT入门
  5. JAVA定义一个树形的结构_Java自定义树形结构
  6. Windows下搭配AirSim环境
  7. 哈特曼医用音叉行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  8. java 纳秒 位数_java-解析少于6位的纳秒
  9. 一个公司存在不同职位,不同职位计算工资的方法也不相同。工资可能是固定的,也可能根据销售额或工作量来计算。假设公司有三种职务:经理、计件工人和计时工人:他们的工资组成分别为:
  10. win7安装JAVA程序闪退怎么办_win7打开软件闪退如何解决