当前位置: 首页 > article >正文

特征维度远大于样本量时候的过拟合问题

为什么特征维度远大于样本量会导致过拟合?

维度灾难

当特征维度远大于样本量时,会出现所谓的"维度灾难"(curse of dimensionality)。在高维空间中,数据变得非常稀疏,模型有太多的"自由度"来拟合这些稀疏的数据点。

举个简单的例子:

想象你只有2个点,要用一条直线拟合 -> 永远能完美拟合
如果有3个点,用一条二次曲线 -> 也能完美拟合
如果有n个点,用n-1次多项式 -> 同样能完美拟合

在我的案例中:

特征维度是402,意味着模型有402个参数可以调整
而只有160个样本来约束这些参数
这就给了模型太多的"自由度"来记忆训练数据的细节,包括噪声

过拟合的数学解释

在线性回归中,当特征数量p大于样本量n时:

方程组 X β = y Xβ = y =y 变成欠定方程组
意味着存在无穷多个解能够使训练误差为零
模型会找到一个使训练误差最小的解,但这个解往往过度拟合了训练数据中的噪声

解决方案:

降维:如PCA,将402维降到比如20-30维
正则化:如L1、L2正则化,限制模型参数的大小
特征选择:选择最重要的频率点
增加训练样本:如果可能的话收集更多数据

一个经验法则是:样本量应该至少是特征维度的5-10倍,才能较好地训练模型。


http://www.kler.cn/a/448012.html

相关文章:

  • 多模态医学图像融合概述
  • Oracle中间件 SOA之 OSB 12C服务器环境搭建
  • Day50 图论part01
  • [计算机网络]唐僧的”通关文牒“NAT地址转换
  • 防火墙技术与网络安全
  • 使用vcpkg安装opencv>=4.9后#include<opencv2/opencv.hpp>#include<opencv2/core.hpp>无效
  • Vue2学习(一)——Vue简介、Vue指令与指令修饰符
  • 《Django 5 By Example》阅读笔记:p614-p644
  • 机器学习基础算法 (一)-线性回归
  • 【项目介绍】基于机器学习的低空小、微无人机识别技术
  • spring mvc | servlet :serviceImpl无法自动装配 UserMapper
  • 创建项目以及本地仓库和远程仓库并上传项目
  • 《探索QT 5.14.1:功能、特性与应用全解析》
  • Mysql-SQL执行流程解析
  • react中实现导出excel文件
  • 【CSS in Depth 2 精译_088】第五部分:添加动效概述 + 第 15 章:CSS 过渡特效概述 + 15.1:状态间的由此及彼
  • 默契之舞 之 生产者消费者模式(RabbitMQ)
  • [react 3种方法] 获取ant组件ref用ts如何定义?
  • CSS系列(25)-- 滚动优化详解
  • [DASCTF 2024最后一战|寒夜破晓,冬至终章] 数论的气氛
  • rk3568之mpp开发笔记怎么实现mpp编码摄像头实时码流?
  • 换工作,如何退出微软账户???(删除注册表数据)
  • powerhsell 初认识
  • 252-8路SATAII 6U VPX高速存储模块
  • 一个类就创建Json反序列化所需的属性
  • golang,gowork工具