【机器学习】041_模型开发迭代过程

一、模型开发的一般步骤

1. 明确研究问题

确定问题的组成和结果,明晰问题是分类问题还是回归问题

2. 决定系统总体架构

①理解数据:采集(爬取)数据,生成(导入)数据,进行数据清洗操作,包括数据预处理:缺失值处理、重复值处理、转换数据类型、规整字符串、进行数据归一化/标准化等。

②特征工程:对所采集的数据根据问题分析所采取的特征、确定所需的特征值,计算各个特征和标签的相关性,查看标签对应的相关系数,并根据相关系数的大小选择特征列作为模型输入。

③建立数据集:选取训练数据和测试数据的特征和标签,划分好训练数据集与测试数据集。

④构建神经网络:根据问题和输入设计好神经网络架构。

⑤选择算法:选择合适的机器学习算法,导入算法或自写算法。

⑥选择超参数:选择、初始化好计算过程里相应的超参数。

⑦训练模型:构建好模型,开始训练。

3. 模型评估

①对模型的预测结果进行相应的精度评估。

②对模型的精度、误差等进行相应的优化,采取对应的优化方案,例如扩大神经网络、进行正则化等等,不断循环进行,使模型的精度更高,预测结果更好。

文本分类实例:

· 构建分类器来识别垃圾邮件和非垃圾邮件

思路:

· 训练一个监督学习算法,输入特征x为电子邮件的相关特征,输出标签y为1或0,表示电子邮件是否是垃圾邮件。

· 取英语或其它词典中排名前10,000的单词(字词),并使用它们来定义特征x_1,x_2...x_10,000。

例如,对于右边的电子邮件,取单词表设置各单词的特征为0或1或其出现的具体次数。

给定这个单词表各单词出现频率或次数的特征值,可以训练分类算法在给定x的情况下预测y值。

· 获取数据方式例子:创建大量虚假电子邮件地址,故意交到垃圾邮件发送者手中,以期获得大量垃圾邮件数据。或者基于电子邮件路由开发更复杂的数据获取方式。

· 在检测特征值、提取特征单词表的过程中,从电子邮件正文里可提出更复杂的功能。

不同的检测算法、不同的特征值提取方式、不同的数据获取方式都可能导致最终结果和模型效果的不同。

二、开发过程中的模型诊断

错误分析:

假设有500条交叉验证实例,模型算法错误分类了500个实例的100个;

※需手动查看这100个错误实例,并深入了解算法出错的地方及可能原因。

· 从交叉验证集中找到一组算法错误分类的实例,并尝试把它们分组为共同的主题、共同的属性或共同的特征——找清楚导致分类错误所可能的原因。

· 例如,很多被错误分类的垃圾邮件是药品销售类别,那么实际上通过这些示例并手动计算此分类中有多少垃圾邮件是药品垃圾邮件,并估计药品垃圾邮件分类错误的原因;如果分类错误可能是由于拼写错误,那么也会检查计算错误分类的示例有多少个是拼写错误引起的。

· 如果错误分类的数据不仅仅有100个而是更大(例如10,000个),那么通常会抽取大约一定数目的子集,在这些子集上进行查看以确定错误分类数据的情况。

· 如果经过此分析,发现很多错误集中于某一类的示例,那么可能下一步的工作就是收集更多该类型的示例训练数据,或者润色与该类相关的特征值、添加新功能,或者修改优化对该类数据的分析算法。

通过学习曲线反映的偏差方差分析能够反映出模型的一些错误,以提供一些“开发更大神经网络”或“收集更多数据”的工作线索。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/234746.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Unity 实现单例模式

目录 基本概念 饿汉模式(推荐) 懒汉模式: 基本概念 单例模式:类只有一个实例,一般使用static来实现单例模式; 比如:有一个Test类,实现了单例,假设这个唯一的实例名为SingTonle,实例在类内被实现并被stat…

【KCC@南京】KCC南京“数字经济-开源行”活动回顾录

11月26日,由KCC南京、中科南京软件研究所、傲空间、PowerData联合主办的 KCC南京“数字经济-开源行” 的活动已圆满结束。此次活动,3 场主题研讨,11 场分享,现场参会人数 60,线上直播观看 3000,各地小伙伴从…

代码随想录刷题题Day9

刷题的第九天,希望自己能够不断坚持下去,迎来蜕变。😀😀😀 刷题语言:C / Python Day9 任务 ● 20. 有效的括号 ● 1047. 删除字符串中的所有相邻重复项 ● 150. 逆波兰表达式求值 1 有效的括号 代码随想录…

【设计模式--结构型--桥接模式】

设计模式--结构型--桥接模式 桥接(Bridge)模式定义结构案例好处使用场景 桥接(Bridge)模式 定义 将抽象与实现分离,使他们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个维…

轻量封装WebGPU渲染系统示例<46>- 材质组装管线(MaterialPipeline)灯光、阴影、雾以及多Pass(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/material/src/voxgpu/sample/MaterialPipelineMultiPasses.ts 当前示例运行效果: 此示例基于此渲染系统实现,当前示例TypeScript源码如下: export class MaterialPipelin…

MySQL行锁范围分析(行锁、间隙锁、临键锁)

MySQL 中锁的概念 排它锁(Exclusive Lock) X 锁,也称为写锁,若事务T对对象A加上X锁,则只允许T读取和修改A,其他任何事物都不能再对A 加任何锁,直到T释放A上的锁。 SELECT…FOR UPDATE 对读取的…

公务员国考省考小白需知

文章目录: 一:分类 1.国考 2.省考 二:必备途径 1.相关网站 1.1 官网 1.1.1 必须知道的 1.1.2 比较好用的 1.1.3 事业单位的 1.2 机构 ​​1.3 时事 ​​1.4 资源 1.5 题库 1.6 真题 ​2.相关公主号 3.应用 4.群聊如何找 三…

Jenkins参数化构建及代码发布

如何使用gitlab--web端可以观看此篇教程 https://blog.csdn.net/m0_59933574/article/details/134528050?spm1001.2014.3001.5502https://blog.csdn.net/m0_59933574/article/details/134528050?spm1001.2014.3001.5502 整体思路 依赖环境及工具 Git Centos7及以上 Gitla…

【数据结构高阶】红黑树

目录 一、红黑树的概念 二、红黑树的性质 2.1 红黑树与AVL树的比较 三、红黑树的实现 3.1 红黑树节点的定义 3.2 数据的插入 3.2.1 红黑树的调整思路 3.2.1.1 cur为红,f为红,g为黑,u存在且为红 3.2.1.2 cur为红,f为红&am…

php实现截取姓名中的第一个字作为头像的实战记录

php 截取中文字符串第一个字 substr 函数 在 PHP 中,使用 substr 函数来截取中文字符串的第一个字。由于 PHP 默认的字符编码是 UTF-8,它可以正确处理中文字符。 $chineseString "你好世界"; $firstChar substr($chineseString, 0, 1); e…

【小白专用】Apache2.4+PHP8.3+MYSQL的配置

1.下载PHP和Apache 1、PHP下载 PHP For Windows: Binaries and sources Releases 注意: 1.使用Apache作为服务器的话,一定要下载Thread Safe的,否则没有php8apache2_4.dll这个文件, 如果使用IIS的请下载 NON Tread safe的 2.如果…

简单聊聊使用lombok 的争议

大家好,我是G探险者。 项目里,因为我使用了Lombok插件,然后代码走查的时候被领导点名了。 我心想,这么好用的插件,为啥不推广呢,整天写那些烦人的setter,getter方法就不嫌烦么? 领导…

[足式机器人]Part4 南科大高等机器人控制课 Ch05 Instantaneous Velocity of Moving Frames

本文仅供学习使用 本文参考: B站:CLEAR_LAB 笔者带更新-运动学 课程主讲教师: Prof. Wei Zhang 南科大高等机器人控制课 Ch05 Instantaneous Velocity of Moving Frames 1.Instantanenous Velocity of Rotating Frames2.Instantanenous Veloc…

计算机视觉 基于Open3D了解用于网格和点云邻域分析的KD树和八叉树

一、简述 距离计算和邻域分析是理解网格和点云的形状、结构和特征的重要工具。我们这里要基于一些3D库来提取基于距离的信息并将其可视化。 与深度图或体素相比,点云和网格表示 3D 空间中的非结构化数据。点由它们的 (X, Y, Z) 坐标表示,在 3D 空间中可能彼此靠近的两…

Vue3:表格单元格内容由:图标+具体内容 构成

一、背景 在Vue3项目中,想让单元格的内容是由 :图标具体内容组成的,类似以下效果: 二、图标 Element-Plus 可以在Element-Plus里面找是否有符合需求的图标iconfont 如果Element-Plus里面没有符合需求的,也可以在这…

什么是缓存穿透、缓存击穿、缓存雪崩,以及各自的解决方案

什么是缓存穿透、缓存击穿、缓存雪崩 缓存雪崩 当缓存数据大面积失效,导致请求无法从缓存中拿到数据而是直接访问数据库。 缓存穿透 缓存穿透是指查询一个缓存中和数据库中都不存在的数据,导致每次查询这条数据都会透过缓存,直接查库&am…

C# Solidworks二次开发:三种获取SW设计结构树的方法-第一讲

今天要讲的方法是如何在Solidworks中获取左侧设计结构上的节点,获取节点的方法我所知道的有三种。 这三种方法满足我在使用过程的多种需求,下面先开始介绍第一个方法: 方法的API如下所示:GetComponents Method (IAssemblyDoc) 这…

安卓上比iOS快捷指令更强大的工具——MacroDroid

使用 MacroDroid (Android) 自动化您的日常生活——一个简单的自动化应用程序,用于在 Android 上自动执行任务以及如何在其上自动执行任务。 iOS 和 Android 之间的区别? iOS和Android是两种不同的移动操作系统,iOS由苹果公司开发,于2007年…

Hexo部署到云服务器后CSS样式无效的问题

Hexo部署到云服务器后CSS样式无效的问题 01 前言 趁活动入手了一个云服务器(Linux),打算简单挂个博客上去,因为之前部署到github有了一些经验,所以还是选择使用Hexo。中间步骤略,部署完使用浏览器访问的时…

(六)五种最新算法(SWO、COA、LSO、GRO、LO)求解无人机路径规划MATLAB

一、五种算法(SWO、COA、LSO、GRO、LO)简介 1、蜘蛛蜂优化算法SWO 蜘蛛蜂优化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为&…