李宏毅机器学习 之 回归Regression(二)
目录
1、回归的定义
2、回归的例子
3、建模步骤
1)模型假设,选择模型框架(线性模型)
2)模型评估,如何判断众多模型的好坏(损失函数)
3)模型优化,如何筛选最优的模型(梯度下降)
4、步骤优化
1)向量化Vectorization
2)引入更多参数,更多input
3)优化:引入正则化Regularization
写在前面,真的很生气,花费一个晚上写好的笔记,结果莫名其妙的突然浏览器就全部给我清空了,我写了将近两千字的就这么没了.......心痛啊,太扎心了,百度了都不能恢复,哎,希望CSDN可以把这个BUG修好吧!所以第二版本肯定不如第一个版本详细,全面,请多多体谅。
1、回归的定义
回归官方定义:指研究一组随机变量(Y1 ,Y2 ,…,Yi)和另一组(X1,X2,…,Xk)变量之间关系的统计分析方法,又称多重回归分析。通常Y1,Y2,…,Yi是因变量,X1、X2,…,Xk是自变量。
简单来说,回归就是找出变量之间存在何种关系,并将这种关系清晰直观地表达出来。
2、回归的例子
1)股市预测
输入:过去10年股票的变动、新闻咨询、公司并购咨询等
输出:预测股市明天的平均值自动驾驶
2)自动驾驶
输入:无人车上的各个sensor的数据,例如路况、测出的车距等
输出:方向盘的角度商品推荐
3)商品推荐
输入:商品A的特性,商品B的特性
输出:购买商品B的可能性
3、建模步骤
1)模型假设,选择模型框架(线性模型)
模型主要有一元线性模型(单个特征)和多元线性模型(多个特征)。
实际生活中,多元线性模型(多个特征)是最常用的,因为比较符合我们的情况,就像一个人,不能简单的用身高这一个特征就形容完整,肯定是要加上这个人的体重、肤色、五官、学历等等。
所以我们假设 线性模型 Linear model:
- :就是各种特征(fetrure) ;
- :各个特征的权重 ;
- :偏移量,也称 偏置。
- 随机给10组数据,先将这10组数据在坐标轴中表示出来,选择合适的模型。
2)模型评估,如何判断众多模型的好坏(损失函数)
一个模型的好坏,我们通常用损失函数Loss function来衡量。
损失函数越大,表示真实值与预测值的差别越大;
损失函数越小,表示真实值与预测值的结果越接近;
损失函数的表达式:
比如下面的两个图,同样的10个数据,一个用的是三次方,一个是五次方,上面表示的是在训练的模型,下面的是test,结果看出,三次方的会比五次方的拟合的效果更好,损失函数也更小,三次方的无论是在训练集还是测试集上的表现都会比五次方的要好。
3)模型优化,如何筛选最优的模型(梯度下降)
前两步我们有模型,还通过损失函数对模型进行评估,但平均Error可能还不是很让人满意,我们需要继续找更让人满意的点。这就需要梯度下降,对损失函数求偏导,像下面这张图,不断计算和,并根据步长来确定下一个方向。
首先在这里引入一个概念 学习率 :就是移动的步长,下图中的就是学习率
步骤1:随机选取一个 ;
步骤2:计算微分,也就是当前的斜率,根据斜率来判定移动的方向
- 大于0向右移动(增加w)
- 小于0向左移动(减少w)
步骤3:根据学习率移动
重复步骤2和步骤3,直到找到最低点。
这时候的效果可能好,也可能不好,会出现三种情况:欠拟合,过拟合,正合适。
先只说过拟合,下面这个就是过拟合,刚开始的时候训练的挺好的,到后面结果反而不尽人意。
欠拟合就是模型和想要的差的还很多。
4、步骤优化
当上面的模型效果需要改进时,可以试试下面三种不同的优化方法,从不同的角度对模型进行优化。
1)向量化Vectorization
简单来说,就是用最少的代码得到最好的预测。
将2个input的四个线性模型是合并到一个线性模型中,消除代码中显式 for 循环,如下图可以将四个式子合并为一个式子。
2)引入更多参数,更多input
这和我上面说的例子差不多,一个意思,不能简单的用身高这一个特征就形容完整,肯定是要加上这个人的体重、肤色、五官、学历等等。就像是给别人画肖像,你之前没有见过那个人,而那人只告诉你他的身高,你有办法画的逼真吗?肯定没有对不对,这就需要他给你提供更多的信息,比如体型,眼睛形状,是桃花眼?狐狸眼?杏眼?鼻子是鹰钩鼻?驼峰鼻?嘴巴的厚薄?耳朵的轮廓,等等,只有给更加详细的信息才能最大化的画的逼真。
3)优化:引入正则化Regularization
更多特征,但是权重 w可能会使某些特征权值过高,仍旧导致过拟合,所以加入正则化。正则化有助于避免过拟合,减少网络误差。正则项不需要对偏置b正则,b对函数没有影响。
李宏毅机器学习 之 回归Regression(二)相关推荐
- 李宏毅机器学习课程--回归(Regression)
近期在学习李宏毅老师的机器学习视频(https://www.bilibili.com/video/av10590361/?p=4),下面写一下自己的心得体会. 李老师用的是精灵宝可梦做的比喻,假设进化 ...
- 【李宏毅机器学习】Logistic Regression 逻辑回归(p11) 学习笔记
李宏毅机器学习学习笔记汇总 课程链接 文章目录 Logistic Regression Step 1: Function Set Step 2: Goodness of a Function Step ...
- 机器学习之回归(Regression)再理解
文章目录 一 前言引入 1. 回归定义及应用场景 2. 解决步骤 3. 过拟合和解决方法 二 回归问题再理解 1. 问题提出 2. 问题解决 三 结束语 一 前言引入 1. 回归定义及应用场景 ...
- 【ML】 李宏毅机器学习一:Regression、Gradient Descent(python实现)
我的GitHub地址:https://github.com/taw19960426/DeepLearning存放与之对应的python代码 1.Regression 1.1 Introduction ...
- 李宏毅机器学习 02回归
回归定义和应用例子 回归定义 Regression 就是找到一个函数function,通过输入特征 x,输出一个数值Scalar. 模型步骤 step1:模型假设,选择模型框架(线性模型) 一元线性模 ...
- 李宏毅机器学习2020笔记(二)Classification
一.classification 1.应用与问题定义 如果作为regression来处理,为了照顾较远的点会得到紫色的线.因此简单地把归为一个数是不合理的. 比如有3类,分别为123,因为12比较接近 ...
- 【李宏毅机器学习】02:回归Regression
李宏毅机器学习02:回归Regression 文章目录 李宏毅机器学习02:回归Regression 一.回归(Regression)的定义 1.Regression: Output a scalar ...
- 机器学习笔记——回归(Regression)
机器学习笔记--回归(Regression) 一.何为回归 二.案例背景 三.研究过程 1.选择模型 2.衡量函数的好坏 3.选择最优的函数 4.梯度下降(Gradient Descent) 4.1单 ...
- 李宏毅2017机器学习课程 回归
李宏毅2017机器学习课程 P3 回归 Regression 下文不区分w和ω( 文章目录 李宏毅2017机器学习课程 P3 回归 Regression 回归定义 举例:Pokemon精灵攻击力预测( ...
最新文章
- 【风控建模】风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)
- 今晚直播 | 强化学习在比赛和自动机器学习中的应用简析
- OpenCV trackbar 避免使用全局变量
- 关于@SuppressWarnings(unchecked)注解
- mysql inno_mysql inno优化配置方法
- 【pytest】命令行选项
- 总结---BOM浏览器对象模型
- mysql所选路径已经存在_Win10环境下安装压缩包版本MySQL-8.0.13
- lpush和rpush的区别_redis数据类型之list-lpush,rpush讲解
- opencv-python 图像基础处理(三)
- 石墨文档支持的几种markdown格式
- CPU 到底是怎么识别代码的?
- 戴维·萨尔诺夫,霍华德·阿姆斯特朗以及超外差无线接收机
- 普乐蛙7D动感影院|6d动感电影院|7d动感影院设备
- 201571030314/201571030316《小学四则运算软件软件需求说明》结对项目报告
- 追求卓越之--arm MMU详解
- “9W+引用”牛文教你2022年肿瘤到底该研究点啥?(第一期)
- 基于DSP+FPGA的机载雷达伺服控制系统的硬件设计与开发(一)总体设计
- linux汉诺塔实验报告,数据结构-汉诺塔-实验报告
- UI设计入门知识大全!零基础小白必看
热门文章
- Ozone数据探查服务Recon的启用
- 修一座安全的广厦,庇护赛博世界的流浪者
- 【C++】在 Visual Studio 调试器中指定符号 (.pdb) 和源文件(转载自RSS翻译)
- linux脚本echo off,echo什么意思_@echo off的作用 - 编程语言及工具 - 电子发烧友网
- 一线互联网大厂面试真题系统收录!轻松拿下offer
- 做一个FLASH游戏你需要掌握的东西【实用】
- 双十一就该这么薅羊毛,MacBook、iphone13等万元壕礼等你领
- python数据处理用什么软件_数据分析都会用到哪些工具?
- Machine learning techniques to enable closed-loop control in anesthesia-笔记
- python实现base64解码_Python实现base64编码解码