回归(Regression )

article/2025/9/26 3:10:32

回归(Regression )

模型定义

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

模型应用

  • 股市预测(Stock market forecast)
    • 输入:过去10年股票的变动、新闻咨询、公司并购咨询等
    • 输出:预测股市明天的平均值
  • 自动驾驶(Self-driving Car)
    • 输入:无人车上的各个sensor的数据,例如路况、测出的车距等
    • 输出:方向盘的角度
  • 商品推荐(Recommendation)
    • 输入:商品A的特性,商品B的特性
    • 输出:购买商品B的可能性
  • Pokemon精灵攻击力预测(Combat Power of a pokemon):
    • 输入:进化前的CP值、物种(Bulbasaur)、血量(HP)、重量(Weight)、高度(Height)
    • 输出:进化后的CP值

模型实现

后面的例子以视频流量预测来探讨,即知道过去几个月的视频观看流量数据,来预测今天的流量数据的准确度。

第一步:Function with Unknown Parameters(构造初始模型)

先做一个最初步的线性模型猜测,假设我们写成这个样子:

在这里插入图片描述

  • y是我们準备要预测的东西,即预测今天的流量人数
  • x是这个频道,前一天总共观看的人数,
  • b跟w是未知的参数,它是準备要透过资料去找出来的,我们还不知道w跟b应该是多少,我们只是隐约的猜测

那现在总之,我们就随便猜说, y=b+w*x ,而b跟w是未知的,这个带有未知的参数,这个Parameter中文通常翻译成参数,这个带有UnknownParameterFunction 我们就叫做Model,所以我们常常听到有人说,模型 Model,Model这个东西在机器学习裡面,就是一个带有,未知的Parameter的Function,

第二部:Define Loss from Training Data(定义损失函数)

在这里插入图片描述

​ 第二个步骤,我们要定义一个东西叫做Loss,Loss它也是一个Function,那这个Function它的输入,是我们Model里面的参数,我们的Model叫做, y=b+w*x,而b跟w是未知的,是我们准备要找出来的,所谓的这个Loss,它是一个Function,这个Function的输入,就是b跟w,所以L它是一个Function,它的输入是Parameter,是model里面的Parameter,那这个Loss 这个Function,这个Function输出的值代表说,现在如果我们把这一组未知的参数,设定某一个数值的时候,这笔数值好还是不好

这里我们把通过模型预测出来的结果叫y1,而实际的结果为y2,那么其中的误差就是e = |y1-y2|:

在这里插入图片描述

我们就把每一天的误差,通通加起来,加起来然后取得平均,这个大N代表我们的训验资料的个数,就是所有训练资料的个数,我们算出一个L,L是每一笔训练资料的误差,这个大L就是我们的Loss.

测的值跟实际的值之间的差距,其实有不同的计算方法,在我们刚才的例子裡面,我们是算y1跟y2之间绝对值的差距,这一种计算差距的方法,得到的这个大L,得到的Loss叫 mean absolute error,缩写是MAE,如果你今天的e是用相减y平方算出来的,这个叫mean square error,又叫MSE,那MSE跟MAE,他们其实有非常微妙的差别.我们就是选择MAE,作为我们计算这个误差的方式,把所有的误差加起来,就得到Loss,如果y1和y2它都是机率,都是机率分佈的话,在这个时候,你可能会选择Cross-entropy,我们这边就是选择了MAE,那这个是机器学习的第二步.

Error Surface(损失值可视化)

在这里插入图片描述

​ 在这个等高线图上面,越偏红色系,代表计算出来的Loss越大,就代表这一组w跟b越差,如果越偏蓝色系,就代表Loss越小,就代表这一组w跟b越好

第三步:Optimization

要做的事情就是,找一个w跟b,把未知的参数,找一个数值出来,看代那一个数值进去,可以让我们的大L,让我们的Loss的值最小,那个就是我们要找的w跟b,那这个可以让loss最小的w跟b,我们就叫做 w* 跟 b* 代表说他们是最好的一组w跟b,可以让loss的值最小.

在这里插入图片描述

首先在这里引入一个概念 学习率 :移动的步长,如图中η

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

在这里插入图片描述

整理以后:

在这里插入图片描述

梯度下降推演最优模型的过程:

在这里插入图片描述

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

过拟合

定义

我们的数据在训练集上可能很好的表现,但是在遇到新的数据后,表现就没有那么出色了,这种现象叫过拟合。

过拟合与欠拟合对比

在这里插入图片描述

原因

1.训练集的数据太少

2.训练集和新数据的特征分布不一致

3.训练集中存在噪音。噪音大到模型过分记住了噪音的特征,反而忽略了真实的输入输出间的关系。

4.权值学习迭代次数足够多,拟合了训练数据中的噪音和训练样例中没有代表性的特征。

解决方案

1.丢弃一些不能帮助我们正确预测的特征。

可以是手工选择保留哪些特征,或者使用一些模型选择的算法来帮忙,比如PCA

2.正则化。

保留所有特征,但是减少参数的大小。

带正则化的损失函数:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传在这里插入图片描述

步骤优化

2个input的四个线性模型是合并到一个线性模型中

如果希望模型更强大表现更好(更多参数,更多input)

加入正则化
学习参考:https://datawhalechina.github.io/leeml-notes/#/chapter3/chapter3


http://chatgpt.dhexx.cn/article/VLpgGSlD.shtml

相关文章

数学建模:回归分析——regress 函数

matlab中regress 函数 https://jingyan.baidu.com/article/ca41422f6777aa1eae99ed87.htmlhttps://jingyan.baidu.com/article/ca41422f6777aa1eae99ed87.html 结果 附录 1、数据文本:data1_1 0 68 110 121 23 111 100 37 66 110 12 169 50 46 87 117 16 155 25…

[matlab]多元线性回归-regress函数的用法

转载博客原址:https://blog.csdn.net/YinJianxiang/article/details/81464245 回归分析 回归分析 (英语:Regression Analysis) 是一种统计学上分析数据的方法,目的在于了解两个或多个变量间是否相关、相关方向与强度,并建立数学…

机器学习——regression

1 用线性回归找到最佳拟合直线 线性回归 优点:结果易于理解,计算上不复杂 缺点:对非线性的数据拟合不好 使用数据类型:数值型数据和标称型数据。 回归方程:是根据样本资料通过回归分析所得到的反映一个变量&#xff0…

回归问题(Regression)

Regression 前言Dependent vs. Explanatory VariablesHandle Numerical Labelssquared error和variance什么区别 Linear RegressionLinear Regression in 1 Dimension Least Squares (最小二乘,重点)Least Squares ObjectiveMinimizing a Dif…

Fama-Macbeth回归图形化:EAP.fama_macbeth.Fama_macbeth_regress.plot()

实证资产定价(Empirical asset pricing)已经发布于Github和Pypi. 包的具体用法(Documentation)博主将会陆续在CSDN中详细介绍,也可以通过Pypi直接查看。 Pypi: pip install --upgrade EAP HomePage: EAP Empirical Asset Prici…

[MATLAB]一元线性回归(regress参数检验说明)

今天学习了统计回归模型,统计回归模型是基于统计理论建立的最基本最常用的一类数据驱动模型。本篇博文主要围绕regress函数的参数进行讲解! 一元线性回归模型的概念 这也要从一个女装公司讲起! 问:请用函数关系描述身高与腿长的…

matlab中的regress函数总结

clc cleardataxlsread(ty_num.xlsx); %第三列是全区;第四列是偶极子data1xlsread(w_E.xlsx); %第一列是w,第二列是东%设置x的值,第1列全为1 x(:,2)data(:,1); x(:,1)1;ydata1(:,3); [b,bint,r,rint,stats]regress(y,x);b的值为系数&#xff0…

回归(regression)

1. 回归(regression) 1.1 起源与定义 回归最早是被高尔顿提出的。他通过研究发现:如果父母都比较高一些,那么生出的子女身高会低于父母的平均身高;反之,如果父母双亲都比较矮一些,那么生出的子…

STATA regress回归结果分析

对于STATA回归结果以前一直不清不楚,每次都需要baidu一波,因此今天将结果相关分析记录下: 如上图 上面左侧的表是用来计算下面数据的,分析过程中基本不会用到 右侧从上往下 1.Number of obs 是样本容量 2.F是模型的F检验值&a…

MATLAB regress命令

1 regress命令 用于一元及多元线性回归,本质上是最小二乘法。在Matlab 命令行窗口输入help regress ,会弹出和regress的相关信息,一一整理。 调用格式: B regress(Y,X)[B,BINT] regress(Y,X)[B,BINT,R] regress(Y,X)[B,BINT,R…

MATLAB回归分析命令——regress命令

题目 假设向量y[7613.51 7850.91 8381.86 9142.81 10813.6 8631.43 8124.94 9429.79 10230.81 10163.61 9737.56 8561.06 7781.82 7110.97]; x1[7666 7704 8148 8571 8679 7704 6471 5870 5289 3815 3335 2927 2758 2591]; x2[16.22 16.85 17.93 17.28 17.23 17 19 18.22…

matlab中多元线性回归regress函数精确剖析(附实例代码)

matlab中多元线性回归regress函数精确剖析(附实例代码) 目录 前言 一、何为regress? 二、regress函数中的参数 三、实例分析 总结 前言 regress函数功能十分强大,它可以用来做多元线性回归分析,它不仅能得出线性回归函数中各个系数&#…

Ubuntu 下安装 Yar 扩展遇到的问题以及解决方案

本文为原创,转载请注明出处。 昨天在ubuntu上安装完yar之后发现yar还是不能用,感觉有些不对劲。 通过在微博上请教 Laruence 大神和公司的大大之后,问题解决了,下面就来分享这一成果。 如果还没有做好安装工作,请看…

最新yar扩展安装和使用

先说windows客户端的安装 yar扩展下载地址:https://pecl.php.net/package/yar 下载对应的版本 点击DLL可以查看支持的PHP版本,我本地是phpstudy搭建的环境,php版本是7.19.nts 所以我下载了7.1 Non Thread Safe (NTS) x64 解压后里面的php_yar.dll和php_yar.pdb文件…

yarn使用简介

yarn简介: yarn是facebook发布的一款取代npm的包管理工具。 yarn的特点: 速度超快。Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。超级安全。 在执行代码之前…

yar安装使用

1.安装 pecl install yar vim /etc/php.ini 加上extensionyar.so 查看支持的配置&#xff1a; php --re yar - Dependencies { Dependency [ json (Required) ] } - INI { Entry [ yar.packager <PERDIR> ] //打包协议 Current php } …

phpstudy安装yar扩展

最近因为项目需要yar扩展&#xff0c;本地开发环境使用phpstudy搭建&#xff0c;yar不是phpstudy的常用扩展&#xff0c;无法在扩展列表里面找到&#xff0c;所以需要自己安装。 0x01 Yar(Yet Another RPC framework for PHP) 是一个轻量级, 高效的RPC框架, 它提供了一种简单…

Yarn基本介绍(一)

1、简介 Yarn是Hadoop的分布式资源调度平台&#xff0c;负责为集群的运算提供运算资源。如果把分布式计算和单个计算机对应的话&#xff0c;HDFS就相当于计算机的文件系统&#xff0c;Yarn就是计算机的操作系统&#xff0c;MapReduce就是计算机上的应用程序。 2、组成部分 Y…

使用yaf+yar实现基于http的rpc服务

什么是RPC RPC&#xff0c;全称是Remote Procedure Call&#xff0c;远程服务调用&#xff0c;是一种通过网络从远程计算机程序上请求服务&#xff0c;而不需要了解底层网络技术的协议。简单一点来理解就是网络上的一个节点请求另一个节点提供的服务。 什么是YAF Yaf&#x…

yaf yar微服务/hprose微服务 镜像初始化 —— k8s从入门到高并发系列教程 (四)

前面的教程已经在docker镜像 软件 层面上初步安装了企业常用的插件&#xff0c;但目前还没有写任何代码。本教程带你初始化yaf框架&#xff0c;并基于yar框架和hprose跨语言微服务框架打包两个微服务代码&#xff0c;在容器间调用。 yaf是一个用c语言写的&#xff0c;用于php项…