一眼看透机器学习中的欠拟合(Underfitting)和过拟合(Overfitting)

第一篇文章没有漂亮的开场白,想到哪就写哪,只因发现一个特别有趣的东西而已。

众所周知,无论是学术界还是产业界,人工智能乃当下大热,而机器学习作为其中的重要分支,亦是热中之热,重中之重。

而在完整的机器学习过程(Pipeline)中(后续有空再分享pipeline中的各个关键环节),模型训练(model training)为关键步骤之一。在特定应用场景下,有了合适的模型,预测准确度(accuracy)才能有保证。

然而,合适的模型总会被两个问题所干扰,一个是过拟合(overfitting),一个是欠拟合(underfitting),尤其是过拟合。


接下来直接上图文干货,请跟着我的节奏来,可以看到如下效果


  • 受监督的机器学习 (Supervised Learning) 中的回归 (Regression)分类(Classification)模型。

  • 因模型复杂度变化,如简单线性或复杂非线性,而导致模型 (Model)的变化。

  • 因数据的变化,如增加正常数据或极端数据,而导致模型 (Model)的变化。

展示效果图包含如下场景:

模型复杂度
回归模型 分类模型
增加正常数据 增加极端数据
简单线性
1.1
2.1
/
/

一元二次/

二元二次

1.2
2.2 / Try on 1.2 2.2

一元三次/

二元三

1.3 2.3 / /

一元四次/

二元四

1.4 2.4 / /

一元五次/

二元五次

1.5 2.5 Try on 1.5, 2.5 /

一元六次/

二元六次

1.6 2.6 / /


  • 先看回归 (Regression)模型因数据和模型复杂度的变化会如何变化。


初始化图如下,即回归问题(联想到实际应用比如房价的预测,可以将x假设为房屋的面积,y为房屋的价格,当然实际问题并没那么简单,这里简化问题,便于理解),所有实际数据点和理想的模型 (一元二次函数)的Plot如下。


其中蓝色为面积X,所对应房屋价格y。

红色虚线(模型曲线)即回归模型(Regression Model),回归问题的关键就是找该回归模型,并尽最大可能使得该曲线fit data,进而可以对新的数据X进行价格y的预测。


  1. 初始化Regression模型

    一眼看透机器学习中的欠拟合(Underfitting)和过拟合(Overfitting)


1.1 简单线性模型fit to data,很生硬的一条直线,与理想曲线随着x的变大,差别越来越大。Underfitting!

一眼看透机器学习中的欠拟合(Underfitting)和过拟合(Overfitting)




1.2 一元二次模型fit to data,蓝色曲线似乎完美匹配红色虚线理想模型Good Fit!

一眼看透机器学习中的欠拟合(Underfitting)和过拟合(Overfitting)


1.3 一元三次模型fit to data,变化不大,但蓝色曲线后半段有抬头迹象。Good Fit!

一眼看透机器学习中的欠拟合(Underfitting)和过拟合(Overfitting)

        


1.4 一元四次模型fit to data,依旧变化不大。Good Fit!

一眼看透机器学习中的欠拟合(Underfitting)和过拟合(Overfitting)

        


 1.5 一元五次模型fit to data,模型曲线无法继续矜持,开始扭秧歌了。Overfitting!

一眼看透机器学习中的欠拟合(Underfitting)和过拟合(Overfitting)


         

1.6 一元六次模型fit to data,随着多项、次方的增加,模型曲线扭秧歌的幅度将会越来越大,模型对真实数据的拟合度降低。Overfitting!

一眼看透机器学习中的欠拟合(Underfitting)和过拟合(Overfitting)


  • 我们再来看看分类 (Classification)问题。

2. 初始化Classification模型

该模型为典型的基于逻辑回归函数,用于分类的模型,实际应用比如基于西瓜的颜色(X0)和纹理(X1)判断该西瓜熟不熟,基于香蕉的颜色程度(X0 绿<->黄)和柔软度(X1软<->硬)判断香蕉熟不熟等等。

为了使该分类模型便于理解,以基于感性值和理性值,从而判断大脑是否能做正确决策,X0代表感性值,X1代表理性值。(这个例子纯粹是为了便于理解,而非存在于科学或实际应用当中,特此说明一下。)


其中红色代表正确决策点,而蓝色代表错误决策点。

红色虚线(模型曲线)即决策边界(Decision Boundary),分类问题的关键就是找该决策边界,并尽最大可能使得该曲线划分出红色与蓝色的数据区域,进而可以对新的数据(X0, X1)进行决策预测(Red or Blue)。



回到初始化Classification模型如下:


一眼看透机器学习中的欠拟合(Underfitting)和过拟合(Overfitting)


2.1 简单逻辑回归模型fit to data,似乎更像一条直线,与理想曲线差别很大。Underfitting!

一眼看透机器学习中的欠拟合(Underfitting)和过拟合(Overfitting)



2.2 二元二次多项式函数逻辑回归模型fit to data,与数据点匹配的看似不错。Good Fit!

一眼看透机器学习中的欠拟合(Underfitting)和过拟合(Overfitting)


2.3 二元三次多项式函数逻辑回归模型fit to data,这个决策曲线已经比较复杂了,为了匹配所有训练数据,边界划分过于复杂,训练后的模型一旦泛化(Model Generalization)至其他测试数据,将导致判断准确度下降。Overfitting!


一眼看透机器学习中的欠拟合(Underfitting)和过拟合(Overfitting)



2.4 二元四次多项式函数逻辑回归模型fit to data,这个决策曲线已经相当复杂了,Overfitting!

一眼看透机器学习中的欠拟合(Underfitting)和过拟合(Overfitting)


2.5 二元五次多项式函数逻辑回归模型fit to data,这个决策曲线已经非常复杂了,Overfitting!

一眼看透机器学习中的欠拟合(Underfitting)和过拟合(Overfitting)


2.5 二元六次多项式函数逻辑回归模型fit to data,这个决策曲线同上,已经非常复杂,Overfitting!

一眼看透机器学习中的欠拟合(Underfitting)和过拟合(Overfitting)


以上,通过图形我们认识了Underfitting, Good fit and Overfitting

大致总结一下:

Underfitting通常因模型过于简单,无法拟合训练数据,模型无法很准确地基于训练数据进行预测(Cost Function过高),亦不能准确预测实际的测试数据。

Good fit:选择了适合的模型,很好地拟合了训练数据,模型高准确率地基于训练数据进行预测(或Cost Function全局最小),因此,可以将模型泛化预测实际的测试数据。


Overfitting:通常因模型过于复杂,很好甚至完美地拟合训练数据,模型极高准确率地基于训练数据进行预测(或Cost Function全局最小),然而,训练后的“完美”模型一旦基于实际测试数据进行预测,准确率大大降低!



  • 那么训练数据的增加又会对模型产生何种影响呢,积极还是消极?


结论先行吧:

倘若模型Underfitting,那么建议是在模型端着手,而非从数据端来改进。


如果模型Goodfit

若在Goodfit的模型下增加更多正常数据,对于提升模型的训练准确率和测试准确率都会更进一步,这也是为何常听到 数据量越大,预测越准确。


在Goodfit的模型下增加更多异常数据,比如越界(outlie)极端数据,那么对于模型的预测准确率会产生消极影响,这需要Data Exploration and Data pre-processing来处理。



那么如果模型Overfitting

增加更多正常数据,同样遵循 数据量越大,预测越准确。”,这可能需要大量的数据来对复杂模型进行训练,从而适当降低训练数据的预测准确率,提升测试数据的预测准确率。

通常来说,增加正常数据量只是方式之一,另外一种比较常见的手段就是采取Regularization,或者通俗地说就是降低所有特征的权重值(W0…Wn,在图形体现上就是把各种突出的地方拉平滑,就相当于更为简单的模型。


至于增加极端数据,无疑只会雪上加霜。

这篇文章就写到这,否则基本没有耐心看完了。


为了尊重原创,这里要Acknowledge一下Machine learning的大师 Andrew Ng,不同于2015年的Machine learning,该课程姿态更低,图文并茂,通俗易懂,令人印象深刻。

相关图形和数据来源于Coursera,Machine Learning Specialization中Course1 Week3 的Overfitting章节中Optional Lab,/notebooks/C1_W3_Lab08_Overfitting_Soln.ipynb。

有兴趣的同学可以学习:

https://www.coursera.org/specializations/machine-learning-introduction

原创文章,作者:门童靖博士,如若转载,请注明出处:https://www.agent-universe.cn/2022/07/12783.html

Like (0)
Previous 2022-06-13 17:13
Next 2022-07-15 15:39

相关推荐

  • 大模型日报(7月8日 学术篇)

    我们希望能够搭建一个AI学习社群,让大家能够学习到最前沿的知识,大家共建一个更好的社区生态。 「奇绩大模型日报」知识库现已登陆飞书官方社区: https://www.feishu.…

    2024-07-08
    268
  • 大模型日报(9月2日 学术篇)

    我们希望能够搭建一个AI学习社群,让大家能够学习到最前沿的知识,大家共建一个更好的社区生态。 「奇绩大模型日报」知识库现已登陆飞书官方社区: https://www.feishu.…

    2024-09-02
    275
  • 大模型日报(5月21日 学术篇)

    特别活动 我们希望能够搭建一个AI学习社群,让大家能够学习到最前沿的知识,大家共建一个更好的社区生态。如果想和我们空间站日报读者和创作团队有更多交流,欢迎扫码。 欢迎大家一起交流!…

    2024-05-21
    101
  • 大模型日报(4月15日 学术篇)

    欢迎观看大模型日报,如需进入大模型日报群和空间站请直接扫码。社群内除日报外还会第一时间分享大模型活动。 欢迎大家一起交流! 论文 01 OSWorld:在真实计算机环境中为开放式任…

    2024-04-15
    220
  • AI学术 | Research Rabbit 5分钟挖掘研究领域的文献和作者网络

    通过Research Rabbit (RR),只需要5分钟,即可快速挖掘和追踪你研究领域的文献和作者网络,最为关键的是,这个由AI驱动的工具,持续免费! 想象一下不断反复的场景,当…

    2023-07-03
    1.3K
  • 大模型日报(8月9日 学术篇)

    我们希望能够搭建一个AI学习社群,让大家能够学习到最前沿的知识,大家共建一个更好的社区生态。 「奇绩大模型日报」知识库现已登陆飞书官方社区: https://www.feishu.…

    2024-08-09
    198
  • #文献阅读 综述之数据集和机器学习在入侵检测系统(IDS)中的应用

    今天埋头完成了Introduction和Methodology两个部分,然后来回地检查句子,短语、单词和逻辑,终于脑子开始进入混沌状态,实在没办法,随手找了一篇文献来读读。(主要这…

    2022-08-02
    240
  • 大模型日报(6月25日 学术篇)

    我们希望能够搭建一个AI学习社群,让大家能够学习到最前沿的知识,大家共建一个更好的社区生态。 「奇绩大模型日报」知识库现已登陆飞书官方社区: https://www.feishu.…

    2024-06-25
    224
  • 关于ChatGPT写论文, 近期私信回复都在这~

    近期的很多朋友私信给我各类问题,在下无法一一回复,还望见谅~ 考虑到一般也就晚上有整块的时间能够处理,因此,就在这里统一答复大家,希望对大家能有所帮助! 1. 林同学等 关于Cha…

    2023-04-18
    190
  • 实战:ChatGPT一键成书,让你秒变作家!

    这是一款基于ChatGPT的名为 BookGPT的一款应用,用它就可以一键生成完整的一本书。没错!就是完整的一本书,让你秒变作家! 在百度的文心一言还在努力追赶OpenAI的Cha…

    2023-03-19
    182