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

相关文章

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

nodejs打包作为公共包使用的完整流程

《nodejs打包作为公共包使用的完整流程》在Node.js项目中,打包和部署是发布应用的关键步骤,:本文主要介绍nodejs打包作为公共包使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言一、前置准备二、创建与编码三、一键构建四、本地“白嫖”测试(可选)五、发布公共包六、常见踩坑提醒

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

一个Java的main方法在JVM中的执行流程示例详解

《一个Java的main方法在JVM中的执行流程示例详解》main方法是Java程序的入口点,程序从这里开始执行,:本文主要介绍一个Java的main方法在JVM中执行流程的相关资料,文中通过代码... 目录第一阶段:加载 (Loading)第二阶段:链接 (Linking)第三阶段:初始化 (Initia

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1