机器学习之回归问题

article/2025/9/27 2:44:40

目录

前言

一、回归定义

二、回归建模步骤

1.模型假设-线性模型(Linear Model)

(1)一元线性模型

(2)多元线性模型

2.模型评估-损失函数(Loss Funtion)

3.最佳模型-梯度下降(Gradient Descent)

三.常见问题

总结


前言

本文来源于李宏毅老师的机器学习课程。`

回归是一种有监督学习,主要是从中发现变量之间的相关性,确定变量间的关系式,从而预测输出的变量值。

一、回归定义

回归问题主要用于预测某连续变量的数值,例如:预测PM2.5、预测房屋价格、电商用户购买可能性等。

二、回归建模步骤

1.模型假设-线性模型(Linear Model)

(1)一元线性模型

对于输入变量只有一个,即单个的特征,线性回归表示如下:

y = b + w\cdot x

b代表y轴上的截距,w代表特征的权重系数。

(2)多元线性模型

当输入变量不止一个时,即多个特征,线性回归表示如下:

f(x)=w_1x_1 + w_2x_2 + \cdots + w_dx_d + b =w^{T}x + b

在多元线性模型中,通过学习wb确定模型。

图片来源:李宏毅机器学习ppt 

2.模型评估-损失函数(Loss Funtion)

Loss Funtion评价模型所产生的预测结果的一个函数,衡量一组参数的好坏,在线性回归则是中wb的好坏,损失函数的反馈值是机器学习调整参数的重要依据。

  • 输入:当前function
  • 输出:当前function的好坏

对于回归问题,采用以下几种损失函数:

  • 均方误差(MSE)

MSE=\frac{1}{n}\sum_{i-1}^{n}(\hat{y}-f(x_{i}))^{2}

  • 均方根误差(RMSE)

RMSE=\sqrt{\frac{1}{n}\sum_{i-1}^{n}(\hat{y}-f(x_{i}))^{2}}

  • 平均绝对值误差(MAE)

 RMSE=\frac{1}{n}\sum_{i-1}^{n}\left | \hat{y}-f(x_{i}) \right |

3.最佳模型-梯度下降(Gradient Descent)

选择损失函数值最小的作为最佳模型,公式表示为:

f^{*} = arg\underset{f}{min}L(f)

w^{*}b^{*} = arg\underset{w,b}{min}L(w,b)

寻找习wb常用方法:梯度下降法,其步骤如下:

  • step1:随机选取一个点w_{0}
  • step2:计算参数w对损失函数的微分,即切线斜率。切线斜率为负,增加w值;切线斜率为正,减少w值;

w_{1}\leftarrow w_{0}-\eta \frac{\partial L}{\partial w}\mid _{w=w_{0}}

\eta代表学习速率(learning_rate),即单次更新步长。如果太小更新速率太慢则很难到达;如果太大则容易直接越过极值点。

  • step3:重复之前步骤,直到找到最低点

 常见梯度下降的方法:小批量梯度下降(MBGD)、Adam算法、动量加速梯度下降、Adagrad算法、RMSProp算法等。

 图片来源:李宏毅机器学习ppt


三.常见问题

欠拟合(underfitting):学习器对训练样本未学习好,预测偏差较大。(bias)

解决方法:增加特征数量、选用更复杂的模型。

过拟合(overfitting):学习器把训练样本学习得过好,导致新样本进来后效果不佳,即训练集效果好,测试集不佳,模型泛化能力差。(方差)

解决方法:减少特征数量、增加训练数据、加入正则化、调整过于复杂模型。


总结

偏差、梯度下降在后续学习中再总结。


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

相关文章

mac idea jrebel 激活

jrebel 官网提供注册,然后会给你一个注册码 首先 idea 安装 jrebel . 在安装完成之后,点击以下按钮 一开始 跟我的不一样,我的是注册完成之后,才会显示Change license 的这个提示, 之前好像是 Activate now 提示,点击即可 当注册完成之后,关闭弹出框 选择上图中的值,去官网注…

安装jrebel并激活

1.File-Settings-Plugins搜索jrebel,找到JRebel for IntelliJ ,点击install(我这里已经安装过了,所以显示的是更新) 2.重启idea 3.激活步骤,下载工具 ①下载激活工具 连接:https://pan.baidu.com/s/1Fh2v2zrAO2u50ZnS9LHBOQ 提取码…

JRebel激活步骤

JRebel简介: JRebel是与应用程序服务器集成的JVM Java代理,可使用现有的类加载器重新加载类。只有更改的类会重新编译并立即重新加载到正在运行的应用程序中,JRebel特别不依赖任何IDE或开发工具(除编译器外)。但是&…

关于JRebel 激活

具体JRebel安装教程参考: https://blog.csdn.net/lmdsoft/article/details/93769089 本文提供JRebel激活 Demo JRebel address was: 【http://jrebel.qekang.com:80/48dc7f8c-019f-4cb8-85d7-99b0134b69d0】, with any email.

JRebel插件激活

JRebel,一款好用的 Spring 热部署插件。 1. 安装 注意:截至到目前为止,作者只找到了 2022.4.1 的激活方式,更高版本皆未激活成功。 1.1. IDEA 中直接安装 在插件市场中直接搜索:JRebel and XRebel 注意,这…

2019.9最新JRebel激活方式

原文链接 最近JRebel离线方式到期, idea报无法激活JRebel了, 找了很多以前的方式都无法生效, ip或域名都已经失效了, 好在找到了大神有效的激活方式,以下是激活步骤: 1. 下载反向代理软件 下载地址: https://github.com/ilanyu/ReverseProxy/releases根据自己的操作系统下载…

jrebel激活服务器搭建教程

jrebel是一款热部署插件,很好用,但是是收费的软件,本博客将搭建起一个jrebel激活服务器,如果条件允许,请购买正版lisence,请购买正版lisence,请购买正版lisence重要的事说三遍。 本博客激活是基于码云上的一个开源程序…

jrebel 激活

jrebel是ideal是的一款插件,是一个很好的热部署工具 -作用: 在项目启动过程中编译代码后,无需再次run或者debug,节省程序启动时间。 主要操作file—》settings—》plugins在搜索框中,输入jrebel点击右侧的install安装好…

JRebel激活失效解决

问题: 使用Jrebel运行项目时报错:Jrebel is not yet activated.Do you want to activate Jrebel now? 意思是插件未激活,需要激活插件 解决办法: 1. 下载代理软件:ReverseProxy,下载成功后双击打开(未成…

【IDEA】IDEA使用——IDEA中全局查找和全局替换

【IDEA】IDEA使用——IDEA中全局查找和全局替换 IDEA是一款优秀的Java IDE,全局查找和全局替换功能在学习和开发过程中使用的最为频繁,本文将简要总结其使用方法。 1.全局查找 面板位置:Edit > Find > Find In Path快捷键:…

IDEA全局替换--解决快捷键不起作用

看了网上的帖子: 使用快捷键后出来是酱紫的: 后来发现应该是这样: 输入完直接点enter键即可

IDEA中的全局批量替换正则表达式

目录 一. 常用搜索快捷键二. IDEA中常用的正则1. ^xxx:匹配以xxx开始的文件2. xxx$:搜索以xxx为结尾的文件3. .xxx:搜索包含字符串xxx的文件4. 复杂搜索例子 三. 正则表达式四. 常用字符五. 特殊字符六. 限定字符 一. 常用搜索快捷键 CTRL …

idea全局搜索替换快捷键

默认是:CtrlShiftR 如果不是继续看下面: 不是可能是你不是使用的idea默认的快捷键,或者之前更改过快捷键, 打开Setting(CtrlAltS)——>keymap——>搜索replace in path

mac idea实现全局替换

点击Edit ----- Find ----- Replace in Path 例如要把项目中的cc替换为aa 点击Replace All

IDEA 全局搜索全局替换快捷键

用惯eclips的可能ctrlh一个键就能搞定查找所有和替换全部. idea的全局搜索和替换是分开看用的. 此次记录为window idea默认快捷键使用 全局搜索:ctrlshiftf 全局替换: ctrlshiftr 文件内搜索:ctrlf 文件内替换:ctrlr 当然单独用ctrlshiftr 和 ctrlr 是完全可以替代ctrlshi…

fc nes CHR解读及使用gd2生成对应图片

首先,这个涉及比较古老的机器,估计也没什么人感兴趣,我在这里只是记录一下相关信息, 其实fc开发感觉相当于现在的单片机之类的开发,当然作为古老机种,可能模式和思路更古老,不及现在快速高效的…

gd.so和php_gd2.so 有什么区别

1、关于gd与gd2有什么区别,可以参加以下的链接,简单来说gd2就是gd的更新版,可以处理更多图像类型 https://stackoverflow.com/questions/3035216/what-are-the-differences-between-a-gd-and-a-gd2-image 2、php-gd里面已经包含了gd和gd2&…

GD32(5)文件系统

目录 文件系统介绍FatFs文件系统组成文件系统存储文件分配表目录 文件系统移植步骤文件系统操作函数f_mountf_openf_closef_writef_read 文件系统介绍 文件系统:操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘&#xf…

PHP的gd2库的安装 和使用注意的一个问题

1.首先确认是否php是否自带了gd2库,确认方法如下: 找到xampp的安装目录 > php文件夹 > ext文件夹 > 看是否有php_gd2.dll文件,如果有就说明已经安装了GD2库。 2.启动phpinfo()来确认GD2库,启动方法: 在xam…