Word2vec原理+实战学习笔记(一)

news2024/11/25 14:13:00

来源:投稿 作者:阿克西

编辑:学姐

视频链接:https://ai.deepshare.net/detail/p_5ee62f90022ee_zFpnlHXA/6

文章标题:

Efficient Estimation of Word Representations in Vector Space

基于向量空间中词表示的有效估计

作者:TomasMikolov(第一作者)

单位:Google

发表会议及时间:ICLR2013

1 研究背景

1.1 前期知识储备

数学知识:

  • 高等数学中微积分

  • 线性代数中的矩阵运算

  • 概率论的条件概率

机器学习:

  • 机器学习中基本的原理以及概念、如逻辑回归分类器、梯度下降方法等

神经网络:

  • 了解神经网络基本知识

  • 知道前馈神经网络和循环神经网络的概念

  • 知道语言模型概念

编程:

  • 了解Pytorch基本使用方法,如数据读取、模型构建等

1.2 学习目标

序号标题内容
1了解词向量的背景知识历史背景
数学基础
2了解前人的工作SVD
前馈神经网络  
RNN语言模型
3掌握词向量的评价方法Cosine/Analagy:相似度/词对类比
论文中数据集
4掌握模型结构CBOW
Skip-gram
5Word2vec中的关键技术:提高训练速度层次softmax
负采样
6掌握Word2vec代码关键代码
提高效率细节

对比模型:NNLM,RNNLM(LM:Language Model)

2 词向量背景储备知识

2.1 语言模型

直观概念:语言模型是计算一个句子是句子的概率的模型,即给定的一个句子,判断是否符合语义和语法,符合二者的句子概率较大。

示例:

句子概率分析
深度之眼的论文课真的很好!0.8符合语义和语法
深度之眼的论文课真的很一般!0.01不符合语义,因为深度之眼的课较好
论文课的深度之眼很真好的!0.000001不符合语法,因此也不符合语义

语言模型的应用有很多,例如在输入法里输入拼音:zi ran yu yan chu li ,它返回对应的中文结果就是一个语言模型。

句子概率
自然语言处理0.9
子然预言出力0.01
紫然玉眼储例0.0001

2.2 语言模型的发展

本节讲述如何构建语言模型?

2.2.1 基于专家语法规则的语言模型

语言学家企图总结出一套通用的语法规则,比如形容词后面跟名词,动词后面跟副词,符合这些规则是句子。缺点是语言千变万化,很难总结出一套通用的语法规则。而且随着时间的变化会有新词的诞生,很难总结出词性,例如笑skr人!这件事雨女无瓜。

2.2.2 统计语言模型

通过概率计算来刻画语言模型:将句子的概率转变为所有词出现的概率的乘积。

P(s)=P\left(w_{1}, w_{2}, \ldots, w_{n}\right)=P\left(w_{1}\right) {P}\left(w_{2} \mid w_{1}\right) {P}\left(w_{3} \mid w_{1} w_{2}\right) \ldots {P}\left(w_{n} \mid w_{1} w_{2} \ldots w_{n-1}\right)

「某个词出现的概率的计算方法:」

P(w_{i})求解方法:用语料的频率代替概率(频率学派)

p\left(w_{i}\right)=\frac{\operatorname{count} (w_{i})}{N}

统计语言模型是通过一个很大的语料来构建的,这个语料被称为背景语料,通过上图中的公式可以计算出每个词出现的频率,用频率来代替概率。

{P}\left(w_{2} \mid w_{1}\right)求解方法:频率学派+条件概率

\begin{aligned} p(w_{i} \mid w_{i-1})=\frac{p(w_{i-1}, w_{i})}{p(w_{i-1})} &\implies \left\{\begin{array}{l} p(w_{i-1}, w_{i})=\frac{\operatorname{count} (w_{i-1}, w_{i})}{N} \\ p\left(w_{i-1}\right)=\frac{\operatorname{count} (w_{i-1})}{N} \end{array}\right. \\ &\implies p(w_{i} \mid w_{i-1})=\frac{\operatorname{count}(w_{i-1}, w_{i})}{\operatorname{count}(w_{i-1})} \end{aligned}

语言模型示例:

\text {sentence }=\left\{w_{1}, w_{2}, \ldots, w_{n}\right\}

  • P(张三 很 帅)=P(张三)*P(很|张三)*P(帅|张三, 很)

  • P(张很帅 很 帅)=P(张很帅)*P(很|张很帅)*P(帅|张很帅, 很):张很帅这个名字很少见,在语料库可能没有出现过,但是这不能代表它不存在,P(张很帅)=0不合理

  • P(张三 很 漂亮)=P(张三)*P(很|张三)*P(漂亮|张三, 很):较长的句子(短语)在语料库中也可能概率较低,比如张三的同学的妹妹的朋友的好朋友很漂亮

「统计语言模型中的平滑操作」

  • 有一些词或者词组在语料库中没有出现过,但是这不能代表它不存在。

  • 平滑操作就是给那些没有出现过的词或者词组也给一个比较小的概率。

  • 拉普拉斯平滑(Laplace Smoothing):也称为加1平滑,每个词在原来出现次数的基础上加1。

示例:

原概率模型频数概率Laplace Smoothing频数概率
A0P(A)=\frac{0}{1000}=0A1P(A)=\frac{1}{1003}=0.001
B990P(B)=\frac{990}{1000}=0.99B991P(B)=\frac{991}{1003}=0.988
C10P(C)=\frac{10}{1000}=0.01C11P(C)=\frac{11}{1003}=0.011

P(w)= \frac{c(w)}{N} \implies P(w) = \frac{c(w)+1}{N+V}

V表示语料库中词的个数

缺点:主要解决了词的问题,如果出现较长的词组,需要平滑的词和词组数量大大增加。

示例:假设语料库中只有一句话,张三很漂亮

  • P(张三 很 帅)=P(张三)P(很|张三)P(帅|张三, 很)

  • P(张三 很 桌子)=P(张三)P(很|张三)P(桌子|张三, 很)

  • 平滑之后P(帅|张三, 很)=P(桌子|张三, 很),即两个句子概率是相等的。但是第二个句子是不合理的,一般情况下,第一句话概率应该比第二句话概率要高才对

平滑操作的问题,可能会导致一个有语法错误的句子和一个正确句子的概率是相同的。

问题原因:

  1. 参数空间过大:与模型相关的参数会很多。例如:计算P(w)参数有V个(每个P(w_i)一个参数),V代表词表大小,计算P(w_i|w_{i-1})参数有V^2个,(\frac{P(w_i, w_{i-1})}{P(w_i)}分子有V\times V个参数),依次类推,那么模型参数空间为:V+V^2+...+V^L,L为句子长度。

  2. 数据稀疏严重:平滑之后较少出现的词的概率较小,当较少的词占比较多时,数据会很稀疏。最终大部分数据值接近于0,只有少部分不为0。类似的,大的计算量会导致一些问题,比如说数据过于稀疏。因为我们想每个词都要考虑前面很多的词,而且把很多词组合在一起的概率其实并没有很高。组合到一起的词越多它的数据是越稀疏的。

解决办法:马尔科夫假设

「马尔科夫假设」:下一个词的出现仅依赖于前面的一个词或几个词

\begin{aligned} \operatorname{unigram}: P(s)&=P(w_{1}) {P}(w_{2}) {P}(w_{3}) \ldots {P}(w_{n}) \implies V \\ \operatorname{bigram}: P(s)&=P(w_{1}) {P}(w_{2} \mid w_{1}) {P}(w_{3} \mid w_{2}) \ldots {P}(w_{n} \mid w_{n-1}) \implies V+V^2 \\ \operatorname{rigram}: P(s)&=P(w_{1}) {P}(w_{2} \mid w_{1}) {P}(w_{3} \mid w_{1} w_{2}) \ldots {P}(w_{n} \mid w_{n-2} w_{n-1}) \implies V+V^2+V^3 \\ \operatorname{k-gram}: P(s)&=P(w_{1}) {P}(w_{2} \mid w_{1}) {P}(w_{3} \mid w_{1} w_{2}) \ldots {P}(w_{n} \mid w_{n-k+1} \ldots w_{n-1}) \implies V+V^2+...V^k \end{aligned}

语言模型示例:我 今天 下午 打 羽毛球

 2.3 语言模型评价指标

困惑度(Perplexity)

PP(s)=P\left(w_{1}, w_{2}, \ldots, w_{n}\right)^{-\frac{1}{n}}=\sqrt[N]{\frac{1}{P\left(w_{1}, w_{2}, \ldots, w_{n}\right)}}

语言模型实质上是一个词表大小的多分类问题,类别是一个词。句子概率越大,语言模型越好,困惑度越小。

inputlabel词表大小
Nonew_1\mid V \mid
w_1w_2\mid V \mid
.........
w_1, w_2, w_3, ..., w_{n-1}w_n\mid V \mid

语言模型只能判断句子是句子的概率,不是完备的监督学习。困惑度越小,对应句子概率越大,则表示词表大小的多分类问题每个类别的概率越大。困惑度越小越好。

2.4 n-gram特征

在文本特征提取中,常常能看到n-gram的身影。它是一种基于语言模型的算法,基本思想是将文本内容按照字节顺序进行大小为N的滑动窗口操作,最终形成长度为N的字节片段序列。看下面的例子:

我来到达观数据参观

  • 相应的bigram特征为:我来 来到 到达 达观 观数 数据 据参 参观

  • 相应的trigram特征为:我来到 来到达 到达观 达观数 观数据 数据参 据参观

注意一点:n-gram中的gram根据粒度不同,有不同的含义。它可以是字粒度,也可以是词粒度的。上面所举的例子属于字粒度的n-gram,词粒度的n-gram看下面例子:

我 来到 达观数据 参观

  • 相应的bigram特征为:我/来到 来到/达观数据 达观数据/参观

  • 相应的trigram特征为:我/来到/达观数据 来到/达观数据/参观

n-gram产生的特征只是作为「文本特征的候选集」,你后面可能会采用信息熵、卡方统计、IDF等文本特征选择方式筛选出比较重要特征。

3 论文简介

3.1 论文背景知识

3.1.1 词的表示方式

「1、One-hot Representation 独热表示」

比如将“话筒”表示为:[0, 0, 0, 0, 1, 0, 0,……],将“麦克”表示为[0, 0, 1, 0, 0, 0, 0, ……]等。

  • 优点:表示简单。

  • 存在的问题:词越多,维数越高,维数为词表的大小V,且无法表示词和词之间的关系。

「2、SVD」

这种是基于窗口的贡献矩阵(Window based Co-occurrence Matrix)的方法,一个词只跟与它周围特定窗口内的词有关,两个词共同出现一次就加一。例如:

  • 1)I enjoy flying.
  • 2)I like NLP.
  • 3)I like deep learning.

先规定对角线为0,然后构建窗口大小为1的共现矩阵。通过共现的方法,可以体现一定相似的关系,例如\rm like和enjoy都和I相邻,但是这个矩阵大小仍然和词表大小有关,维度很高,而且还是比较稀疏。因此需要降维度:V*V,V=10e5 \implies V*K,K=300

第一种使用词向量的方法,使用SVD分解。SVD分解可以在一定程度上得到词与词之间的相似度,但是矩阵太大,SVD分解效率低,学习得到的词向量可解释性差。

将一个矩阵分解成三部分,U,\Sigma,V,三者与X矩阵维度均是V * V\Sigma只有对角线元素不为0,相当于X所有特征值,表示X矩阵中向量u_i的重要程度。一般情况下,\Sigma中特征值\sigma为从大到小排序,这样可以保留前k个大小特征值。对应的,也只保留U中前k个向量。

X=U \Sigma V^{\mathrm{T}}

\begin{array}{cc}\quad |V| \\ |V|\left[\begin{array}{cc} \quad \\ \quad X \quad \\ \quad \end{array}\right]\end{array} =\begin{array}{cc}\quad |V| \\ |V|\left[\begin{array}{ccc} \mid & \mid & \\ u_{1} & u_{2} & \cdots \\ \mid & \mid & \end{array}\right] \end{array} \begin{array}{cc}\quad |V| \\|V|\left[\begin{array}{ccc} \sigma_{1} & 0 & \cdots \\ 0 & \sigma_{2} & \cdots \\ \vdots & \vdots & \ddots \end{array}\right]\end{array} \begin{array}{cc}\quad |V| \\|V|\left[\begin{array}{ccc} \ -& v_{1} & - \\ \ -& v_{2} & - \\ & \vdots & \end{array}\right]\end{array}

保留前k个:

x_{i j}=\sum_{k=1}^{n} u_{i \mathrm{k}} \sigma_{k} v_{j k}

U中每个词只用k维向量表示,

\begin{array}{cc}\quad |V| \\ |V|\left[\begin{array}{cc} \quad \\ \quad \hat{X} \quad \\ \quad \end{array}\right]\end{array} =\begin{array}{cc}\quad k \\ |V|\left[\begin{array}{ccc} \mid & \mid & \\ u_{1} & u_{2} & \cdots \\ \mid & \mid & \end{array}\right] \end{array} \begin{array}{cc}\quad k \\ k \left[\begin{array}{ccc} \sigma_{1} & 0 & \cdots \\ 0 & \sigma_{2} & \cdots \\ \vdots & \vdots & \ddots \end{array}\right]\end{array} \begin{array}{cc}\quad |V| \\ k \left[\begin{array}{ccc} \ -& v_{1} & - \\ \ -& v_{2} & - \\ & \vdots & \end{array}\right]\end{array}

优点:可以一定程度上得到词与词之间的相似度。

缺点:矩阵太大,SVD矩阵分解效率低,学习得到的词向量可解释性差。因为舍弃的一些不重要信息无法解释不重要的原因,同理重要的信息也无法解释重要性。

「3、分布式表示/稠密表示,也称为词向量/词嵌入(Word embedding)」 —— 本文提出

它的维度不再是词典的大小,每个维度上的数字不再是0,这些数之间的关系是通过训练得到的,训练得到的词向量可以将意思相近的词离得很近。

每个词表示成D维的向量,D<<V。类似于10000个人,10000个位置,将其压缩为300个位置,训练迫使10000中相熟的人在一起节省位置。相当于用300维度的空间容纳10000维度空间的词,迫使相似的词在一起,展现非常好的性质。降维变成二维,通过余弦相似度可以表示两个词之间的关系。

参考链接:

美国知乎:https://www.quora.com/Deep-Learning-What-is-meant-by-a-distributed-representation

3.1.2 发展历程

  • 1996年:Hinton 1986年提出Distributed Representation

  • 2003年:Bingio首次使用词向量A Neural Probabilistic Language Model,使用训练语言的方式训练词向量,表现较好

  • 2003-2013年,提出很多训练词向量的方法,但是速度较慢,与SVD较像,无法在大语料上进行训练

  • 2013年:本文改进开源word2vec,训练速度非常快,可以在大语料上进行训练

3.2 本文研究成果

  • 提出新的模型结构word2vec

  • 提出优化训练方法,使得训练速度加快

  • 给出训练代码word2vec,使得单机训练成为可能

  • 成果:训练的词向量,又快又好,并且能够在大规模语料上进行词向量的训练。

3.3 研究意义

研究意义:

  1. 衡量词向量之间的相似程度:余弦相似度和词类比。

  2. 作为预训练模型提升nlp任务

1、衡量词向量之间的相似程度,也是评价方法:余弦相似度和词类比。 1)余弦相似度:

\rm sim(word1, word2)= cos(wordvec1, vordvec2)

主观验证:比如查找青蛙frog的相似词向量,都是青蛙。

12345678
frogfrogstoadlitorialeptodactylidaeranalizardeleutherodactylus

2)词类比analogy:(语义关系)

\rm cos(word1- word2 + word3, wordvec4)

验证方法有效性,国家与首都的关系:计算France - Paris + Rome,查看与结果最相近的词向量,如果是Italy,说明该方法是有效的

  • France \impliesParis

  • Italy \impliesRome

W("woman")-W("man")=W("aunt")-W("uncle")

W("woman")-W("man")=W("queen")-W("king")

参考链接:

https://nlp.stanford.edu/projects/glove/

http://www.fit.vutbr.cz/~imikolov/rnnlm/word-test.v1.txt

2、作为预训练模型提升nlp下游任务准确度和效果

1)外部任务比如命名体识别、文本分类

2)应用到其他nlp任务上,相当于半监督训练

3)双语单词嵌入,Word embedding,类似于中英文词典

参考链接:

https://nlp.stanford.edu/~socherr/SocherGanjooManningNg_NIPS2013.pdf

3.4 论文总览

序号标题内容
摘要 Abstract提出2种新的高效计算词向量结构,并使用词相似度任务验证效果
1Introduction介绍词向量背景;本文目标;前人工作
2Model ArchitecturesLSA/LDA;前向神经网络;循环神经网络;并行网络计算
3New Log-linear Models「介绍2中新模型结构:CBOW, Skip grams」
4Results评价任务描述;最大化正确率;模型结构比较;模型上大量数据的并行计算;微软研究院句子完成比赛
5Examples of the Learned Relationships例子:学习到的词与词之间的关系
6Conclusion结论:高质量词向量;高效率训练方式;作为预训练词向量作用于其他nlp任务能提升效果
7Follow-Up Work后续工作:C++单机代码
8References参考文献

本文实际讲2篇论文:

4 论文泛读

4.1 摘要

  1. 提出了两种新颖的模型结构用来计算词向量

  2. 采用一种词相似度的任务来评估对比词向量质量

  3. 大量降低模型计算量可以提升词向量质量

  4. 进一步,在我们的语义和句法任务上,我们的词向量是当前最好的效果

4.2 Introduction

  • 传统NLP把词当做最小单元处理,并且能够在大语料库上得到很好的结果,其中一个例子是n-grams模型

  • 然而很多自然语言处理任务只能提供很小的语料,如语音识别、机器翻译,简单地扩大数据规模来提升简单模型的表现在这些任务不再适用,所以我们必须寻找更加先进的模型

  • 分布式表示可以在大语料上训练得到很好的语言模型,并且能够超过n-grams模型,这是一个很好的可以作为改进的技术。

4.3 word2vec词向量评价方法

内部任务评价:训练好什么任务来评价什么任务。如下图为五种语义,九种语法评价。

外部任务评价:外部任务比如命名实体识别、文本分类。

关注下方《学姐带你玩AI》🚀🚀🚀

论文资料+比赛方案+AI干货all in

码字不易,欢迎大家点赞评论收藏!

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

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

相关文章

【计算机网络】学习笔记:第四章 网络层(七千字详细配图)【王道考研】

基于本人观看学习b站王道计算机网络课程所做的笔记&#xff0c;不做任何获利 仅进行交流分享 特此鸣谢王道考研 若有侵权请联系&#xff0c;立删 如果本篇笔记帮助到了你&#xff0c;还请点赞 关注 支持一下 ♡>&#x16966;<)!! 主页专栏有更多&#xff0c;如有疑问欢迎…

安装chatglm

地址 下载源代码 下载完成后解压 安装cuda 输入nvcc -V查看是否安装cuda 输入nvidia-smi查看支持的最高版本&#xff0c;最高支持12.1 下载cudahttps://developer.nvidia.com/cuda-downloads 双击安装 同意之后点击下一步 选择精简模式即可 等待下载安装包 …

链接sqlite

一.sqlite库函数 1.sqlite3_open()函数 语法&#xff1a;*sqlite3_open(const char *filename, sqlite3 *ppDb) 作用&#xff1a;该例程打开一个指向 SQLite 数据库文件的连接&#xff0c;返回一个用于其他 SQLite 程序的数据库连接对象。 参数1&#xff1a;如果 filename …

如何在自己的Maven工程上搭建Mybatis框架?

编译软件&#xff1a;IntelliJ IDEA 2019.2.4 x64 操作系统&#xff1a;win10 x64 位 家庭版 Maven版本&#xff1a;apache-maven-3.6.3 Mybatis版本&#xff1a;3.5.6 目录 前言 一. 什么是Mybatis框架&#xff1f;1.1 框架是什么&#xff1f;1.2 什么是MyBatis &#xff1f;1…

3.11 C结构体及结构体数组

结构体的意义 问题&#xff1a;学籍管理需要每个学生的下列数据&#xff1a;学号、姓名、性别、年龄、分数&#xff0c;请用C语言程序存储并处理一组学生的学籍。 思考&#xff1a;如果有多个学生&#xff0c;该怎么定义 已学数据类型无法解决。 结构体概述 正式&#xff1a;…

【Sping学习详解】

重新学习Spring很久了&#xff0c;也看了不少的视频&#xff0c;但是没有系统总结&#xff0c;容易忘记&#xff0c;网上寻找相关博客&#xff0c;也没有找到按照路线总结的&#xff0c;只能说不顺我心&#xff0c;所以自己总结一下&#xff01;&#xff01;&#xff01; 从下…

vulnhub靶机dpwwn1

准备工作 下载连接&#xff1a;https://download.vulnhub.com/dpwwn/dpwwn-01.zip 网络环境&#xff1a;DHCP、NAT 下载完后解压&#xff0c;然后用VMware打开dpwwn-01.vmx文件即可导入虚拟机 信息收集 主机发现 端口发现 继续查看端口服务信息 打开网站发现只有Apache默认…

【Spring篇】IOC/DI注解开发

&#x1f353;系列专栏:Spring系列专栏 &#x1f349;个人主页:个人主页 目录 一、IOC/DI注解开发 1.注解开发定义bean 2.纯注解开发模式 1.思路分析 2.实现步骤 3.注解开发bean作用范围与生命周期管理 1.环境准备 2.Bean的作用范围 3.Bean的生命周期 4.注解开发依赖…

行为识别 Activity Recognition

行为识别 行为检测是一个广泛的研究领域&#xff0c;其应用包括安防监控、健康医疗、娱乐等。 课程大纲 导论 图卷积在行为识别中的应用&#xff1a;论文研读&#xff0c;代码解读&#xff0c;实验 Topdown关键点检测中的hrnet&#xff1a;论文研读&#xff0c;代码解读&a…

ETL工具 - Kettle 流程、应用算子介绍

一、Kettle 流程和应用算子 上篇文章对Kettle 转换算子进行了介绍&#xff0c;本篇文章继续对Kettle 的流程和应用算子进行讲解。 下面是上篇文章的地址&#xff1a; ETL工具 - Kettle 转换算子介绍 流程算子主要用来控制数据流程和数据流向&#xff1a; 应用算子则是Kettle给…

ESP32 ESP-Rainmaker 本地点灯控制Demo测试

基于ESP-Rainmaker 本地点灯控制Demo测试 &#x1f33f;ESP-Rainmaker项目地址&#xff1a;https://github.com/espressif/esp-rainmaker/tree/master ✨这个项目早些时候就已经开始测试了&#xff0c;最后卡在了手机APP连接esp32设备端一直无法连接上&#xff0c;也一直没有找…

性能:Intel Xeon(Ice Lake) Platinum 8369B阿里云CPU处理器

阿里云服务器CPU处理器Intel Xeon(Ice Lake) Platinum 8369B&#xff0c;基频2.7 GHz&#xff0c;全核睿频3.5 GHz&#xff0c;计算性能稳定。目前阿里云第七代云服务器ECS计算型c7、ECS通用型g7、内存型r7等规格均采用该款CPU。 Intel Xeon(Ice Lake) Platinum 8369B Intel …

Linux第五章

文章目录 前言一、MySQL5.7版本在CentOS系统安装二、Tomcat安装部署1.安装JDK环境2. 解压并安装Tomcat 三、Nginx安装部署四、RabbitMQ安装部署五、Redis安装部署六、ElasticSearch安装部署七、集群化环境前置准备八、Zookeeper集群安装部署九、Kafka集群安装部署十、大数据集群…

操作系统的进程调度

进程调度概述 一、操作系统的调度时机 1、什么时候进行进程调度&#xff1f; 主动放弃&#xff08;进程正常终止、运行过程中发生异常而终止、进程主动请求阻塞&#xff09; 被动放弃&#xff08;分给进程的时间片用完、有更紧急的事需要处理、有更高优先级的进程进入就绪队列…

CentOS7 安装MySQL8

CentOS7 安装MySQL8 安装 VMware 以及 CentOS更新系统添加 MySQL Yum 存储库安装 MySQL 8启动 MySQL检查 MySQL 状态查看临时密码用临时密码登录修改密码 安装 VMware 以及 CentOS 由于本博主之前写过&#xff0c;在这给出链接&#xff0c;不再赘述了 https://blog.csdn.net/w…

2023.4.30 第五十一次周报

目录 前言 文献阅读 背景 对现有技术的分析 主要思路和贡献 相关性分析和归一化处理 相关性分析 归一化处理 TCN 基于 TCN-LSTM 的 PM 浓度预测模型 敏感性分析 论文思路 求半方差 训练模型 -1 训练模型-2 总结 前言 This week I studied an article that cons…

R语言 | 进阶字符串的处理

目录 一、语句的分割 二、修改字符串的大小写 三、unique()函数的使用 四、字符串的连接 4.1 使用paste()函数常见的失败案例1 4.2 使用paste()函数常见的失败案例2 4.3 字符串的成功连接与collapse参数 4.4 再谈paste()函数 4.5 扑克牌向量有趣的应用 五、字符串数据的…

vue前端开发100问(持续更新)

1.export default的作用是 export主要用于对外输出本模块变量的接口&#xff0c;一个文件就可以被理解为一个模块。export就是导出。 import就是在一个模块中加载另一个含有export接口的模块&#xff0c; import就是导入。 2.什么样的内容需要放在export default里面&#xf…

mybatis使用(简单易上手)

mybatis使用 一、mybatis介绍1、mybatis是什么2、mybatis支持的数据库3、~~mybatis插件机制~~ 二、springboot集成mybatis1、引入依赖2、配置mybatis 三、使用mybatis1、注解方式使用mybatis2、XML文件方式 一、mybatis介绍 1、mybatis是什么 MyBatis是一个开源的Java持久层框…