模型的状态(过拟合与欠拟合)

转自july算法班:

模型的状态分为过拟合和欠拟合

过拟合(overfitting/high variance) 高波动性

欠拟合(underfitting/high bias)  高偏差

模型的状态(过拟合与欠拟合)_第1张图片
模型的过拟合具有高波动性
模型的状态(过拟合与欠拟合)_第2张图片
知识图谱学习

比如给出一些样本点,需要在上面画画,第一张图毫无规律可寻,称为欠拟合。而中间图找出了一些样本点之间的关联性。最后一张图根据样本点画出了一只猫。我们称为过拟合。可以这样想,如果这些点只能画出猫是不是局限了我们想象力呢?难道不能画出一只仰头的兔子来吗?

所以我们要寻找的规律不是一种特殊的规律,而是一种普适的一般性的规律,它既对已知数据有较好的拟合对未知数据也没有较大的偏差性。

---模型状态验证工具:学习曲线

模型的状态(过拟合与欠拟合)_第3张图片
学习曲线

---不同模型状态的处理

---过拟合,找更多的数据来学习

---增大正则化系数

---减少特征个数(不太推荐)

注意:不要以为降维就可以解决过拟合的问题

----2. 欠拟合

-----找到更多特征

-----减小正则化系数


---线性模型的权重分析

----1.线性或者线性kernel的model

---Linear Regression

---Logistic Regression

---Linear SVM

------2. 对权重绝对值高/低的特征

---做更细化的工作

----特征组合

-----优化3之Bad-Case分析

1. 分类问题

----哪些样本分错了

----哪部分特征使得它分错了

----这些bad cases有没有共性?

-----是否还有没有挖掘出的特征

2. 回归问题

-----哪些样本预测结果差距大,为什么

------优化4之模型融合

1. 集体智慧

Bagging

随机森林

2. 一万小时定律

Adaboost(小学-初中-高中-大学-(硕士)-(博士))

梯度提升树(GBT)


Bagging

1. 模型很多时候效果不好的原因是因为过拟合

2. 如何缓解?

--每次少给一点样本集

---找不同的模型来做,然后综合一下答案(货比三家)

--算法:

1. 不用全部的数据集,每次有放回的抽取一个子集训练模型【可以降低噪声点对结果的影响】

2. 分类:用这些模型结果做一个vote

3. 回归:对这些模型的结果取平均


--用不同的算法:

用这些结果做vote或求平均

----AdaBoost

1.考得不好的原因?

---不够努力:重复迭代和训练

---时间分配要合理,要多做之前练习错的题:每次分配给分错的样本更高的权重

--不聪明,但是脚踏实地:最简单的分类器的叠加

模型的状态(过拟合与欠拟合)_第4张图片
Adaboost算法流程
模型的状态(过拟合与欠拟合)_第5张图片
AdaBoost模型权重相加

有可能会过拟合

解决:学习的时候不学所有的样本集和特征。减少树的深度

对错误值和噪声敏感

回归问题:GDT(梯度提升树)

模型的状态(过拟合与欠拟合)_第6张图片
梯度提升树(模型融合)

第二张图中所有绿色的点是红色的点对于粗糙的模型作差(残差)得到

不断地重复上述过程

模型的状态(过拟合与欠拟合)_第7张图片
提升得到

你可能感兴趣的:(模型的状态(过拟合与欠拟合))