机器学习基础之《回归与聚类算法(2)—欠拟合与过拟合》

一、背景

1、上一篇说正规方程的时候,实际情况中使用很少,主要原因它不能解决过拟合。

2、训练集上表现的好,测试集上表现不好---过拟合

二、欠拟合和过拟合

1、欠拟合

训练集:有3个训练集,告诉机器都是天鹅

机器学到了2个特征:有翅膀、嘴巴长

缺点:学习到的特征太少了

2、过拟合

之前特征太少了,那就多学点

缺点;学习到的特征太多了

3、分析

第一种情况:因为机器学习到的天鹅特征太少了,导致区分标准太粗糙,不能准确识别出天鹅。

第二种情况:机器已经基本能区别天鹅和其他动物了。然后,很不巧已有的天鹅图片全是白天鹅的,于是机器经过学习后,会认为天鹅的羽毛都是白的,以后看到羽毛是黑的天鹅就会认为那不是天鹅。

三、定义

1、欠拟合

一个假设在训练数据上不能获得更好的拟合,并且在测试数据集上也不能很好地拟合数据,此时认为这个假设出现了欠拟合的现象。(模型过于简单)

2、过拟合

一个假设在训练数据上能够获得比其他假设更好的拟合, 但是在测试数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合的现象。(模型过于复杂)

3、用图来表示这样一个过程

训练误差这一条线:随着不断地进行训练,损失值越来越少,模型复杂度越来越多

测试误差这一条线:一开始是误差随着模型复杂度越来越小,但是到一定程度之后(临界值),随着模型复杂度进一步增加,在测试集上误差会变大

在临界值左边的,欠拟合(训练集表现不好,测试集表现也不好)

在临界值右边的,过拟合(训练集表现好,测试集表现不好)

四、解决办法

1、欠拟合解决办法

原因:学习到数据的特征过少

解决办法:增加数据的特征数量

2、过拟合解决办法

原因:原始特征过多,存在一些嘈杂特征, 模型过于复杂是因为模型尝试去兼顾各个测试数据点

解决办法:正则化

3、在这里针对回归,我们选择了正则化。但是对于其他机器学习算法如分类算法来说也会出现这样的问题,除了一些算法本身作用之外(决策树、神经网络),我们更多的也是去自己做特征选择,包括之前说的删除、合并一些特征

4、在学习的时候,数据提供的特征有些影响模型复杂度或者这个特征的数据点异常较多,所以算法在学习的时候尽量减少这个特征的影响(甚至删除某个特征的影响),这就是正则化

5、注意:调整时候,算法并不知道某个特征影响,而是去调整参数得出优化的结果

五、正则化

1、L2正则化(更常用)

作用:可以使得模型中,模型参数W(权重系数),尽可能的接近于0,削弱某些特征的影响

优点:越小的参数,说明模型越简单,越简单的模型则越不容易产生过拟合现象

别名:Ridge回归(岭回归)

加入L2正则化后的损失函数:

损失函数 + λ * 惩罚项

(1)用【预测值】-【真实值】,然后求平方和,然后除以2m

(2)惩罚项是权重值平方,然后加在一起。第一个权重的平方加到最后一个权重的平方

(3)λ是惩罚的步长

(4)n为样本数,m为特征数

2、L1正则化

作用:可以使得其中一些W的值直接为0,删除这个特征的影响

别名:LASSO回归

加入L1正则化后的损失函数:

损失函数 + λ * 惩罚项

(1)惩罚项是W的绝对值加在一起

相关推荐
努力的小雨3 分钟前
从零开始学机器学习——网络应用
机器学习
凭栏落花侧3 小时前
决策树:简单易懂的预测模型
人工智能·算法·决策树·机器学习·信息可视化·数据挖掘·数据分析
吱吱鼠叔4 小时前
MATLAB计算与建模常见函数:5.曲线拟合
算法·机器学习·matlab
学步_技术10 小时前
自动驾驶系列—全面解析自动驾驶线控制动技术:智能驾驶的关键执行器
人工智能·机器学习·自动驾驶·线控系统·制动系统
大神薯条老师10 小时前
Python从入门到高手4.3节-掌握跳转控制语句
后端·爬虫·python·深度学习·机器学习·数据分析
_.Switch12 小时前
Python机器学习框架介绍和入门案例:Scikit-learn、TensorFlow与Keras、PyTorch
python·机器学习·架构·tensorflow·keras·scikit-learn
魔力之心12 小时前
人工智能与机器学习原理精解【30】
人工智能·机器学习
毕小宝14 小时前
逻辑回归(下): Sigmoid 函数的发展历史
算法·机器学习·逻辑回归
一水鉴天17 小时前
智能工厂的软件设计 作为“程序Program”的中台
运维·人工智能·机器学习·中间件
AI完全体17 小时前
【AI知识点】二项分布(Binomial Distribution)
人工智能·机器学习·数学建模·概率论·统计学·伯努利试验·离散概率分布