1.回归定义

  • regression就是寻找一个函数,通过输入特征,然后输出一个数值

2.模型步骤

  • Step1:模型假设,选择模型框架(linear model)
  • Step2:模型评估,如何判断众多模型的好坏(loss function)
  • Step3:模型优化,如何筛选最优的模型(Gradient Descent)

Step1:模型假设–linear model

一元线性模型(单个特征):最简单的模型(线性模型),并且假设因变量只有一个,即宝可梦进化前的cp值,则表达式为y=b+w⋅xcpy=b+w\cdot x_{cp}y=b+w⋅xcp​。
多元线性模型(多个特征):对单变量模型进行泛化,生成多变量线性模型,表达式为y=b+∑wixiy=b+\sum w_ix_iy=b+∑wi​xi​。其中xix_ixi​表示的是每个特征的取值,wiw_iwi​表示的是每个特征对应的权重,b表示的是偏置(bias).

Step2:模型评估–loss function

  • 使用损失函数(loss function)来衡量模型的好坏

统计10组原始数据L(f)=L(w,b)=∑n=110(yn−(b+w⋅xcpn))2L(f)=L(w,b)= \sum_{n=1}^{10} ( y^n−(b+w⋅x _{cp}^n)) ^2L(f)=L(w,b)=∑n=110​(yn−(b+w⋅xcpn​))2的值,和越小模型越好。
其中yyy表示的是真实值,后者表示的是预测值。
公式是对所有样本的误差求平方和。

Step3:模型优化–Gradient Descent

从理论上来说,如果存在评估标准和函数空间,就可以使用穷举法选择出最优函数。但实际上来说,这是不可取的,因为计算量太大而且耗时太长。所以我们需要在有限时间内(而且不能太慢),求出最优函数。
由此引出梯度下降法:


这里需要引入一个学习率的概念:移动的步长,上图中的η\etaη

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

    梯度下降存在的问题
  • 局部最优点
  • 学习率太低导致迭代至收敛太慢
  • 学习率太高导致直接越过谷底,算法发散

不过对于局部最优点,线性回归问题不大,因为线性回归中的损失函数为凸函数,所以不存在局部最优点

3.验证模型好坏

  • 使用训练集和测试集的平均误差来验证模型的好坏

训练集上

测试集上

测试集上的误差大于训练集上的误差很正常。
但是是否存在更好的函数,使得训练数据和测试数据的评估误差都变小呢?根据泰勒公式,任何形式的函数都可以近似表示为若干个多项式函数之和。而我们现在使用的是线性函数,则可以尝试使用多项式函数降低数据误差。

4.优化模型

Step1:1元N次线性模型


可见,二次模型在训练集和测试集上的表现都比之前更优秀。
然后可以再试试三次,四次,五次……

  • 注意:其实不是只有图像是直线的就是线性模型,其他各种复杂的曲线也可以是线性模型,因为把xcp1=(xcp)2x_{cp}^{1}=(x_{cp})^2xcp1​=(xcp​)2看作一个特征,那么y=b+w1⋅xcp+w2⋅xcp1y = b + w_1\cdot x_{cp} + w_2\cdot x_{cp}^1y=b+w1​⋅xcp​+w2​⋅xcp1​其实就是线性模型

结果显示,到四次的时候,训练和测试综合效果最好,而五次中虽然训练误差最小,但是测试误差很大,此时过拟合——即在训练集上表现很好,但在测试集上表现很差(相对为欠拟合——训练集和测试集上表现都很差)。

由于高幂次函数空间包括了低幂次函数空间。虽然幂次的上升,会使得训练数据的误差不断减小,但是可能也会使得测试数据的误差急剧增加。

Step2:步骤优化

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



加入宝可梦种类作为自变量以后,即使是线性模型,训练和测试误差都很小:

考虑把宝可梦的体重、身高、HP都加入到自变量中:

把宝可梦种类加入到自变量中,如果使用二次函数进行拟合,就会出现过拟合的现象:

Step3:正则化

  • 更多特征,但是权重w可能会使某些特征权值过高,仍旧导致overfitting,所以加入正则化
  • 注意正则化项不包括偏置项
  • 正则化公式中的λ\lambdaλ取值越大,会使得函数越平滑。这是由于λ\lambdaλ的值越大,在尽量使损失函数变小的前提下,就会使得w越小,w越小就会使得函数越平滑(在很多应用场景中,并不是w越小模型越平滑越好,但是经验告诉我们 w 越小大部分情况下都是好的)。
  • λ\lambdaλ本质上表示的是惩罚项,惩罚项过大可能就会影响学习的效果,因为惩罚项过大,就会导致参数空间变得比较小,所以最终结果一般。

李宏毅机器学习Regression相关推荐

  1. 李宏毅机器学习 Regression

    文章目录 1. Regression 2. Example Application 3. Step 3.1 Step1:模型 3.2 Step2:函数的评估标准 3.3 Step3:最优函数 4. 梯 ...

  2. 李宏毅机器学习课程---2、Regression - Case Study

    李宏毅机器学习课程---2.Regression - Case Study 一.总结 一句话总结: 分类讨论可能是比较好的找最佳函数的方法:如果 有这样的因素存在的话 模型不够好,可能是因素没有找全 ...

  3. 【李宏毅机器学习】Logistic Regression 逻辑回归(p11) 学习笔记

    李宏毅机器学习学习笔记汇总 课程链接 文章目录 Logistic Regression Step 1: Function Set Step 2: Goodness of a Function Step ...

  4. 【李宏毅机器学习】02:回归Regression

    李宏毅机器学习02:回归Regression 文章目录 李宏毅机器学习02:回归Regression 一.回归(Regression)的定义 1.Regression: Output a scalar ...

  5. 2018-3-20李宏毅机器学习笔记十----------Logistic Regression

    上节讲到:既然是一个直线型,只需要求解w和b.为何还要那么费劲的使用概率??? 视频:李宏毅机器学习(2017)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilib ...

  6. 李宏毅机器学习笔记(三)——Regression: output a scalar amp;amp; Gradient Descent

    视频来源: 李宏毅机器学习(2017)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili.com/video/av10590361/?p=3 机器学习的目的 ...

  7. 资料分享:推荐一本《李宏毅机器学习》开源电子书!

    背景 今天在 github 上看到了 datawhale 发布的 李宏毅机器学习笔记. https://datawhalechina.github.io/leeml-notes 其目录如下: P1 机 ...

  8. 【李宏毅机器学习】Classification_1 分类(p10) 学习笔记

    李宏毅机器学习学习笔记汇总 课程链接 文章目录 Classification Probabilistic Gernerative Model 分类:概率遗传模型 ==**如何完成这个任务?**== = ...

  9. 【李宏毅机器学习】Gradient Descent_1 梯度下降(p5、p6、p7 )学习笔记

    李宏毅机器学习学习笔记汇总 课程链接 文章目录 Review Gradient Descent Tips Tip1: Tuning your learning rate 小心微调你的学习率 Tip 2 ...

  10. 【知识索引】【李宏毅机器学习】

    李宏毅机器学习知识索引 本文为[李宏毅机器学习]知识索引 文章目录 李宏毅机器学习知识索引 1.[李宏毅机器学习]01:机器学习介绍 Introduction 2.[李宏毅机器学习]02:回归Regr ...

最新文章

  1. mysql下载地址与安装
  2. 2019年企业云呈现五大技术发展趋势
  3. Django apache2 安装配置
  4. 一个基于.Net 5开发的轻量级Quartz配置中心 - QuartzCore.Blazor
  5. 上厕所时间超长也能被开除?法院:超出正常生理需求范围!
  6. Java 算法 陶陶摘苹果2
  7. 深入ASP.NET 2.0的提供者模型
  8. 霍金撰文探讨如何建造时间机器
  9. powerdesigner 连接数据库
  10. 2019PMP项目管理考试报名时间取证流程-真题模拟题
  11. android 开发之activity 启动流程《一》
  12. 利用Python爬取拉勾网招聘信息
  13. css3 transition属性造成文字抖动
  14. Android(cacerts.bks)添加根证书
  15. SpringBoot实现文件单文件上传、批量上传、下载
  16. 计算机组成原理中阶符是什么,计算机组成原理习手册.doc
  17. 操作系统---linux
  18. 火狐浏览器不能添加和修改书签
  19. 微信小程序:Do not set same key \5cef8733d2a18eed506c1165\ in wx:key.
  20. MySQL ---允许所有ip远程连接数据库

热门文章

  1. 极域电子教室超级管理员密码
  2. java面试题,各大企业常见的java笔试题及答案(精华)
  3. Linux系统高级编程系列教程
  4. 使用MATLAB进行二次规划求解最优值
  5. 算法导论第三版课后答案-2-25章(部分中文).pdf 免积分下载
  6. APP版本号命名规范及原则,2018android面试题
  7. sha256算法细节详解
  8. 正点原子STM32(基于标准库)
  9. AppScan安装使用
  10. plsqldev的配置