面试-NLP八股文

机器学习

  • 交叉熵损失: L = − ( y l o g ( y ^ ) + ( 1 − y ) l o g ( 1 − ( y ^ ) ) L=-(ylog(\hat{y}) + (1-y)log(1-(\hat{y})) L=(ylog(y^)+(1y)log(1(y^))
  • 均方误差: L = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 L =\frac{1}{n}\sum\limits_{i=1}^{n}(y_{i} - \hat{y}_{i})^{2} L=n1i=1n(yiy^i)2
  • BPR损失: L = ∑ ( u , i , j ) ∈ O − l n σ ( y ^ u i − y ^ u j ) L=\sum_{(u,i,j) \in O} -ln\sigma(\hat{y}_{ui} - \hat{y}_{uj}) L=(u,i,j)Ol(y^uiy^uj)
  • 最大似然估计:是一种在给定结果的情况下,使得选择的参数值观测到该结果的概率最大
  • 交叉熵:衡量两个概率分布p和q之间差异的指标;最大化似然函数等价于最小化交叉熵
  • LR和SVM的异同
    • LR是逻辑回归模型,在最后的结果上应用了sigmoid函数得到分布概率
    • SVM是为了寻找一个最优超平面,使得训练样本离该超平面的间隔最大化
    • 高斯核函数的核心思想是将样本数据进行升维,从而使得原本线性不可分的数据线性可分
    • 同:
      • LR和SVM都可以处理分类问题,且一般都用于处理线性二分类问题
      • 两个方法都可以增加不同的正则化项,如L1、L2正则化
      • LR和SVM都可以用来做非线性分类,只要加核函数就好
    • 异:
      • LR是参数模型,SVM是非参数模型
      • 逻辑回归采用的是cross-entropy loss,SVM采用的是hinge loss
      • SVM分类只需要计算与少数几个支持向量的距离,而LR和所有点都有关系
  • L1L2的特点
    • 正则化是防止模型在训练数据上过度拟合的技术,即通过在模型的损失函数中引入额外的惩罚项,来对模型的参数进行约束,从而降低模型的复杂度(使数值变小)
    • L1是权重参数的绝对值之和
    • L2是权重参数的平方,L2正则化又称为权重衰减
  • dropout在训练过程中随机将部分神经元权重置为零
  • Layer Normalization与Batch Normalization
    • 归一化是把数据特征映射到固定范围,以避免由于输入特征尺度存在较大差异,而使模型的优化方向可能会被尺度较大的特征所主导
    • BN层(Batch Normalization):是在不同样本之间进行归一化
    • LN层(Layer Normalization):是在同一样本内部进行归一化
  • 如何缓解梯度消失问题
    • 梯度趋近于零,网络权重无法更新或更新的很微小,网络训练再久也不会有效果
    • 解决办法:选择合适的激活函数;批量归一化;使用残差网络
  • 如何缓解梯度爆炸问题
    • 梯度呈指数级增长,变的非常大,然后导致网络权重的大幅更新,使网络变得不稳定
    • 解决办法:选择合适的权重初始化;梯度裁剪
  • 防止过拟合的手段(训练时效果好,测试时效果拉)
    • 增加训练数据量,或数据增强
    • 简化模型结构
    • 早停策略
    • Dropout技术
    • 正则化方法
  • Adam算法能够根据不同参数的梯度特性自适应地调整学习率。对于梯度较大的参数,学习率会相应减小,以避免参数更新过快导致震荡;对于梯度较小的参数,学习率会相应增大,以加速收敛。Adam优化器是由Momentum动量梯度与RMSProp算法构成
  • 交叉验证:其基本思想是将数据分为K个互不重叠的子集(通常称为“折”),每次选取其中K-1个子集作为训练集,剩下的一个子集作为测试集,进行模型训练和评估。这个过程会重复K次,每次选择不同的子集作为测试集,最后将所有的测试结果求平均值。
  • KNN是根据某一样本点距离最近的 K 个样本点的类别来判断该样本属于哪个类别(多数投票)
  • K-means是无监督学习算法。根据输入无标签的数据,然后将数据聚类成不同的组。做法:随机初始化质心->计算每个数据点到每个质心的距离->根据距离将数据点到簇->重新计算簇的质心,重复这一过程直到质心不再变化或达到预定的迭代次数。
  • 决策树是一种树形结构,主要用于分类,易过拟合,需要剪枝算法
  • 随机森林是将多个决策树结合在一起,每次数据集是随机有放回的选出,而选出部分特征作为输入,最后将多个树的结果整合起来当作最后的结果输出。
  • 归一化(Normalization)是将一列数据变化到某个固定区间(范围)中,通常,这个区间是[0, 1] 或者(-1,1)之间的小数
  • 标准化(Standardization)是原始数据减均值之后,再除以标准差。将数据变换为均值为0,标准差为1的分布

深度学习

  • Embedding技术是将单词转换为固定长度的向量

    • 作用(独热编码相比):可以解决维度灾难,即独热编码(One-hot )导致的维度激增;解决词汇鸿沟,即独热编码不能表达词汇之间的联系
    • 基于内容的word2vec方法是最经典的,其中包含框架CBOW连续词袋模型(Continuous Bag of Words)和Skip-gram跳字模型
      • CBOW预设好窗口大小,利用窗口内的上下文来预测目标词。

        • 模型输入是上下文词汇的One-hot编码;经过Embedding层,即词汇编码各自和嵌入矩阵相乘,得到词向量;然后计算上下文词向量的平均值;再输入线性层,得到输出向量;输入softmax层得到概率分布,最大概率位置对应的词即为预测结果;
        • 在这里插入图片描述
      • Skip-gram跳字模型为CBOW的逆过程

        • 模型输入是目标词的独热编码向量;经过in嵌入层,得到隐藏层;再经过out嵌入层得到输出向量;输入softmax层得到字典中每个词汇是目标词上下文的概率
        • 在这里插入图片描述
  • 文本关键词抽取

    • textrank把文本拆分成词汇作为图节点, 然后对节点权重进行倒序排列,得到排名前TopN个词汇作为文本关键词
      • 节点间权重计算方式:两个节点之间仅当它们对应的词汇在长度为K的窗口中共现则存在边,K表示窗口大小即最多共现K个词汇
    • tf-idf
      • 词频(Term Frequency,TF)指某一给定词语在当前文件中出现的频率。 词频 ( T F ) = 词 w 在文档中出现的次数 文档的总词数 词频(TF)=\frac{词w在文档中出现的次数}{文档的总词数} 词频(TF)=文档的总词数w在文档中出现的次数
      • 逆向文件频率(Inverse Document Frequency,IDF)是一个词语普遍重要性的度量。即如果一个词语只在很少的文件中出现,表示更能代表文件的主旨,它的权重也就越大;如果一个词在大量文件中都出现,表示不清楚代表什么内容,它的权重就应该小。 逆文档频率 ( I D F ) = l o g ( 语料库的文档总数 包含词 w 的文档数 + 1 ) 逆文档频率(IDF)=log(\frac{语料库的文档总数}{包含词w的文档数+1}) 逆文档频率(IDF)=log(包含词w的文档数+1语料库的文档总数)
      • 关键字抽取方式:计算所有词的TF-IDF=TF*IDF,对计算结果进行倒序排列,得到排名前TopN个词汇作为文本关键词
  • CNN有卷积核,池化层,线性层。计算公式: N = W − F + 2 P S + 1 N=\frac{W-F+2P}{S} + 1 N=SWF+2P+1

  • RNN模型(处理序列数据)

    • 存在长期依赖缺失的问题:在处理长时间问题时,由于梯度消失造成的较远信息对此时几乎不产生影响
    • 长短期神经网络LSTM和门控循环单元GRU可以解决长距离依赖缺失问题
    • LSTM有遗忘门(决定遗忘的信息),输入门(更新细胞状态),输出门(由隐藏表示,输入变量,细胞状态决定)
    • GRU是在LSTM的基础上提出的,与LSTM相比取消了细胞状态向量,门控结构也减少了,简化了LSTM的结构并提高其计算效率
  • Transformer模型是基于自注意力机制的深度神经网络模型,提高了计算效率,并更好地捕捉长距离依赖关系

    • Positional Encoding: 区分单、双数,利用正、余弦函数进行位置编码
    • Multi-Head Attention:多头注意力机制是一种扩展自注意力机制的方法,它将自注意力机制分解为多个“头”,每个“头”都在不同的表示空间中学习信息,从而能够捕捉到更丰富的特征和关系,保证了可以学习到一个词的多个语义
      • A t t e n t i o n ( Q , K , V ) = S o f t m a x ( Q K T d k ) V Attention(Q, K, V) = Softmax(\frac{QK^{T}}{\sqrt{d_{k}}})V Attention(Q,K,V)=Softmax(dk QKT)V
      • ∗ d k \frac{*}{\sqrt{d_{k}}} dk :首先要除以一个数,防止输入softmax的值过大,导致偏导数趋近于0;其次选择根号d_k是因为可以使得q*k的结果满足期望为0,方差为1的分布。
      • 掩码操作Mask: 包含Padding Mask和Sequence Mask两种。掩码就是让矩阵某些元素变为负无穷的数,使得其在后续Softmax中的概率为0。其中Padding Mask旨在消除输入序列中Padding的影响;而Sequence Mask只存在于解码器中,目的是在预测下一个词时,覆盖住后面的词汇注意力信息,达到只用前面序列来预测下一词的目的
    • FFN模块是为了增加模型的非线性能力(因为内部使用的激活函数)
    • NLP中Layer Normalization针对句内每个单词归一,Batch Normalization针对batch内同一位置单词的不同特征归一
  • 模型的评价指标

    • TP(true positive-真阳性):表示样本的真实类别为正,最后预测得到的结果也为正;FP(false positive-假阳性):表示样本的真实类别为负,最后预测得到的结果却为正;FN(false negative-假阴性):表示样本的真实类别为正,最后预测得到的结果却为负;TN(true negative-真阴性):表示样本的真实类别为负,最后预测得到的结果也为负
    • 准确率表示预测正确的样本数占总样本书的比例。 A c c u r a c y = T P + T N T P + T N + F P + F N Accuracy=\frac{TP+TN}{TP+TN+FP+FN} Accuracy=TP+TN+FP+FNTP+TN
    • 精确率表示预测为正样本的样本中,正确预测为正样本的概率。 P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP
    • 召回率表示正确预测出正样本占实际正样本的概率。 R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP
    • F1 score折中了召回率与精确率。 F 1 = 2 ∗ R e c a l l ∗ P r e c i s i o n R e c a l l + P r e c i s i o n F1=2*\frac{Recall*Precision}{Recall+Precision} F1=2Recall+PrecisionRecallPrecision
    • HR (命中率-Hits Ratio)预测正确的用户占所有用户的比例,强调预测的“准确性”。 H R = 1 N ∑ i = 1 N h i t s ( i ) HR=\frac{1}{N}\sum\limits_{i=1}^{N}hits(i) HR=N1i=1Nhits(i)
    • MRR (平均倒数排名-Mean Reciprocal Rank)表示待推荐的项目是否放在了用户更显眼的位置,强调“顺序性”。 M R R = 1 N ∑ i = 1 N 1 p i MRR=\frac{1}{N}\sum\limits_{i=1}^{N}\frac{1}{p_{i}} MRR=N1i=1Npi1 p i p_{i} pi表示第 i 个用户的真实访问值在推荐列表的位置
    • NDCG(归一化折损累计增益-Normalized Discounted Cumulative Gain)用于判断对于一个用户,返回的推荐item列表是否更好
      • Gain:一个列表中所有item的相关性分数。 G a i n = r e l ( i ) Gain=rel(i) Gain=rel(i)
      • Cumulative Gain: 表示对K个item的Gain进行累加(没有考虑顺序)。 C G k = ∑ i = 1 k r e l ( i ) CG_{k} = \sum\limits_{i=1}^{k} rel(i) CGk=i=1krel(i)
      • Discounted Cumulative Gain:考虑排序顺序的因素,使得排名靠前的item增益更高,对排名靠后的item进行折损。 D C G k = ∑ i = 1 k r e l ( i ) l o g 2 ( i + 1 ) DCG_{k}=\sum\limits_{i=1}^{k} \frac{rel(i)}{log_{2}(i+1)} DCGk=i=1klog2(i+1)rel(i)
      • IDGC(ideal DCG):理想的DCG,IDCG的依据是:是根据rel(i)降序排列,即排列到最好状态。算出最好排列的DCG,就是IDCG。 N D C G = D C G I D C G NDCG=\frac{DCG}{IDCG} NDCG=IDCGDCG
  • 残差结构及意义:在结果上加输入,防止梯度消失和网络退化

  • Bert是由多个Transformer Encoder一层一层地堆叠起来

    • Embedding由三种Embedding求和而成
      • Token Embeddings:针对单词,会在开头加入CLS,结尾加入SEP
      • Segment Embeddings:区别两种句子,前句赋0,后句赋1
      • Position Embeddings:针对位置,不同于Transformer使用正余弦函数,bert随机初始化位置嵌入。前者只能标记位置,后者不仅可以标记位置,还可以学习到这个位置有什么用。
    • 长度限制为512

简单代码

  • 数据结构里面的算法,手撕就好(例如:—句话说快排)
  • 每一个数有一个概率,要求写一个随机数发生器,使随机数产生概率符合要求
  • 最大子矩形面积,(记得是leetcode原题,大家可以去看一下)
  • 判断数独是否是有效数独(行、列、每个3*3矩阵判断)
  • 矩阵中正方形最大面积
  • 2D接雨水

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

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

相关文章

大模型学习之GLM结构

探索GLM:一种新型的通用语言模型预训练方法 随着人工智能技术的不断进步,自然语言处理(NLP)领域也迎来了革命性的发展。OpenAI的ChatGPT及其后续产品在全球范围内引起了广泛关注,展示了大型语言模型(LLM&a…

分离式网络变压器与传统网络变压器在电路设计中如何选择?

Hqst盈盛(华强盛)电子导读:今天分享的是:分离式网络变压器与传统网络变压器在电路设计中如何选择? 首先,我们要了解传统网络变压器和分离式网络变压器在设计上主要有以下不同点: 1、传统网络变…

​​Vitis HLS 学习笔记--添加 RTL 黑盒函数

目录 1. 简介 2. 用法详解 2.1 需要的文件 2.1.1 RTL 函数签名 2.1.2 黑盒 JSON 描述文件 2.1.3 RTL IP 文件 2.2 操作步骤 3. 总结 1. 简介 Vitis HLS 工具可以将现有的 Verilog RTL IP(即硬件描述语言编写的模块)集成到 C/C HLS 项目中。通过…

专家解读 | NIST网络安全框架(3):层级配置

NIST CSF在核心部分提供了六个类别的关键功能和子功能,并围绕CSF的使用提供了层级(Tier)和配置(Profile)两种工具,使不同组织和用户更方便有效地使用CSF,本文将深入探讨CSF层级和配置的主要内容…

【PL理论】(24) C- 语言:有块的作用域 | 更新的语法 | 新的语义域 | 环境 vs. 内存

💭 写在前面:我们将再次扩展之前的C语言,让我们向这种语言引入“作用域”的概念。 目录 0x00 C- 语言:有块的作用域 0x01 C- 语言:更新的语法 0x02 新的语义域 0x03 环境 vs. 内存 0x00 C- 语言:有块的…

Golang | Leetcode Golang题解之第145题二叉树的后序遍历

题目&#xff1a; 题解&#xff1a; func reverse(a []int) {for i, n : 0, len(a); i < n/2; i {a[i], a[n-1-i] a[n-1-i], a[i]} }func postorderTraversal(root *TreeNode) (res []int) {addPath : func(node *TreeNode) {resSize : len(res)for ; node ! nil; node n…

大语言模型QA

Q:关于 Yi-9B 通过 input/output cosine 来分析模型,可能文档里没有把前提说明白。该指标确实存在你们提到的不同模型大小不可比的问题。所以我们比较的是同一个模型在不同训练阶段,以及 layer 深度相同的dense models 之间的比较。除了发现yi-6B/34B 随着训练 tokens 的增加…

Polkadot <> Kusama 桥:打造无信任互操作性的开创性范例

原文&#xff1a;https://www.parity.io/blog/trustless-interoperability 作者&#xff1a;Adrian Catangiu&#xff5c;Rust 区块链核心工程师&#xff0c;Parity Technologies 编译&#xff1a;OneBlock Polkadot <> Kusama 桥是无信任互操作性的开创性范例。本文深…

TCP相关细节

1. 常用TCP参数 1.1 ReceiveBufferSize ReceiveBuffersize指定了操作系统读缓冲区的大小&#xff0c; 默认值是8192(如图5-10 所示)。在第4章的例子中,会有"假设操作系统缓冲区的长度是8" 这样的描述,可通过socket.ReceiveBufferSize 8 实现。当接收端缓冲区满了的时…

实用软件下载:XMind 2024最新安装包及详细安装教程

​XMind不仅是一款易用且功能强大的思维导图软件&#xff0c;也是一个开源项目。XMind以构建一个社区向全球提供领先的跨平台思维导图和头脑风暴软件为目标&#xff0c;以帮助用户提升效率。XMind公司是XMind开源项目的主要代码贡献者&#xff0c;与此同时&#xff0c;我们欢迎…

Stable Diffusion本地化部署详细攻略

一、硬件要求 内存&#xff1a;至少16GB 硬盘&#xff1a;至少60GB以上的磁盘空间&#xff0c;推荐SSD固态硬盘 显卡&#xff1a;推荐NVIDIA显卡 显存&#xff1a;至少4GB Stabl Diffusion因为是在本地部署&#xff0c;对显卡的要求比较高&#xff0c;如果经济能力可以的话…

AI大模型爆发,你还不学就晚了!抓住时代机遇,快速入门指南!

AI大模型风起云涌&#xff0c;你准备好乘风破浪了吗&#xff1f; 在一个阳光明媚的午后&#xff0c;小李坐在自己的工位上&#xff0c;眼前的代码如同繁星般繁多。他是一名资深的软件工程师&#xff0c;但在最近的技术浪潮中&#xff0c;他却感到了一丝不安。他的朋友圈里&…

RN6752V1 高性能AHD转MIPIDVPBT656BT601芯片方案,目前适用于车载方案居多

RN6752V1描述&#xff1a; RN6752V1是一种模拟高清晰度&#xff08;模拟高清&#xff09;视频解码器IC&#xff0c;专为汽车应用而设计。它集成了所有必要的功能块&#xff1a; AFE&#xff0c;PLL&#xff0c;解码逻辑&#xff0c;MIPI和I2C接口等&#xff0c;在一个小的5mm …

LLM资料大全:文本多模态大模型、垂直领域微调模型、STF数据集、训练微调部署框架、提示词工程等

前言 自ChatGPT为代表的大语言模型&#xff08;Large Language Model, LLM&#xff09;出现以后&#xff0c;由于其惊人的类通用人工智能&#xff08;AGI&#xff09;的能力&#xff0c;掀起了新一轮[自然语言处理]领域的研究和应用的浪潮。尤其是以ChatGLM、LLaMA等平民玩家都…

【ARM Cache 及 MMU 系列文章 6.5 -- 如何进行 Cache miss 统计?】

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 ARM Cache Miss 统计Cache 多层架构简介Cache 未命中的类型Cache 未命中统计Cache miss 统计代码实现Cache Miss 统计意义ARM Cache Miss 统计 在ARMv8/v9架构中,缓存未命中(Cache …

人工智能在风险管理中的创新之路

随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;已经渗透到我们生活的方方面面&#xff0c;尤其在风险管理领域&#xff0c;其展现出的巨大潜力令人瞩目。风险管理&#xff0c;作为一个涉及广泛领域的复杂系统&#xff0c;正逐渐依赖于AI技术来提升效率和准…

简单了解CPU的工作原理

目录 一、基本结构以及对应功能 &#xff08;1&#xff09;基本结构 &#xff08;2&#xff09;几个重要寄存器的详细介绍 操作码 (Opcode) 操作数 (Operands) 指令表 (Instruction Table) 第一个&#xff1a;程序计数器 (PC) 第二个&#xff1a;指令寄存器 (IR&#x…

【Arthas案例】某应用依赖两个GAV不同但包含两个相同全限定类名StaticLoggerBinder,引起log4j.Level类找不到异常

3分钟内解决问题 两个不同的GAV依赖冲突&#xff0c;包含相同全限定类名&#xff0c;引起ClassNotFoundException Maven依赖的三坐标体系GAV(G-groupId&#xff0c;A-artifactId&#xff0c;V-version) 【案例1】某应用依赖两个GAV不同的jar&#xff0c;但包含两个相同全限定类…

探索互联网寻址机制 | 揭秘互联网技术的核心,解析网络寻址

揭秘互联网技术的核心&#xff0c;解析网络寻址题 前提介绍局域网地址IP地址的分配方式动态IP分配机制内部网&#xff08;intranet&#xff09;ICANN负责IP分配DHCP协议获取IP地址 域名系统域名是什么域名工作方式hosts文件存储域名映射关系DNS分布式数据库DNS域名解析 Java进行…

Java中List流式转换为Map的终极指南

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 在Java编程中&#xff0c;经常需要将一个List对象转换为另一个Map对象。这可能是因为需要根据List中的元素的某些属性来创建一个新的键值对集合。在本文中&#xff0c;我将向您展示如何使用Java 中的流式API轻松地实…