machine-learning - 特征越多,线性模型越完善
问题描述
我需要更多地了解特征数量和线性模型回归之间的关系,基于 Andreas C. Müller 和 Sarah Guido 所著“Python 机器学习简介”一书第 47 页上的这段话:
“对于具有许多特征的数据集,线性模型可能非常强大。特别是,如果您的特征比训练数据点更多,则任何目标 y 都可以(在训练集上)完美建模为线性函数”
线性代数是如何解释的?
谢谢
解决方案
我可以试着给你一个直观的答案。
想象一下,您有一个由二维中的单个数据点组成的训练数据集。在这种情况下,我们有n_data = 1
(数据点的数量)和n_features = 2
(n_features
> n_data
)。训练数据集可以通过一维线性函数完美建模y = a0
。
类似地,如果您有三个特征(即三个维度)和两个数据点(so n_features = 3
> n_data = 2
),那么这两个点始终可以通过 2D 线的形式建模y = a0 + a1 x1
。
在四个维度(四个特征)中,三个点总是可以由一个由形式为 的线性方程定义的(超)平面建模y = a0 + a1x1 + a2x2
。
一般来说,超平面(定义为任何维数少于其周围空间维数的平面)总是可以用线性公式定义a1*x1 + a2*x2 + a3*x3 + ... + an*xn = b
。因此,如果点数小于维度数,总能找到超平面,因此如果样本数小于特征数(即对应于空间的尺寸)。
推荐阅读
- vue.js - 如何使用 bootstrap-vue 修复模态标题中的图像
- javascript - symfony 列表上的内联编辑元素问题
- text - 生成的 Beautiful Soup txt 文件中的文件编码未知
- typescript - 基于可选泛型的接口强制键
- vue.js - v-container 不会左对齐
- r - 将 .RDS 文件存储在 github 存储库中
- linkedin - LinkedIn:营销开发平台陷入审查流程
- windows - 如何获取文件夹中第二个最新文件的文件名?
- swagger - 如何使用 Swagger 和 Spring Boot 进行版本控制?
- module - 计算创建依赖于现有内置模块的新 odoo 模块的费用