对于过拟合的理解

来源:8-3 过拟合与欠拟合

热心市民小马

2021-05-03

老师,对于y = 0.5 * x**2 + x + 2 + np.random.normal(0, 1, size=100)这样的x方次比较小的函数而言,degree选择2我是可以理解的,但如果此时degree选取了100,那他的数学意义是什么呢,是否意味着,将原本只有一个特征的x,不仅将x^2也变成了单独的特征,还为他添加了很多方次更高的特征。这样就将X在进行PolynomialFeatures之后变成了具有非常多的特征的一个矩阵,最后再为他们进行线性回归预测而得到了针对每一个特征的theta。从而用这个模型再去预测X_test。

但是针对这张图而言,为什么靠近边界的预测值会非常大呢,是因为他进行100次方之后,某些特征值过大而导致最后预测结果整体过大吗
图片描述

刚接触机器学习,有些问题可能想的太过复杂,老师见谅 : >

写回答

2回答

liuyubobobo

2021-05-03

1)

"是否意味着,将原本只有一个特征的x,不仅将x^2也变成了单独的特征,还为他添加了很多方次更高的特征。这样就将X在进行PolynomialFeatures之后变成了具有非常多的特征的一个矩阵,最后再为他们进行线性回归预测而得到了针对每一个特征的theta。从而用这个模型再去预测X_test。"


理解的完全正确。


2)

“为什么靠近边界的预测值会非常大呢,是因为他进行100次方之后,某些特征值过大而导致最后预测结果整体过大吗”


是的,可以这么理解。

其实就是我们的到了一个 y = ax^100 + bx^99 + cx^98 .... 这样一个拟合函数,当把某一点带入这个拟合函数的时候,计算出的结果。


3)

“在我们所定义的Pipeline,在后续对于X_test的预测中会对X_test进行StandardScaler()吗?”


会的,因为 pipeline 中有 StandardScaler。


继续加油!:)

0
1
热心市民小马
谢谢bobo老师啦 : >
2021-05-03
共1条回复

热心市民小马

提问者

2021-05-03

老师,再补充一个疑问,在我们所定义的Pipeline,在后续对于X_test的预测中会对X_test进行StandardScaler()吗?

0
0

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

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

5893 学习 · 2455 问题

查看课程