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

相关文章

Spring Cloud GateWay搭建全过程

《SpringCloudGateWay搭建全过程》:本文主要介绍SpringCloudGateWay搭建全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Spring Cloud GateWay搭建1.搭建注册中心1.1添加依赖1.2 配置文件及启动类1.3 测

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

ubuntu系统使用官方操作命令升级Dify指南

《ubuntu系统使用官方操作命令升级Dify指南》Dify支持自动化执行、日志记录和结果管理,适用于数据处理、模型训练和部署等场景,今天我们就来看看ubuntu系统中使用官方操作命令升级Dify的方... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

使用Python和SQLAlchemy实现高效的邮件发送系统

《使用Python和SQLAlchemy实现高效的邮件发送系统》在现代Web应用中,邮件通知是不可或缺的功能之一,无论是订单确认、文件处理结果通知,还是系统告警,邮件都是最常用的通信方式之一,本文将详... 目录引言1. 需求分析2. 数据库设计2.1 User 表(存储用户信息)2.2 CustomerO

Java对接Dify API接口的完整流程

《Java对接DifyAPI接口的完整流程》Dify是一款AI应用开发平台,提供多种自然语言处理能力,通过调用Dify开放API,开发者可以快速集成智能对话、文本生成等功能到自己的Java应用中,本... 目录Java对接Dify API接口完整指南一、Dify API简介二、准备工作三、基础对接实现1.

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

Springboot实现推荐系统的协同过滤算法

《Springboot实现推荐系统的协同过滤算法》协同过滤算法是一种在推荐系统中广泛使用的算法,用于预测用户对物品(如商品、电影、音乐等)的偏好,从而实现个性化推荐,下面给大家介绍Springboot... 目录前言基本原理 算法分类 计算方法应用场景 代码实现 前言协同过滤算法(Collaborativ

Gradle下如何搭建SpringCloud分布式环境

《Gradle下如何搭建SpringCloud分布式环境》:本文主要介绍Gradle下如何搭建SpringCloud分布式环境问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Gradle下搭建SpringCloud分布式环境1.idea配置好gradle2.创建一个空的gr