Regression回归应用场景+实现步骤+案例结果分析+模型改进+基本概念(bias&variance+诊断欠拟合和过拟合的方法+解决方案)

本文介绍了回归分析在深度学习中的应用,包括股价预测、自动驾驶及推荐系统等场景,并详细讲解了模型设计、函数优度评估及寻找最佳函数的过程。通过Pokemons案例展示了不同阶次多项式函数的表现,并探讨了过拟合问题及解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

哦吼,深度学习开始了,要加油啊!早一点把模型搞懂,老师就不用push我了,哭哭!

目录

一、Regression回归

1、应用场景

(1)Stock Market Forecast——股价预测

(2)Self-driving Car——自动驾驶

(3)Recommendation——推荐系统

2、步骤

(1)给一个Model

(2)Goodness of Function(函数优度)

(3)Find the best function

二、案例——pokemons

how's the results?

(1)一次方函数式实验结果:

(2)二次方函数式实验结果:

(3)三次方函数式实验结果:

(4)四次方函数式实验结果:

(5)五次方函数式实验结果:

Let’s collect more data

回到第一步,建立模型

 重新设计模型,考虑二次方、三次方等高次方情况

 Regularization

 三、基本概念

bias&variance

Diagnosis:

解决方案:

model selection:


 

一、Regression回归

1、应用场景

(1)Stock Market Forecast——股价预测

(2)Self-driving Car——自动驾驶

(3)Recommendation——推荐系统

2、步骤

(1)给一个Model

(2)Goodness of Function(函数优度)

输入:a function一个函数

输出:loss funchtion——how bad it is 

(3)Find the best function

梯度下降:初试化w和b这两个参数,不断迭代更新,知道找到最优解,也就是使损失值达到最小的参数值

有可能会在局部最小值处停止

在线性回归里,是不需要担心找不到全局最优解的,因为其三维图形是一圈一圈的等高线,不管从哪个方向都可以找到最优解

二、案例——pokemons

how's the results?

训练的目的是损失值最小,但是通过训练集得到的损失值是比测试集得到的损失值小的,为了减少误差,我们需要改进模型——引入了二次方、三次方和四次方的函数

(1)一次方函数式实验结果:

(2)二次方函数式实验结果:

训练集和测试集的结果

(3)三次方函数式实验结果:

(4)四次方函数式实验结果:

(5)五次方函数式实验结果:

overfitting——更复杂的模型会得到更不好的结果,所以模型并不是越复杂越好。

what are the hidden factors——pokemon的物种会影响他们值

Let’s collect more data

收集更多的数据,考虑更多影响因素——物种

回到第一步,建立模型

根据不同的输入值,对不同的物种设置不同 的权重,此时仅设置了输入值的一次方,还可以考虑输入值的二次方函数 

 重新设计模型,考虑二次方、三次方等高次方情况

 Regularization

选择合适的系数值

设置较为平缓的曲线,由于w的值大于零小于1,当其越接近于0,结果是越为平缓的,前面的系数越大,代表我们越考虑smooth,越可以较多得关注参数w本身的值

 三、基本概念

bias&variance

误差来源于两个——一个是bias,还有一个是variance。出现bias是由于开始就没有瞄准靶心;出现vaiance是由于瞄准了靶心,但是发射的时候出现了偏离。我们的目标是低bias和低variance。

红色的部分是分别在考虑输入值一次方、三次方和五次方函数进行5000次实验的结果,蓝色的线条是将5000次实验结果进行平均即结果 

我们可以得出结果,模型过于简单的时候,可能会出现较大的bias,模型比较复杂的时候,variance较大,但是实验结果进行平均之后,值接近于期望值

越简单的模型,bias越大,variance比较小;反之,模型越复杂,variance越大,但是平均值却比较接近于期望值

bias较大的情况,问题出现在underfitting;

Diagnosis:

(1)当模型不能拟合训练集时,我们有较大的bias;

(2)当模型可以集合训练集,但是在测试集上出现了较大的损失值,则很大可能上有较大的variance,variance较大的情况,问题出现在overfitting

解决方案:

for bias, redesign模型:
(1)add more feature as input

(2)a more complex model

for variance

(1)more data(增加每次实验的样本量)

(2)Regularization我们希望曲线越平缓越好

伤害:只包含了比较平滑的曲线,在取值上产生了较大的bias

model selection:

我们想要找到合适的bias和variance来得到最小的损失值

### 机器学习中的过拟合拟合现象及其解决方法 #### 区别 在机器学习中,**过拟合****拟合**是模型训练过程中常见的两种问题,它们分别反映了模型对数据的拟合能力不足或过度。 - **拟合**是指模型无法很好地捕捉训练数据中的模式,导致在训练集测试集上的性能都较差。这种情况下,模型通常具有高偏差(high bias),即模型过于简单,无法准确地描述数据之间的关系[^1]。 - **过拟合**则是指模型在训练数据上表现很好,但在未见过的测试数据上表现较差。这通常是因为模型过于复杂,以至于它不仅学到了数据中的有用信息,还学到了噪声细节,从而导致高方差(high variance)。 从数学角度来看,高阶多项式虽然具有很强的数据拟合能力,但如果数据集不足以约束这样一个复杂的模型,则容易发生过拟合现象[^2]。 #### 解决方法 针对这两种情况,可以采取不同的策略来改善模型的表现: ##### 对于拟合 - **增加模型复杂度**:可以通过增加神经网络的层数或节点数、增加决策树的深度等方式来提升模型的学习能力。 - **减少正则化强度**:如果使用了正则化技术,可以尝试降低其系数,使得模型能够更自由地适应数据。 - **添加更多特征**:通过引入额外的相关特征或者构造新的特征组合,可以帮助模型更好地理解数据。 - **延长训练时间**:有时候,模型可能需要更多的迭代次数才能充分学习到数据中的模式。 ##### 对于过拟合 - **简化模型结构**:减少神经网络的层数或节点数、缩短决策树的深度等,以降低模型复杂度。 - **增加训练数据量**:获取更多的训练样本有助于提高模型的泛化能力。 - **应用正则化技术**:如L1/L2正则化、Dropout等方法可以在一定程度上防止权重过大,从而抑制过拟合。 - **交叉验证**:利用k折交叉验证可以帮助评估模型在未知数据上的表现,并选择最优参数配置。 - **早停法(Early Stopping)**:监控验证集损失,在模型开始过拟合之前停止训练过程。 - **特征选择**:去除不相关或冗余的特征,保留那些对目标变量有较强预测力的关键特征。 此外,还可以采用一些无监督学习的方法,例如主成分分析(PCA)或自动编码器(Auto-Encoder),来提取更高层次的抽象知识,为后续的有监督学习提供一个比原始特征空间更好的起点[^4]。 ```python # 示例代码:使用sklearn实现简单的线性回归并演示如何通过调整多项式特征来控制过拟合/拟合 from sklearn.preprocessing import PolynomialFeatures from sklearn.linear_model import LinearRegression from sklearn.pipeline import make_pipeline def polynomial_regression(degree=2, **kwargs): return make_pipeline( PolynomialFeatures(degree), LinearRegression(**kwargs) ) # 创建一个二次多项式回归模型 model = polynomial_regression(2) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值