多项式回归中如何理解升维?

来源:8-2 scikit-learn中的多项式回归与Pipeline

Howiedu

2022-07-28

老师您好,我可以这样理解吗?

打个比方就是有一只蜈蚣,本来只有左侧有手,我人为给它在另一边加上了手,就是升了维。
左右两只手就是两个维度,这个时候进行线性回归,回归的线就会从左边向右移动。
因为右边的手是左边手的平方,所以比较大,就会使得大和小之间的差距变大,形成多项式中的曲线。

写回答

2回答

liuyubobobo

2022-07-29

我不是很确定我是不是理解了你的意思,但是多项式回归中的“升维”,不是凭空添加了新的维度,而是结合旧的维度,添加新的信息。之所以能添加新信息,是因为线性回归的局限性,只考虑了特征和结果之间的线性关系,而没有考虑特征和结果之间可能有非线性关系。


最典型的例子就是:如果我们考察房屋和房价之间的关系。假设我们知道每个房屋占地的长 L 和宽 W。那么用这两个特征做线性回归去拟合房价,拟合的效果是不佳的。但是如果我们有了一个特征 W * L,一旦加入这个特征,拟合的效果就一下子提升上来了。原因就是,房价和 L 之间的关系,和 W 之间的关系,都比和 W * L 之间的关系弱。而单纯用线性回归,只能找到房价于 L 和 W 之间的关系,无法找到房价和 L * W 之间的关系。


换句话说,如果你怀疑你的目标和你的特征之间存在非线性关系,就可以尝试一下多项式回归。


但是要注意:


1)

多项式回归中考虑“特征的非线性关系”的方式,也是有局限性的。实际上,非线性的关系千千万,多项式回归也只是考虑了特征之间做乘法的关系而已。但是,除法,开方,log,作微分,积分,等等等等,全都是非线性关系。这些关系,多项式回归考虑不到。


2)

对于现代数据来说,通常维度都比较大,所以在 99.9% 的情况下,使用多项式回归升维的意义,都远远小于降维。在这个课程中介绍多项式回归,其实更多是为了引出 overfitting,这在机器学习重视非常非常重要的一个概念,甚至说是核心概念都不为过。但是对于多项式回归,在实际中很少使用。


3)

实际中很少使用多项式回归,那么对于目标和特征之间的非线性关系怎么办?一方面,有很多算法,绕过了“创建新的特征,然后使用线性回归”的方式,而是直接创造非线性的关系,神经网络,随机森林,都是如此。


4)

另外,如果真的要探究目标和特征之间的非线性关系,还是要靠领域知识的发展,而不是用机器学习的手段去“蒙”。这也是现在很多领域的科学家诟病机器学习,包括其实机器学习并不能深入到各个领域中,解决所有问题的核心原因之一。可以参考我的这个回答的最后一段话:https://coding.imooc.com/learn/questiondetail/ZEgyveP0ABBYBk7V.html


继续加油!:)

0
1
Howiedu
感谢老师!
2022-07-29
共1条回复

Howiedu

提问者

2022-07-28

不知道是否能这样理解?一个曲线拟合 特征越多越容易拟合 而x的n次方就是比较常用的特征 所以就出现了多项式回归

0
0

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5839 学习 · 2437 问题

查看课程