机器学习-回归模型-欠拟合和过拟合

简介: 1. 什么是欠拟合和过拟合先看三张图片,这三张图片是线性回归模型 拟合的函数和训练集的关系第一张图片拟合的函数和训练集误差较大,我们称这种情况为 欠拟合第二张图片拟合的函数和训练集误差较小,我们称这种情况为 合适拟合第三张图片拟合的函数完美的匹配训练集数据,我们称这种情况为 过拟合  类似的,对于逻辑回归同样也存在欠拟合和过拟合问题,如下三张图  2. 如何解决欠拟合和过拟合问题欠拟合问题,根本的原因是特征维度过少,导致拟合的函数无法满足训练集,误差较大。

1. 什么是欠拟合和过拟合

先看三张图片,这三张图片是线性回归模型 拟合的函数和训练集的关系

  1. 第一张图片拟合的函数和训练集误差较大,我们称这种情况为 欠拟合
  2. 第二张图片拟合的函数和训练集误差较小,我们称这种情况为 合适拟合
  3. 第三张图片拟合的函数完美的匹配训练集数据,我们称这种情况为 过拟合

  

类似的,对于逻辑回归同样也存在欠拟合和过拟合问题,如下三张图

  

2. 如何解决欠拟合和过拟合问题

欠拟合问题,根本的原因是特征维度过少,导致拟合的函数无法满足训练集,误差较大。

欠拟合问题可以通过增加特征维度来解决

过拟合问题,根本的原因则是特征维度过多,导致拟合的函数完美的经过训练集,但是对新数据的预测结果则较差。

解决过拟合问题,则有2个途径

  1. 减少特征维度; 可以人工选择保留的特征,或者模型选择算法
  2. 正则化; 保留所有的特征,通过降低参数θ的值,来影响模型

3. 正则化

回到前面过拟合例子, h(x) = θ0 + θ1x1 + θ2x2 + θ3x3 + θ4x4

 

从图中可以看出,解决这个过拟合问题可以通过消除特征x3和x4的影响, 我们称为对参数的惩罚, 也就是使得参数θ3, θ4接近于0。

最简单的方法是对代价函数进行改造,例如

这样在求解最小化代价函数的时候使得参数θ3, θ4接近于0。

正则化其实就是通过对参数θ的惩罚来影响整个模型

4. 线性回归使用正则化

前面几篇文章中,线性回归的代价函数J(θ)表达式如下

正则化后,代价函数J(θ)表达式如下,注意j从1开始

注意λ值不能设置过大,否则会导致求出的参数除了θ0,其它θ1,θ2 ... θn值约等于0,导致预测函数h(x)出现极大偏差

我们的目标依然是求J(θ)最小值,我们还是用梯度下降算法正规方程求解最小化J(θ)

1. 梯度下降算法(注意需要区分θ0和其它参数的更新等式)

2. 正规方程

对于正规方程来,需要修改等式如下

系数λ 所乘的矩阵为 (n+1)*(n+1)维

5. 逻辑回归使用正则化

和线性回归模型类型,逻辑回归也可以通过正则化来解决过拟合问题。

逻辑回归的代价函数J(θ)表达式如下

正则化逻辑回归的代价函数,是在等式后加上一项,注意j从1开始

 

同样的用梯度下降算法求解最小化J(θ),也需要做改变

不同的是逻辑回归模型中的预测函数 h(x)和线性回归不同

目录
相关文章
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
实战派教学:掌握Scikit-learn,轻松实现数据分析与机器学习模型优化!
【10月更文挑战第4天】Scikit-learn凭借高效、易用及全面性成为数据科学领域的首选工具,简化了数据预处理、模型训练与评估流程,并提供丰富算法库。本文通过实战教学,详细介绍Scikit-learn的基础入门、数据预处理、模型选择与训练、评估及调优等关键步骤,助你快速掌握并优化数据分析与机器学习模型。从环境搭建到参数调优,每一步都配有示例代码,便于理解和实践。
83 2
|
27天前
|
机器人
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领精美计时器
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领精美计时器
81 3
|
1月前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
【10月更文挑战第6天】如何使用机器学习模型来自动化评估数据质量?
|
6天前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
如何使用机器学习模型来自动化评估数据质量?
|
2天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
11 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
6天前
|
机器学习/深度学习 算法 PyTorch
用Python实现简单机器学习模型:以鸢尾花数据集为例
用Python实现简单机器学习模型:以鸢尾花数据集为例
21 1
|
1月前
|
数据采集 移动开发 数据可视化
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
这篇文章介绍了数据清洗、分析、可视化、模型搭建、训练和预测的全过程,包括缺失值处理、异常值处理、特征选择、数据归一化等关键步骤,并展示了模型融合技术。
47 1
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
|
15天前
|
机器学习/深度学习 数据采集 Python
从零到一:手把手教你完成机器学习项目,从数据预处理到模型部署全攻略
【10月更文挑战第25天】本文通过一个预测房价的案例,详细介绍了从数据预处理到模型部署的完整机器学习项目流程。涵盖数据清洗、特征选择与工程、模型训练与调优、以及使用Flask进行模型部署的步骤,帮助读者掌握机器学习的最佳实践。
52 1
|
19天前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
如何使用机器学习模型来自动化评估数据质量?
|
24天前
|
机器人
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领 200个 精美计时器等你领
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领 200个 精美计时器等你领
68 2

热门文章

最新文章