Machine learning 特征越多,线性模型就越完美

Machine learning 特征越多,线性模型就越完美,machine-learning,linear-algebra,Machine Learning,Linear Algebra,根据Andreas C.Müller&Sarah Guido所著《Python机器学习入门》第47页的这一段,我需要更多地了解特性数量与线性模型回归之间的关系: 对于具有许多特性的数据集,线性模型可能非常强大。 特别是,如果特征多于训练数据点,任何目标 可以作为线性函数在训练集上完美建模 线性代数是如何解释的 谢谢我可以试着给你一个直观的答案 假设您有一个由二维单个数据点组成的训练数据集。在本例中,n_data=1表示数据点的数量,n_features=2 n_features>n_data。训

根据Andreas C.Müller&Sarah Guido所著《Python机器学习入门》第47页的这一段,我需要更多地了解特性数量与线性模型回归之间的关系:

对于具有许多特性的数据集,线性模型可能非常强大。 特别是,如果特征多于训练数据点,任何目标 可以作为线性函数在训练集上完美建模

线性代数是如何解释的


谢谢

我可以试着给你一个直观的答案

假设您有一个由二维单个数据点组成的训练数据集。在本例中,n_data=1表示数据点的数量,n_features=2 n_features>n_data。训练数据集可以由一维线性函数y=a0完美建模

类似地,如果您有三个特征,即三维和两个数据点,因此n_特征=3>n_数据=2,则始终可以通过y=a0+a1-x1形式的二维线对这两个点进行建模

在四维四要素中,三个点始终可以由y=a0+a1x1+a2x2形式的线性方程定义的超平面建模


一般来说,定义为维数小于其周围空间维数的任何平面的超平面可以始终使用线性公式a1*x1+a2*x2+a3*x3+…+来定义an*xn=b。因此,如果点的数量小于维度的数量,则始终可以找到超平面,因此,如果样本数量小于与空间维度对应的特征数量,则始终可以对一组训练数据建模。

此问题更适合社区

这里的关键字在训练集中

对于具有许多特性的数据集,线性模型可能非常强大。 特别是,如果特征多于训练数据点, 任何目标y都可以在训练集上完美地建模为 线性函数, 《Python机器学习入门》,Andreas C.Müller和Sarah Guido著

通常情况下,比数据点更多的特征或比样本/观测结果更多的变量/预测值。如果我们有太多的特征,学习到的假设可能非常适合训练集,但无法推广到测试集上的新示例。例如,考虑由1000个图像组成的数据集,每个图像具有300×300像素1000个样本和90000个特征。 预测因子比观测值多的问题通常表示为p>n,这是因为标准问题没有唯一的解决方案。线性代数就是这样解释的。如果数据点矩阵的行表示案例,列表示预测值,那么矩阵的列之间必然存在线性依赖关系。一旦你找到了n个预测器的系数,其他p-n预测器的系数可以表示为前n个预测器的任意线性组合。其他方法,如套索或岭回归,或各种其他机器学习方法,提供了在这种情况下继续进行的方法

有一个良好的交叉验证:

当有更多的车型时,当然有可能适合好的车型 变量比数据点大,但这必须小心

当变量多于数据点时,问题可能不会出现 拥有唯一的解决方案,除非它受到进一步约束。就是有 可能是多个或无限多个适合数据的解决方案 同样好。这样的问题称为不适定或不适定问题 决心不足。例如,当变量多于 数据点,标准最小二乘回归有无穷多个 实现训练数据零误差的解决方案

这样的模型肯定会过于合适,因为它太灵活了 训练数据量。随着模型灵活性的增加,例如更多 回归模型中的变量和训练数据量 缩小后,模型能够 通过拟合训练中的随机波动,实现较低的误差 不代表真实基础分布的数据。 因此,当模型在将来的应用程序上运行时,性能将很差 来自同一分布的数据


谢谢,但我提出了一个新问题。如果我们有两个观察点和三个三维特征,我们可以通过一条直线或多个平面来建模数据。如何应对这种情况?@MiladRahbar的确,你的评论可以扩展到所有方面!1 2D中的观察可以用无限多的线来建模——这个说法仍然成立,我的例子是最简单的一个,其中最高n维的系数等于零。在3D情况下,模型是直线还是平面取决于各种因素,其中包括w
如果初始参数都为零,那么所有可能为零的参数都可能保持为零!,学习算法等等。我真的很感谢你花时间和耐心回答我的问题。