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

news/2024/12/20 5:59:41/

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

维度灾难

当特征维度远大于样本量时,会出现所谓的"维度灾难"(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.ppmy.cn/news/1556583.html

相关文章

CommandLineRunner 和 InitializingBean初始化

CommandLineRunner 和 InitializingBean 都是 Spring 框架中用于初始化 Bean 的机制,但它们有不同的使用场景和特点。 CommandLineRunner 作用: CommandLineRunner 是一个接口,它定义了一个方法 run(String... args),这个方法会…

114. 二叉树展开为链表(java)标记一下

题目描述: 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序…

【系统】Mac crontab 无法退出编辑模式问题

【系统】Mac crontab 无法退出编辑模式问题 背景一、问题回答1.定位原因:2.确认编辑器类型3.确保编辑器进入正确3.1 确认是否有crontab调度任务3.2 进入编辑器并确保编辑器正常3.3 保存操作 4.确认crontab任务存在5.确保脚本的可执行性和正确性 二、后续 背景 之前…

Arrays工具类——常用方法

Arrays工具类 它是Java API文档已经给我们提供好的一个现成类,对于我们来说直接使用即可 在以后开发过程中,就2种情况: 1.自己写类,自己写方法,自己写实现……【累】 2.别人已经给你写好了,直接拿过来用就…

嵌入式单片机中对应GPIO外设详解实现

一、GPIO外设详解 大家可以看到,函数库开发的时候外设的使用流程都是一样的,接下来就讲解一下细节。 l定义一个外设的结构体变量 变量命名规则 PPP_InitTypeDef PPP_InitStructure; 每个外设都有对应的结构体,结构体的定义一般都是存放在每个外设的头文件内,比如GPIO外…

杨振宁大学物理视频中黄色的字,c#写程序去掉(原版改进,三)

上一节,我们分清了主次矛盾,并搞定了主要矛盾(去掉黄色的字),这一节解决次要矛盾(矩形色带)。 我们的想法如图: 1,我们找到稳定黄色的最左边,最右边两点&…

CentOS7超详细安装教程

资料提供 VMware虚拟机下载 通过百度网盘分享的文件:VMware-workstation-full-17.5.2 个人免费... 链接:百度网盘 请输入提取码 提取码:6666 CentOS7镜像 镜像下载网址centos-7-isos-x86_64安装包下载_开源镜像站-阿里云 选择图下版本即…

AI前沿测评:Kimi上线视觉思考k1模型,多模态更上一层楼?

名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼 Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、Kimi k1 背后的技术创新二、Kimi k1:技术迭代与升级三、Kimi k1 的实际应用场景四、Kimi k1…