机器学习—误差分析

ops/2024/11/20 7:41:31/

帮助运行诊断的最重要的方法是选择下一步要尝试的内容,提高你的学习算法性能,偏差和方差可能是最重要的想法,然后是错误分析

假设Mcv=500,即有500个交叉验证示例,你的算法错误的分类了100个,错误分析过程只是指手动查看这100个例子,试图洞察算法哪里出了问题,首先找到一组算法错误分类的示例,来自交叉验证集的示例,把它们分成共同的主题、共同的属性或共同的特征,例如,如果你注意到相当多的错误分类垃圾邮件是药品销售,试图出售药品,通过这些例子用手数数,有多少错误分类的电子邮件是药品垃圾邮件,有两封,一封电子邮件药品垃圾邮件和你怀疑故意拼写错误可能会绊倒垃圾邮件分类器,数一数有多少错误分类的例子,故意拼写错误,假设我找到了100个中的3个,浏览电子邮件路由信息,发现7号有不寻常的电子邮件路由,18号是试图窃取密码或网络钓鱼电子邮件的电子邮件,垃圾邮件有时也代替在电子邮件正文中写垃圾邮件,相反,它们创建了一个图像,然后将垃圾信息写在电子邮件中出现的图像中,这让它变得有点难,对于一个学习算法来说,所以也许其中一些电子邮件是这些嵌入式图像垃圾邮件,如果最终得到这些计数,这就告意拼写错误诉你垃圾邮件以及试图窃取密码或网络钓鱼电子邮件的电子邮件似乎是个大问题,而故意拼写错误虽然是个问题,它是一个较小的,尤其是,这个分析告诉你的是,即使你要建立非常复杂的算法找出,它只能解决你100个错误分类的例子中的3个,因此,净影响似乎没有那么大,不意味着不值得去做,但是当你优先考虑做什么的时候,可能决定不将此作为高度优先事项。关于这个过程的注意事项,这些类别可能重叠,换句话说,它们并不相互排斥,例如,可能有一个药品垃圾邮件也有不寻常的路由或者故意拼写错误的密码,同时还试图实施钓鱼袭击,所以一封电子邮件可分为多个类别,在这个例子中,算法错误的分类了100个例子,我们会手动查看100个例子,如果你有一个较大的交叉验证集,假设你有5000个交叉验证的例子,如果算法错误分类1000个,那可能没有时间,取决于团队的规模和你在这个项目上工作的时间,可能根本没有时间手动查看,在这种情况下,算法错误分类的1000个例子,通常会随机抽取大约100个,也许有几百个例子,因为这是你可以在合理时间内浏览的数量,大概有100个例子将为你提供关于最常见错误类型的足够统计数据,因此,最有效的方法是把你的注意力集中,所以在这个分析之后,如果发现很多错误是药品垃圾邮件,然后这可能会给你一些想法或灵感,让你下一步做什么,例如,你可能会决定收集更多的数据,但不是任何更多的数据,但试着找到更多关于药品垃圾邮件的数据,让学习算法更好的发挥作用,识别这些药品垃圾邮件,或者你可能会决定想出一些与特征相符的具体的名称,或者垃圾邮件发送者试图出售的药品的具体名称,为了帮助你的学习算法更好的识别这种类型的制药垃圾邮件,这可能会启发你对算法进行特定的更改,与检测网络钓鱼电子邮件有关,例如,你可以查看电子邮件中的UPL,并编写带有额外功能的特殊代码,查看是否链接到可疑的URL,或可能会决定获取更多网络钓鱼电子邮件的数据,特别是为了帮助学习算法而更好的识别它们,所以这个错误分析的重点是通过手动检查一组示例,你的算法被错误分类或错误标记,通常,这将为下一步可能有用的尝试创造灵感,有时它还可以告诉你某些类型的错误是足够罕见的,不值得花太多时间去修复。

所以回到这个列表,偏差方差分析应该告诉你,根据我们的错误分析,收集更多的数据是否有帮助,在示例中,看起来更复杂的电子邮件功能可能会有所帮助,但只有一点点,而更多的特征需要检测,垃圾邮件或网络钓鱼电子邮件可以帮助很多,这种检测拼写错误的方法也没有那么大的帮助。

总的来说,偏差方差诊断以及进行这种形式的误差分析,对筛选或决定模型的哪些变化更有希望下一步尝试,错误分析的一个局限性是,它更容易为人类擅长的问题,所以你可以看着电子邮件,说你认为这是一封垃圾邮件,算法为何出错,对于连人类都不擅长的任务,错误分析可能会有点困难,例如,如果你想预测,有人会在网络上点击哪些广告,我无法预测有人会点击什么,所以那里的误差分析实际上更困难,但是当你将错误分析应用于问题时,这对你把注意力集中在更有希望尝试的事情上是非常有帮助的。


http://www.ppmy.cn/ops/135182.html

相关文章

递归求二项式系数值

时间限制: 1s 类别: 递归->简单 问题描述 根据以下公式&#xff1a; 输入说明 输入两个整数k和n&#xff0c;输入的数据保证其结果在int表示时不会溢出。 输出说明 输出运算结果 #include<iostream> #include<string> #include<algorithm> using na…

11.15 机器学习-集成学习方法-随机森林

# 机器学习中有一种大类叫**集成学习**&#xff08;Ensemble Learning&#xff09;&#xff0c;集成学习的基本思想就是将多个分类器组合&#xff0c;从而实现一个预测效果更好的集成分类器。集成算法可以说从一方面验证了中国的一句老话&#xff1a; # 三个臭皮匠&#xff0c…

如何通过统计来反映工业新产业发展情况

工业战略性新兴产业对经济全局和长远发展具有重大引领带动作用&#xff0c;如何通过统计来反映工业新产业发展情况&#xff1f; 战略性新兴产业是以重大技术突破和重大发展需求为基础&#xff0c;对经济社会全局和长远发展具有重大引领带动作用&#xff0c;知识技术密集、物质…

使用 Keras 训练一个循环神经网络(RNN)

在前面的文章中&#xff0c;我们介绍了如何使用 Keras 训练全连接神经网络&#xff08;MLP&#xff09;和卷积神经网络&#xff08;CNN&#xff09;。本文将带你深入学习如何使用 Keras 构建和训练一个循环神经网络&#xff08;RNN&#xff09;&#xff0c;用于处理序列数据。我…

Ubuntu Linux使用前准备动作 安装vim编辑工具

Ubuntu Linux 默认没有安装 vim 工具&#xff0c;但它自带了一个简化版的 vi 编辑器。 vi 编辑器和 vim 编辑器有相似之处&#xff0c;不过 vim 功能更加强大&#xff0c;如语法高亮、多级撤销、代码补全等功能是 vim 独有的。如果需要使用 vim&#xff0c;可以通过系统自带的软…

[前端面试]HTML AND CSS

HTML html语义化标签的理解 是什么: 在布局页面的时候&#xff0c;根据内容的结构与含义&#xff0c;选择合适的带语义的html标签 如header&#xff0c;footer&#xff0c;nav&#xff0c;article&#xff0c;main&#xff0c;aside&#xff0c;h标签等 好处&#xff1a; 增…

高级java每日一道面试题-2024年11月12日-框架篇[SpringBoot篇]-SpringBoot中的监视器是什么?

如果有遗漏,评论区告诉我进行补充 面试官: SpringBoot中的监视器是什么? 我回答: 一、监视器的概念 在SpringBoot中&#xff0c;监视器是一种用于监视应用程序运行状态和性能的组件。它可以收集关于应用程序的各种指标和统计数据&#xff0c;并将其展示在一个可视化的仪表…

0x00基础算法 -- 0x06 倍增

资料来源&#xff1a;算法竞赛进阶指南活动 - AcWing 1、倍增 倍增&#xff1a;"成倍增长"&#xff0c;指进行递推时&#xff0c;如果状态空间很大&#xff0c;通常的线性递推无法满足时间和空间复杂度的要求&#xff0c;就可以通过成倍增长的方式&#xff0c;只递推…