机器学习入门(五)回归问题中的曲线过拟合问题及解决

目录

5 回归问题中的曲线过拟合问题及解决

5.1 过拟合问题介绍

5.1.1 线性回归中的曲线过拟合问题

5.1.2 逻辑回归中的曲线过拟合问题 

5.1.3 如何解决过拟合问题 

5.2 将参数正则化解决过拟合问题 

5.3 正则化线性回归 

5.3.1 代价函数

5.3.2 梯度下降法迭代θ 

5.3.3 正规方程求θ 

5.4 正则化逻辑回归  

5.4.1 代价函数

5.4.2  梯度下降法迭代θ 


5 回归问题中的曲线过拟合问题及解决

5.1 过拟合问题介绍

5.1.1 线性回归中的曲线过拟合问题

        我们还拿卖房子为例,对于(房面积,房价)的数据集,我们给出了如下三种曲线拟合方式。

        我们先来了解一组概念:方差与偏差

        偏差:(bias)是指一个模型的在不同训练集上的平均性能和最优模型的差异。偏差可以用来衡量一个模型的拟合能力。偏差越大,预测值平均性能越偏离最优模型。偏差衡量模型的预测能力,对象是一个在不同训练集上模型,形容这个模型平均性能对最优模型的预测能力。

        方差:( variance)描述的是一个模型在不同训练集上的差异,描述的是一个模型在不同训练集之间的差异,表示模型的泛化能力,方差越小,模型的泛化能力越强。可以用来衡量一个模型是否容易过拟合。预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,预测结果数据的分布越散。方差用于衡量一个模型在不同训练集之间的关系,和最优模型无关。对象是不同训练集上的一个模型,表示选取不同的训练集,得出的模型之间的差异性。

①左侧的拟合方式:存在高偏差(High bias)的问题,预测值平均性能越偏离最优模型。

②中侧的拟合方式:优秀的拟合方式

③右侧的拟合方式:存在高方差的问题,虽然在这个模型中代价函数可能很少,但是它的泛化能力很差,难以泛化...

5.1.2 逻辑回归中的曲线过拟合问题 

        左侧拟合高偏差;中间为优秀拟合;右侧为过拟合。 

5.1.3 如何解决过拟合问题 

        减少特征数量:手动选择要保留的特征;模型选择算法(后章介绍)

        正则化参数:保留所有特征,但减小参数的权值\theta_{j} ;当我们有很多特征时,效果很好,每个特征都对预测y有所贡献。

5.2 将参数正则化解决过拟合问题 

        如上图所示,左图是优秀拟合示例,右图蓝色是过拟合的示例,如果我们降低\theta_{3},\theta_{4}的权重(0.0000001),则可以得到紫色的优秀拟合示例。 

        在正则化线性回归中,我们选择\theta以最小化:

         那么我们如何选择参数\lambda呢?如果\lambda过大

①算法工作正常,设置\lambda非常大也无所谓。

②但算法无法消除过拟合

③算法导致欠拟合。(甚至无法很好地拟合训练数据)。

④梯度下降法无法收敛

        若设置\lambda过大最终拟合效果如上图:我们可以看到,曲线是欠拟合的....

5.3 正则化线性回归 

5.3.1 代价函数

\jmath (\theta ) = \frac{1}{2m} [\sum_{i=1}^{m}(h_{\theta}(x^{i})-y^{(i)})^{2} + \lambda \sum_{i=1}^{n}\theta_{j}^2]

         这里,m表示数据集的数量,n表示待拟合参数的数量。

5.3.2 梯度下降法迭代θ 

\theta_{j} :=\theta_{j}(1-\alpha \frac{\lambda }{m})-\alpha \frac{1 }{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})x_{j}^{(i)}

5.3.3 正规方程求θ 

        对于n个特征的待拟合线性回归方程

\theta = (X^TX + \lambda \begin{vmatrix} 0 &0 &0 &0 &0 & 0 &0 \\ 1&0 & 0 & 0 & 0 & 0 &0 \\ 0 & 1& 0 & 0 &0 &0 & 0\\ 0&0 & 1 & 0 & 0 &0 &0 \\ ...& ...& ... & ... & ... & ... & ...\\ ... &... & ... &... & ... & ...&... \\ 0&0 &0 & 0&0 &0 & 1 \end{vmatrix}^{-1})X^Ty

5.4 正则化逻辑回归  

5.4.1 代价函数

\jmath (\theta) = -\frac{1}{m}\begin{bmatrix} \sum_{i=1}^{m} ( y^{(i)}log(h_{\theta}(x^{(i)})) + (1-y^{(i)})log(1-h_{\theta}(x^{(i)})) \end{bmatrix} + \frac{\lambda }{2m}\sum_{j=1}^{n}\theta_{j}^{2}

5.4.2  梯度下降法迭代θ 

\theta_{j} := \theta_{j} - \alpha [\frac{1}{m}\sum_{i=1}^{m}(y^{(i)}logh_{\theta}(x^{(i)})-y^{(i)})x_{j}^{(i)} - \frac{\lambda }{m}\theta_{j}]

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

APS2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值