TensorFlow之文本分类算法-6

news2024/9/23 7:28:45

1 前言

2 收集数据

3 探索数据

4 选择模型

5 准备数据

6 模型-构建训练评估

构建输出层

构建n-gram模型

构建序列模型

GloVe(英文全称是Global Vectors for Word Representation)是一个全球化的英语语境的单词表示的向量集,其使用非监督类型的机器学习算法生成(GloVe在后续章节中详细描述)。

IMDb数据集合与GloVe数据集合的来源不一样,因此,机器学习过程需要进行一些上下文环境的优化与调整才能在不同向量空间中实行相互融合,其调整步骤如下所示:

步骤1:

在第一次运行机器学习的过程中,先不使用嵌入层的向量空间参与学习,也就是,保持权重不变,其他层保持正常学习,在第一次运行机器学习过程中,让权重这些初始值先达到一个比较好的状态,在第二次运行机器学习的过程中,使用嵌入层的向量空间参与到整个神经网络的学习,第二次运行机器学习对整个神经网络的权重进行较好的调整,该过程被称之嵌入层的微调(小幅度的调优)。

步骤2:

步骤1的嵌入层的微调能够取得更好的准确度,但是该过程也大幅度地消耗更多的计算资源。实践证明,只要学习的样本足够多,使用其他的机器学习方式也能取得与嵌入层微调相同的准确度,其他机器学习方式能大幅度地降低计算资源的消耗。

监督型机器学习

监督型机器学习模型训练的数据包括两个部分,特征数据集(问题)以及每个特征对应的标签数据集(答案),该学习方式类似于从一系列的问题以及问题对应的答案中学习,通过机器学习之后,系统掌握了问题与答案之间的映射关系,并将这些问题与答案进行归类为某一个主题,当系统接收到全新的问题的时候,则从这些主题中寻找答案。

非监督型机器学习

非监督型机器学习模型训练的数据只包括一个部分,特征数据集,其学习的目的是从这些未被标签化的特征数据集中进行归类(聚类)于类似的分组。例如,对不同属性的音乐进行分类,然后,将分类所得的音乐集合推送给用户(推荐服务)。

半监督型机器学习

半监督型机器学习模型的数据包括两个部分,特征数据集以及一部分特征数据集对应的标签数据集,由于标签不全,需要通过机器学习推断其他未被标签化的特征数据集,标签推断完成之后,再进行全面的监督型机器学习。

实践证明,通过对比不同的序列化机器学习模型(CNN, sepCNN, RNN (LSTM & GRU), CNN-RNN),sepCNN(在后续章节中详细描述)模型是效率最高的模型,其学习表现比其他模型更加优秀,sepCNN模型(四层)的代码如下所示:

训练模型

训练模型是对前面章节中构建的模型进行训练,训练涉及到的步骤是根据模型的当前状态做出预测,计算预测的准确率,根据预测的准确率更新以及调整神经网络中的权重、参数,从而最小化模型预测的错误,最终使得构建的模型的预测更加准确,训练过程中不断重复这些预测与分析的过程,直到模型达到收敛的效果而结束训练模型的过程,该过程涉及到三个关键参数如下所示:

  •  统计数据(Metric),用于测量模型的表现的优秀程度,在机器学习中使用准确度作为统计数据。

  • 损失函数(Loss function),用于计算一个训练过程中的损失值,然后,调整神经网络的权重,最终,让损失值最小化,对于分类问题,使用交叉熵(cross-entropy)损失函数最适合。

  • 优化器(Optimizer),该函数用于根据损失函数的输出确定如何更新神经网络的权重,例如,Adam优化方法(在后续章节中详细描述)。

这些参数的对照信息如下所示:

如上所示,learning parameter是学习参数类型,Value是学习参数对应的名称。

在训练流程中,主要使用模型的fit函数,根据训练数据集的规模,训练的大部分计算时间都消耗在fit函数中。在训练过程的每次迭代中,从训练数据集中提取batch_size大小的数据样本进行训练,在该次迭代中,使用损失函数计算损失值,根据损失值更新神经网络中的权重值。在训练过程中,经过多次的迭代,训练数据集已经根据batch_size大小处理了所有的批次,则该次训练过程完成,该过程被称之为一次epoch。在每次epoch完成时,使用测试数据集验证该次epoch的训练效果如何,经过多次epoch的训练,验证的训练效果的准确度达标以及准确度达到稳定的状态,则停止训练。训练的超级参数如下所示:

如上所示,Training hyperparameter是超级参数的名称,Value是超级参数对应的值。

Keras技术框架使用前面所述的调优参数以及超级参数的代码如下所示:

7 参数调优

机器学习过程中需要根据实际的需求为模型选择一些超级参数用于定义以及训练。这些参数调整建议如下所示:

模型的层数(Number of layers in the model

神经网络的层数决定其复杂度,层数太多则容易产生训练过多而过度拟合,层数太少则容易产生训练不足,对于MLPs类型的文本分类模型,层数保持在1层、2层、3层,有些场景用2层最合适,对于sepCNNs类型的文本分类模型,层数保持在4层、6层,有些场景用4层最合适

每层的单元数(Number of units per layer

单元是用于数据样本的信息转换,第一层的单元数是由特征数确定,随后的层的单元数是由前一层的输出、具体的扩展或者具体的收缩而确定,为了最小化每层信息在转换过程中信息的丢失,单元数保持的建议值是[8, 16, 32, 64],其中32或者64的单元数表现更优秀

删除比率(Dropout rate

该处理层是用于防止过度拟合,删除一部分比较随机的特征数据,建议范围是0.2–0.5

学习速率(Learning rate

该参数主要用于在多次迭代之间的权重值的变化的速率,保持低学习速率是比较好的设置,但是模型会执行更多的迭代,建议设置值是1e-4,如果训练过程非常缓慢,则建议提升该设置值,如果模型不训练,则建议降低该设置值

sepCNN模型涉及到的超级参数的调整如下所示:

核心大小(Kernel size

卷积的窗口大小,建议值是3或者5   

嵌入层的维度(Embedding dimensions

用于标识嵌入向量空间的大小,每个单词的向量集合的大小,建议值是50–300,GloVe类型的嵌入向量空间的大小,建议值是200

8 部署模型

将训练好模型部署到具体的运行环境中,运行环境包括公用云、私有云、容器云。具体部署方式参考云计算提供商的环境部署说明。

(未完待续)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新变化新营销 这些知识点你得 Get!(文末有 PPT 福利首次放送)

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 在刚刚结束的第 7 期火山引擎数智平台 VeDI「增长课堂」上,火山引擎数智平台 VeDI 零售行业解决方案、汽车行业解决方案团队,以及慢慢买平台…

LM2903VQPWRQ1比较器 LM73C0QDDCRQ1传感器的中文资料

1、LM2903-Q1双路差分比较器包含两个独立的电压比较器,这些比较器可在宽电压范围内由单电源供电运行。如果两个电源之间的电压差在2V至36V且VCC比输入共模电压至少高1.5V以上,那么它们也可以由双电源供电运行。电流消耗不受电源电压的影响。可将输出连接…

一文带你深入理解【Java基础】· Java集合(下)

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

Pikachu靶场全关攻略(超详细!)

一、靶场搭建 准备工具 phpstudy**pikachu靶场下载地址:**https://github.com/zhuifengshaonianhanlu/pikachu 搭建过程 将靶场文件夹放到phpstudy的www目录 进入pikach文件夹的inc目录,修改靶场配置文件config.inc.php,设置数据库账号密…

Ubuntu 安装 Zotero, 并导入原有数据库,然后同步账户

文章目录写在前面一、下载 Linux 下的 Zotero二、安装Zotero三、导入自己的数据库三、同步账户参考链接写在前面 发文时间:2022.12.03 自己的系统是Ubuntu20.04.5,Zotero 是 Zotero-6.0.18_linux-x86_64.tar.bz2 一、下载 Linux 下的 Zotero 直接登录…

魔兽世界开服教程——魔兽世界服务器架设全攻略---战网+Ladder排行版

需要用到的软件: 1. WAMP5 v1.7.exe (这个是为排行榜提供数据库服务,为Mysql数据库) 2.PvPGN-1.8.2-0-Win32-MySQL-5.0.45-BIN.zip PvPGN-1.8.2-0-Win32-SQLite-3.5.1-BIN.zip (这三个是战网主文件) pvpgn-…

使用dos命令符操作,感光屏绘图,ccd摄像头采集图像,并按程序进行机械加工的计算机

使用dos命令符操作,感光屏绘图,ccd摄像头采集图像,并按程序进行机械加工的计算机 使用dos命令符操作,感光屏绘图,ccd摄像头采集图像,并按程序进行机械加工的计算机是一种可以按照dos命令符复制磁带程序&…

yolov1算法思想流程简单讲解概述————(究极简单的讲述和理解)

在我想学习算法的时候,我看某些大佬特别喜欢上来就讲论文,给我搞的贼难受,毕竟本人太辣鸡了,上来这么搞看不懂,经过诸多算法的这样折磨。我打算根据自己的亲身经历和学习过程中遇到的问题出一期,先讲算法整…

智能优化算法(源码)—蜣螂优化算法(Dung beetle optimizer,DBO)

获取更多资讯,赶快关注上面的公众号吧! 文章目录启发数学模型滚球跳舞繁殖觅食偷窃伪代码2022年11月27日,东华大学沈波教授团队,继麻雀搜索算法之后,又提出了一种全新的群体智能优化算法——蜣螂优化(Dung …

功率信号源在超声波及智能骨料损伤监测中的应用

实验名称:超声波及智能骨料损伤监测原理 研究方向:无损检测、损伤定位 实验原理:换能器所产生的高频信号在介质中传播遇到裂缝、空洞等缺陷产生反射、折射、绕射等现象到达接收端时大量衰减,声学参量发生一定的变化,基…

ABAP学习笔记之——第七章:ABAP数据字典

一、数据字典 在 ABAP 程序里使用的所有对象 (表、视图、结构体、类型等)统称为 ABAP 数据字典。这些对象的信息叫 Metadata 或者 Data Definition,另外,ABAP 数据字典有定义和管理数据结构,集中管理系统中使用的对象的功能。 数据字典类型&…

Spring框架(五):SpringAop底层原理和注解配置

SpringAop底层原理和注解配置引子Aop简介利用Aop原理实现一个Demo(代理模式)Aop的xml方式实现Aop的注解方式实现总结引子 痛定思痛,主要问题出现在自己雀氏不熟悉框架底层、一些面试题,以及sql的一些情况淡忘了。 本章节的开始是…

[附源码]计算机毕业设计学生疫情防控信息填报系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【信号去噪】基于变分贝叶斯卡尔曼滤波器实现信号滤波附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

安卓APP源码和设计报告——智能垃圾桶

课程名称: 移动互联网应用开发 实验名称: 姓名/学号: 专业/班级: 指导教师: 实验时间: 一、案例功能需求 该系统是了解垃圾分类以及物品查询属于哪类垃圾的智能化APP。该系统可以实现用户登陆注册&a…

[附源码]计算机毕业设计JAVA校园摄影爱好者交流网站

[附源码]计算机毕业设计JAVA校园摄影爱好者交流网站 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM …

Web大学生网页作业成品 基于HTML+CSS+JavaScript个人简历介绍 学生个人网站作业设计代做 学生个人网页设计作品

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

【历史上的今天】12 月 3 日:世界上第一条短信;Fortran 语言之父诞生;百度贴吧上线

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2022 年 12 月 3 日,在 21 年前的今天,电动平衡车(Segway)问世;电动平衡车是一种电力驱动、具有自我平衡能力…

教师教学质量评价管理系统(ASP.net+SqlServer)

目录 摘 要 I Abstract II 目录 III 第一章 引言 1 1.1 课题的背景和意义 1 1.2 教学质量评价信息系统的发展 1 1.2.1 国外主要教育评价方法 1 1.2.2我国高校教师教学评价的发展 2 第二章 开发技术简介 3 2.1 .NET框架简介 3 2.2 ASP.NET简介 4 2.3 SQL Server 2008数据库 5 第…

Cinema 4D初学者终极指南

Cinema 4D初学者终极指南 通过此 Cinema 4D 课程将您的设计技能提升到一个新的水平,进入 3rd Dimension 课程英文名:Cinema 4D Masterclass The Ultimate Guide for Beginners 此视频教程共5.0小时,中英双语字幕,画质清晰无水印…