TensorFlow之文本分类算法-4

news2025/1/18 7:25:18

1 前言

2 收集数据

3 探索数据

4 选择模型

5 准备数据

6 模型-构建训练评估

机器学习主要包括模型构建、模型训练、模型评估,在选择模型章节中已经对如何根据S/W的比率进行模型的选择,其包括n-gram模型或者序列模型,本章节内容主要描述如何运行分类算法进行模型训练,这也是机器学习的核心内容,主要是使用TensorFlow的tf.keras技术框架实现。

Keras技术框架实现机器学习的主要流程是如何组装神经网络的分层,也就是,其对应数据处理的分块,该过程类似于堆积积木或者堆积砖块,使用这些分层可以指定输入数据的转换顺序,该机器学习模型适用的场景是输入单一文本以及输出单一分类,数据处理过程是一个分层的线性栈,使用Keras的序列模型(Sequential model)实现。

如上所示,Input layer是输入层,Hidden layer是中间层,输入层与中间层实现的数据处理的逻辑是由所选择的n-gram模型或者序列模型确定,而Output layer是输出层,主要是输出分类。

构建输出层

输出层是最后一层,也就是对中间层的输出进行分类,包括两种分类法,二元分类法以及多元分类法,二元分类法对应的类别数是2,多元分类法对应的类别数大于2。

二元分类

例如,二元分类法,只输出一个可能的分数,如果输出是0.2,表示当前输入的数据样本的20%置信度(可能性)属于类别1,数据样本的80%置信度(可能性)属于类别2,总分数等于1。二元分类法使用sigmoid函数作为激活函数。二元分类的演进过程如下所示:

如上所示,从左到右,输出层使用激活函数sigmoid计算分数并输出0.14,根据置信度0.14进行二元分类,输出分数小于0.5,则数据样本是属于类别2。该函数是在神经网络机器学习中用于学习特征与标签之间的非线性关系,被称之为激活函数,比较常用的激活函数包括ReLU或者Sigmoid,其描述如下所示:

ReLU

该函数的图形总是大于一条直线,如下图所示,其中包括两条直线:

Sigmoid

该函数的图形如下所示,对输入的数据集合实现输出值收敛,也被称之为收敛函数,如下所示,其输出的收敛范围在0与1之间:

在一个神经网络中,激活函数是用于操作一个神经元的所有输入的权重和,也就是,对于一个神经元的每个输入值,将输入值与其对应的权重计算后再取和,得出权重和,最后使用激活函数处理权重和,得出收敛值。

假设,存在以下的输入值:

其计算过程如下所示:

如上所示,将每个输入的值与其对应的权重值相乘再逐一相加,最后得出权重和。

假设,一个神经网络中使用sigmoid作为激活函数,则如上所示的例子中,对应的神经元使用sigmoid函数计算-0.2,其得出的近似值等于0.12。因此,该神经元将输出0.12到下一层神经网络中作为输入,其对应的演进过程如下所示:

多元分类

当分类数大于2,则属于多元分类,模型将为每个分类输出一个分数,所有分数之和等于1。例如,激活函数的输出结果是{0: 0.2, 1: 0.7, 2: 0.1},则表示当前输入的数据样本的20%置信度(可能性)是属于类别1,数据样本中的70%置信度(可能性)是属于类别2,数据样本的10%置信度(可能性)是属于类别3。多元分类的激活函数是softmax,多元分类的演进过程如下所示:

如上所示,从左到右,输出层使用激活函数softmax计算分数并输出多元分类每个类别的置信度(可能性),当前数据样本的1%置信度(可能性)是属于类别1,数据样本的14%置信度(可能性)是属于类别2,数据样本的85%置信度(可能性)是属于类别3。

Softmax

该函数应用于多元分类中计算并确定每个分类的可能性(置信度),每个分类的可能性的总和等于1。例如,如下所示是使用softmax函数计算输入所得输出的可能性,其总和等于1:

如上所示,使用softmax函数计算输入的数据样本,确定图片的内容是属于哪一类的动物,数据样本的85%置信度(可能性)是属于狗,数据样本的13%置信度(可能性)是属于猫,数据样本的2%置信度(可能性)是属于马。

Softmax函数对应的方程式如下所示:

如上所示,方程式的参数说明如下所示:

  • 等式左边是输出的向量集合,向量集合中的每个输出元素表示每个输入元素的可能性,向量集合中所有元素之和等于1,输出元素的总数等于输入元素的总数。

  • z是输入的向量集合,每个输入元素对应一个浮点类型的数值。

  • K是输入向量集合的总数(也是输出向量集合的总数)。

假设,输入的向量集合如下所示:

使用输入的向量集合计算softmax方程式的分母如下所示:

使用输入的向量集合计算softmax方程式对应的每个输入元素的可能性如下所示:

由以上的计算输出向量集合如下所示:

如上所示,输出向量集合的和等于1。

如下所示,代码逻辑表示根据分类的个数返回合适的层单元数量、以及合适的激活函数:

根据前面章节的描述,文本分类算法主要包括两类,包括n-gram模型、以及序列模型。当S/W的比率较小,则使用n-gram模型,当S/W的比率较大,则使用序列模型。当数据样本包括大量小而且稠密的数据集合,则序列模型的表现更佳,在序列模型的学习过程中,嵌入特征关系的向量集合,实践证明,序列模型在大量数据样本的学习过程中表现得比其他模型更加优秀。

构建n-gram模型

根据前面章节的描述,n-gram模型是独立地处理分词,与原文中的单词顺序不相关。简单的多层神经感知(逻辑回归)、梯度推进机、支持向量机,这些都属于n-gram类型,这些模型利用的信息与原文的顺序无关。

(未完待续)

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

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

相关文章

LeetCode-813-最大平均值和的分组

1、动态规划法 我们可以利用数组dp[i][j]dp[i][j]dp[i][j]来表示我们将数组中区间[0,i−1][0,i-1][0,i−1]的元素分为jjj组的平均值的总和。因此我们可以得到状态转化方程如下:{dp[i][j]∑r0i−1nums[r]i,j1dp[i][j]maxx≥j−1(dp[x][j−1]∑rxi−1nums[r]i−x),j&…

计算机五大部件是指什么

计算机五大部件: 计算机硬件系统由运算器、控制器、存储器(内外存储器)、输入设备和输出设备五部分组成。 1、控制器:控制器就是一个系统中枢,控制计算机如何运行、运转的基本单元。 每一个运算器都需一个单独的控制…

D-016 JTAG硬件电路设计

JTAG硬件电路设计1 简介1.1 JTAG分类1.2 ARM调试器2 设计要点3 电路实战3.1 Xilinx3.2 ALTERA ------USB blaster1 简介 JTAG(Join Test Action Group)的中文名称为联合测试工作组,是一种国际标准测试协议,主要用于芯片内部测试:验证设计和P…

Ubuntu16.04 完整版 Gym 安装及说明

Ubuntu16.04 完整版 Gym 安装及说明1. 安装前言2. Gym 开发环境说明3. 完整版 Gym 的安装3.1 Anaconda 创建虚拟环境3.2 安装 gym[box2d]3.2.1 采用官方 GitHub 教程进行安装的报错及解决方案3.2.2 采用 Anaconda 进行安装3.2.3 测试能否成功运行 LunarLander-v2 环境3.3 安装 …

【一文秒懂——YAML配置文件】

目录 1. YAML配置文件 2. 实例 2.1 将原application.properties改为application.yml: 2.2 将原application-dev.properties改为application-dev.yml: 1. YAML配置文件 在Spring Boot项目中,还可以使用YAML配置文件,这是一种使…

一文搞懂漏洞严重程度分析

漏洞的级别定义主要从两个维度进行判断; 1、可利用性 2、影响性 可利用性指标 可利用性指标组刻画脆弱性组件(即包含漏洞的事物)的特征,反映漏洞利用的难易程度和技术要求等。可利用性指标组包含四个指标,分别是攻击…

最新阿里云GPU服务器租用配置费用价格表出炉(多配置报价)

阿里云GPU服务器优惠3折GPU云服务器vgn6i优惠价469.46元/月起,GPU云服务器gn6i和GPU云服务器gn6v均有活动,NVIDIA T4及V100均有活动,主机教程网 来详细说下阿里云GPU云服务器收费标准价格表,再来说说GPU云服务器计费模式&#xff…

Python学习笔记(十八)——Pandas进阶

文章主要内容文件操作: • 文件读取: read_csv(csv),read_table(表格),read_excl(excel) • 文件写入:to_csv, to_excel 数据清洗: • 处理缺失值:isnull(识别), dropna (过滤), fillna(填充) • 数据转换:drop_duplic…

MVCC多版本并发控制

目录 1、数据库并发场景 2、当前读和快照读 3、MVCC的隔离级别 4、实现原理 4.1、隐藏字段 ​​​​​​​4.2、Undo_log(版本链) 4.3、Read View(读视图) 4.4、RC、RR隔离级别下的快照读有什么区别 MVCC,多版…

文献认证!Kamiya艾美捷抗酒石酸酸性磷酸酶TRAP染色试剂盒

人类及动物体骨组织不断地进行着重建,骨重建过程包括骨的分解吸收与新骨的形成。破骨细胞(Osteoclast,OC)负责骨分解与吸收,而成骨细胞(osteoblast,OB)负责新骨形成。破骨细胞贴附在…

【WAX链游】发布一个免费开源的MiningNetwork合约脚本BTK

前言 挖矿网络(Mining Network)官网: https://miningnetwork.io 挖矿网络(Mining Network)合约脚本:https://github.com/encoderlee/MiningNetworkBot 回顾之前我们推出过的免费开源链游脚本&#xff1a…

【React技术】JSX在企业级项目的运用and一个元素渲染demo

JSX 它被称为JSX,是JavaScript的语法扩展。我们建议在React中使用JSX。JSX可以很好地描述UI应该呈现它应该具有的基本交互形式。JSX可能会让人想起模板语言,但它具有JavaScript的所有功能。 const element = <h1>Hello, world!</h1>;React认为渲染逻辑与其他UI…

红眼睛红外成像微型成像仪快速刷新与动态显示温度测量

默认参数下&#xff0c;设备的温度测量和数据输出频率为每秒 4Hz&#xff0c;这一输出速率基本可以保证所有计 算机和手机都能够正常显示实时画面&#xff0c;但导致的问题是实时画面有卡顿的感觉。数据的处理速度与 计算机和手机的配置高低有直接关系&#xff0c;下面仅以…

VScode 基础使用教程

VScode 的安装以及使用基础&#xff08;C配置&#xff09; 奉上VScode安装物资 VScode 的安装 进入VScode官网&#xff0c;点击 Download for windows 即可得到安装包&#xff0c;运行即可。 编译器G的配置 下载 MinGW&#xff0c;将其保存至任意磁盘中&#xff08;下面默认C…

在 Navicat 中执行数据库范围搜索

无论你选择的数据库是 MySQL、MariaDB、SQL Server、Oracle 和 PostgreSQL&#xff0c;还是基于云的服务&#xff0c;如 Amazon RDS、Amazon Aurora、Amazon Redshift、SQL Azure、Oracle Cloud 和 Google Cloud&#xff0c;你都将不可避免地要寻找一些你不知道位置的数据。在这…

简单3步轻松搭建个人博客

对于计算机专业的学生&#xff0c;课余时间最有价值的事莫过于写技术博客了。我们可以通过博客记录生活经历、学习过程、技术成长&#xff0c;同时博客还能树立个人品牌&#xff0c;结识更多兴趣相投的人。 从计算机技术角度而言&#xff0c;博客的搭建及维护会让你的技术不断…

猴子也能学会的jQuery——总结习题

&#x1f4da;系列文章—目录&#x1f525; 猴子也能学会的jQuery第一期——什么是jQuery 猴子也能学会的jQuery第二期——引用jQuery 猴子也能学会的jQuery第三期——使用jQuery 猴子也能学会的jQuery第四期——jQuery选择器大全 猴子也能学会的jQuery第五期——jQuery样式操作…

字符串压缩(三)之短字符串压缩

一、通用算法的短字符压缩 开门见山&#xff0c;我们使用一段比较短的文本&#xff1a;Narrator: It is raining today. So, Peppa and George cannot play outside.Peppa: Daddy, its stopped raining. 使用ZSTD与LZ4分别压缩一下上面这段短文本。下面分别是它们的压缩结果。…

良好基本面引领发展,中国春来将聚势而强?

2022年&#xff0c;是一个挑战与机遇共存的年份。 一方面&#xff0c;作为“双减”、《民促法实施条例》落地执行的第一年&#xff0c;转型难题困扰着广大K12教培企业。另一方面&#xff0c;职业教育、教育信息化利好政策频出&#xff0c;不少从业者藉此打开局面、柳暗花明。 …

[附源码]Python计算机毕业设计Djangospringboot作业管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…