NLP09_机器学习、监督学习、模型搭建流程、朴素贝叶斯、系统评估、准确率,精确率召回率,F1-Measure

本文主要是介绍NLP09_机器学习、监督学习、模型搭建流程、朴素贝叶斯、系统评估、准确率,精确率召回率,F1-Measure,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于概率的系统

给定数据集,X代表特征信息,y代表标签
最终学习到x到y的映射关系f
模型f可以表示线性回归、逻辑回归、神经网络

nlp依赖于机器学习

机器学习

在这里插入图片描述

算法分类

监督学习,给定标签。无监督学习只有特征,没有标签
朴素贝叶斯:用于文本分类(垃圾邮件过滤,情感分析)上
逻辑回归:
CRF:
HMM:常用于语言识别
LDA:抽取文本主题
GMM:高斯回归模型
在这里插入图片描述

监督学习

在这里插入图片描述
在这里插入图片描述

无监督学习,

因为没有标签,也就不会产生f这样一个模型,所以更多的是做数据分析
比如将数据进行聚类分析
工业界主流还是监督学习。
K-means常用作聚类操作,占绝大多数聚类场景
PCA:根据协方差矩阵进行降维
MF:矩阵分解,最常用于推荐系统
LDA:用于文本分析,分析出主题
在这里插入图片描述

生成模型和判别模型

生成模型:已经训练好了模型,来生成文本或t图片。模型要记住猫和狗的特点,然后可以用于生成猫或狗的图片
判别模型:只记住猫和狗的区别,而不去记住他们的各自特点,所以也不能用于生成图片。基于x,去做出判断y,得到最大的概率
在这里插入图片描述

AI模型的搭建流程

1、首先要有数据,
2、然后清洗数据,要很重视
3、接着特征工程,也就是确定x,我要从数据里面提取出来关键的信息,也就是特征。
特征工程占据很大成本,70%的时间是在设计特征工程,然后就是一些调参的工作
特征的好坏决定选择模型以后准确率的一个上限,
好的特征可以让你经过调参和选择模型,让系统的准确率达到很高,
坏的特战可能最高的准确率存在一个上限瓶颈。
4、建模
5、预测
在这里插入图片描述

端到端的流程

将特征工程这一步去掉,不做特征工程,这就是端到端的过程
我只是把数据灌进去,然后通过算法去学习。相当于把特征工程和建模整合到了模型里。
但是不是所有的领域都可以使用端到端的方式, NLP领域这种方式大部分情况效果不好。
但是图像识别领域有很好的效果。
在这里插入图片描述
我们把数据分为训练集和测试集,训练集上训练模型

朴素贝叶斯

适合于文本分类,如:垃圾邮件识别
在这里插入图片描述
在这里插入图片描述
计算邮件中每个单词出现的概率

先验信息

在这里插入图片描述

贝叶斯定理

在这里插入图片描述

条件独立

在这里插入图片描述

垃圾邮件预测

假定我已经将邮件中的句子通过分词工具切分
其实最终要的就是邮件是正常还是垃圾的一个概率。
在这里插入图片描述

例子

给出垃圾邮件和正常邮件各3个
先计算先验概率,计算出垃圾邮件和正常邮件所占的比例
构建词库v
注意几点问题:
1、在计算正常邮件和垃圾邮件中单词出现概率中,避免出现单词计算概率为0的情况,所以加了add-one soomthing平滑项
2、在最终预测时出现概率连乘,这样最终的乘积可能会是一个小数点后位数太多,超过了计算机的表示范围,所以报错overflow。为避免这种情况,所以一般计算概率的对数,对数函数是严格递增函数,不影响最终结果的判断,同时也会将连乘变为了对数的相加,更简单
在这里插入图片描述

评估系统

评估方法:
1、准确率
但样本比例不均衡时,准确率这种评估方法不适用,比如负样本90%,正样本10%
比如做一个癌症检测模型,我在训练集中有1000个人,只有5个人是确诊癌症患者,作为正样本。
当我训练模型以后,假如我对测试数据都判断为未得癌症,那这个判断的准确率能达到99。5%,显然这个概率很高,但是它的意义却不大
2、精确率和召回率
selected表示系统判断有癌症的人群,假如判断出10个有癌症,但是实际上只有8个有,还有两个是判断错的,那么精确率就是80%
no selected表示系统判断为没有得癌症的人群,
correct表示实际确实得癌症的,not correct表示实际没有癌症的。
召回率就是看Correct这一列,总共实际的癌症患者是10个,但是系统只判断出8个,另外两个判断为没有得癌症,所以召回率是80%
TP:true positive
FN:false negative

在这里插入图片描述

精确率和召回率是一个互斥关系,精确率增加的同时,召回率在下降
所以一般是要求精确率和召回率都大于某个设定的阈值,那么就满足上线的标准。
在这里插入图片描述

考虑怎样把精确率和召回率合并到一起,组合成一个数字来表示评估的标准

F1-Measure

基于精确率和召回率得到的一个计算公式
目的就是将对系统的多个维度的评价合并成一个维度去考虑。
可以计算出正样本的F1和负样本的F1,最后做平均得到整体样本的一个F1
如果是三个维度以上,类似,最后做平均即可
在这里插入图片描述
正样本和负样本,是考虑全部样本的结果
比如对于正常邮件,是以正常邮件和垃圾邮件总和中去找的,也就是系统判断的正常邮件的结果

在这里插入图片描述
准确率是(16+3)/25

这篇关于NLP09_机器学习、监督学习、模型搭建流程、朴素贝叶斯、系统评估、准确率,精确率召回率,F1-Measure的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/888197

相关文章

C#提取PDF表单数据的实现流程

《C#提取PDF表单数据的实现流程》PDF表单是一种常见的数据收集工具,广泛应用于调查问卷、业务合同等场景,凭借出色的跨平台兼容性和标准化特点,PDF表单在各行各业中得到了广泛应用,本文将探讨如何使用... 目录引言使用工具C# 提取多个PDF表单域的数据C# 提取特定PDF表单域的数据引言PDF表单是一

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20