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

(斯坦福机器学习课程笔记)正则化和机器学习应用的建议

正则化记得在logistic回归那一节课中,当时我对取似然函数

===================================正则化=======================
记得在logistic回归那一节课中,当时我对取似然函数 L(θ)=P(yi|xI;θ) 这一步是不理解的。因为我觉得优化函数应该是这样的: maxθP(θ|x,y) ,即给定训练集合 {x,y} 时,可能性最大的 θ

很幸运的是,这一节课解答了我的疑问。
因为

P(θ|x,y)=P(x,y|θ)P(θ)P(x,y)=P(y|x,θ)P(x)P(θ)P(y|x)P(x)=P(y|x,θ)P(θ)P(y|x)

其中调整 θ 不会改变 P(y|x)
因此
argmaxθ   P(θ|x,y)=argmaxθ   i=1mP(yi|xi,θ)P(θ)

可以看到,与logistic回归相比,优化函数仅仅多了一项 P(θ)
为了计算方便,一般会对连乘的优化函数取对数,即
argmaxθ   i=1mlogP(yi|xi,θ)+logP(θ)

先验概率 P(θ) 一般取高斯分布或拉普拉斯分布
高斯分布: 12πσexp((xμ)22σ2)
拉普拉斯分布: 12σexp(2σ|x|)

使用 N(0,σ2) 高斯分布时,用e做对数的底, logP(θ)=log12πσθ22σ2 ,在优化时,只有后一项起作用,即 θ22σ2=λθ2 ,称为2范数正则化。

使用拉普拉斯分布时,同样用e做对数的底, logP(θ)=log12σ2σ|θ| ,同样,在优化时,只有后一项起作用,即 2σ|θ|=λ|θ| ,称为1范数正则化。

加入期望值为0的高斯分布或者拉普拉斯分布作为先验概率,正则化要求参数尽可能接近0,使得部分的特征效果减弱,降低过拟合的风险。特别的,1范数还有使特征稀疏的效果。

===========================机器学习应用的建议==================
当我们的机器学习算法出现问题时,解决的一般思路是:

1 先看偏差是否达到我们的要求,如果偏差过大,则说明可能(1)模型弱了(2)目标函数不能反映真实的需求(3)优化方法有问题,如过早结束训练等

2 如果偏差达到了我们的要求,再看方差是否和偏差相近。如果偏差距离方差远,则说明可能,对于训练样本,模型过强。解决办法是(1)降低模型复杂度,但这有可能增大偏差(2)应用正则化(3)提前结束训练等

======================误差分析和消蚀分析============================
误差分析和消蚀分析和前面笔记中的特征分析方法很相似,特征分析方法是判断某个特征对模型能力的影响力的大小,从而剔除无用的特征,而误差分析和消蚀分析是判断机器学习某个步骤或某个组成部分对模型能力的影响力的大小,从而剔除无用的步骤或组成部分。算法的思路相似。

值得注意的是,跟特征分析方法相同,因为各个步骤或组成部分相互影响,因此误差分析和消蚀分析对选取步骤或组成部分的顺序敏感,需要多次实验。

=========================机器学习通用方法=======================
两种方法:
1 精心设计,慢工出细活。这种方法适用于对项目从头到尾都了然于胸的老手。

2quick and dirty 方法。先快速建立模型,然后通过一步步修改,得到最终的模型。对于一个又挑战性的项目,这种方法比较合适。

吴恩达说,他个人比较喜欢第二种方法。


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 分享2款网站程序源码/主题等后门检测工具
    本文介绍了2款用于检测网站程序源码和主题中是否存在后门的工具,分别是WebShellkiller和D盾_Web查杀。WebShellkiller是一款支持webshell和暗链扫描的工具,采用多重检测引擎和智能检测模型,能够更精准地检测出已知和未知的后门文件。D盾_Web查杀则使用自行研发的代码分析引擎,能够分析更为隐藏的WebShell后门行为。 ... [详细]
  • 词袋模型的通俗介绍
    词,袋, ... [详细]
  • 本文详细介绍了商汤科技面试中涉及的CV算法面经内容,包括CornerNet的介绍与CornerPooling的解决方案、Mimic知识蒸馏的实现方式、MobileNet的特点、普通卷积和DW PW卷积的计算量推导、Residual结构的来源等。同时还讨论了在人脸关键点和检测中的mimic实现方式、pose对人脸关键点的提升作用、目标检测中可能遇到的问题以及处理检测类别冲突的方法。此外,还涉及了对机器学习的了解程度和相似度分析的问题。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • MySQL多表数据库操作方法及子查询详解
    本文详细介绍了MySQL数据库的多表操作方法,包括增删改和单表查询,同时还解释了子查询的概念和用法。文章通过示例和步骤说明了如何进行数据的插入、删除和更新操作,以及如何执行单表查询和使用聚合函数进行统计。对于需要对MySQL数据库进行操作的读者来说,本文是一个非常实用的参考资料。 ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • 数据结构与算法的重要性及基本概念、存储结构和算法分析
    数据结构与算法在编程领域中的重要性不可忽视,无论从事何种岗位,都需要掌握数据结构和算法。本文介绍了数据结构与算法的基本概念、存储结构和算法分析。其中包括线性结构、树结构、图结构、栈、队列、串、查找、排序等内容。此外,还介绍了图论算法、贪婪算法、分治算法、动态规划、随机化算法和回溯算法等高级数据结构和算法。掌握这些知识对于提高编程能力、解决问题具有重要意义。 ... [详细]
author-avatar
PFwX代佳佳ZYYTHFQN
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有