李宏毅机器学习Regression
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+∑wixi。其中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相关推荐
- 李宏毅机器学习 Regression
文章目录 1. Regression 2. Example Application 3. Step 3.1 Step1:模型 3.2 Step2:函数的评估标准 3.3 Step3:最优函数 4. 梯 ...
- 李宏毅机器学习课程---2、Regression - Case Study
李宏毅机器学习课程---2.Regression - Case Study 一.总结 一句话总结: 分类讨论可能是比较好的找最佳函数的方法:如果 有这样的因素存在的话 模型不够好,可能是因素没有找全 ...
- 【李宏毅机器学习】Logistic Regression 逻辑回归(p11) 学习笔记
李宏毅机器学习学习笔记汇总 课程链接 文章目录 Logistic Regression Step 1: Function Set Step 2: Goodness of a Function Step ...
- 【李宏毅机器学习】02:回归Regression
李宏毅机器学习02:回归Regression 文章目录 李宏毅机器学习02:回归Regression 一.回归(Regression)的定义 1.Regression: Output a scalar ...
- 2018-3-20李宏毅机器学习笔记十----------Logistic Regression
上节讲到:既然是一个直线型,只需要求解w和b.为何还要那么费劲的使用概率??? 视频:李宏毅机器学习(2017)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilib ...
- 李宏毅机器学习笔记(三)——Regression: output a scalar amp;amp; Gradient Descent
视频来源: 李宏毅机器学习(2017)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili.com/video/av10590361/?p=3 机器学习的目的 ...
- 资料分享:推荐一本《李宏毅机器学习》开源电子书!
背景 今天在 github 上看到了 datawhale 发布的 李宏毅机器学习笔记. https://datawhalechina.github.io/leeml-notes 其目录如下: P1 机 ...
- 【李宏毅机器学习】Classification_1 分类(p10) 学习笔记
李宏毅机器学习学习笔记汇总 课程链接 文章目录 Classification Probabilistic Gernerative Model 分类:概率遗传模型 ==**如何完成这个任务?**== = ...
- 【李宏毅机器学习】Gradient Descent_1 梯度下降(p5、p6、p7 )学习笔记
李宏毅机器学习学习笔记汇总 课程链接 文章目录 Review Gradient Descent Tips Tip1: Tuning your learning rate 小心微调你的学习率 Tip 2 ...
- 【知识索引】【李宏毅机器学习】
李宏毅机器学习知识索引 本文为[李宏毅机器学习]知识索引 文章目录 李宏毅机器学习知识索引 1.[李宏毅机器学习]01:机器学习介绍 Introduction 2.[李宏毅机器学习]02:回归Regr ...
最新文章
- mysql下载地址与安装
- 2019年企业云呈现五大技术发展趋势
- Django apache2 安装配置
- 一个基于.Net 5开发的轻量级Quartz配置中心 - QuartzCore.Blazor
- 上厕所时间超长也能被开除?法院:超出正常生理需求范围!
- Java 算法 陶陶摘苹果2
- 深入ASP.NET 2.0的提供者模型
- 霍金撰文探讨如何建造时间机器
- powerdesigner 连接数据库
- 2019PMP项目管理考试报名时间取证流程-真题模拟题
- android 开发之activity 启动流程《一》
- 利用Python爬取拉勾网招聘信息
- css3 transition属性造成文字抖动
- Android(cacerts.bks)添加根证书
- SpringBoot实现文件单文件上传、批量上传、下载
- 计算机组成原理中阶符是什么,计算机组成原理习手册.doc
- 操作系统---linux
- 火狐浏览器不能添加和修改书签
- 微信小程序:Do not set same key \5cef8733d2a18eed506c1165\ in wx:key.
- MySQL ---允许所有ip远程连接数据库