热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

[机器学习]谈谈正则化

根据奥卡姆剃刀定律,或许我们可以通过降低复杂模型的复杂度来防止过拟合,这种原则称为正则化1.过拟合直接拿网上的图来说明过拟合图一欠拟合,图二是符合预期,图三过拟合机器学习的模型是希

根据奥卡姆剃刀定律,或许我们可以通过降低复杂模型的复杂度来防止过拟合,这种原则称为正则化1.过拟合

直接拿网上的图来说明过拟合

《[机器学习]谈谈正则化》

图一欠拟合,图二是符合预期,图三过拟合
机器学习的模型是希望有良好的泛化效果,图三的训练结果太贴合训练集,就会导致后面基于新数据的预测会不准确。

2.解决过拟合问题

我们怎么解决这个过拟合的情况,根据奥卡姆剃刀定律(机器学习模型越简单,良好的实证结果就越有可能不仅仅基于样本的特性),所以我们希望模型需要更简单。
也就是说,模型训练并非只是以最小化损失(经验风险最小化)为目标,而是以最小(损失+模型复杂)为目标,这也称为结构风险最小化:
minimize(Loss(Data|Model)+complexity(Model))
好了,这里专家们出现了,定义:Loss(Data|Model)为损失项,complexity(Model)为正则化项,衡量模型复杂度。
上图的数据公式为:
f(x)=w0x0+w1x1+w2x2+…+wnxn
减少模型复杂度,减少特征(x)数量就可以。这里就需要介绍0、1、2范数了。

3. 0、1、2范数

0范数,向量中非零元素的个数。
1范数,为绝对值之和。
2范数,就是通常意义上的模。
这里看0范数很符合我们的要求,非零元素的个数少,模型就简单。
但是0范数比较恶心,是个NP-hard问题。同时1范数是0范数的最优凸近似
minimize(Loss(Data|Model)+lambda|W|1 )

L2范数就是指向量各元素的平方和然后求平方根。我们让L2范数的正则项||W||2最小,可以使得W的每个元素都很小,都接近于0,但与L1范数不同,它不会让它等于0,而是接近于0。

总结

a、1范数和0范数可以实现稀疏,可以来筛选特征。
b、2范式主要在不减少特征的情况解决过拟合。


推荐阅读
author-avatar
章胜一首简单的歌_192
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有