基础知识准备

本文涵盖了面试准备策略、解决正负样本不平衡的方法、EnsembleLearning的不同方法(如Bagging、Boosting和Stacking)、PyTorch和深度学习基础(如神经网络、激活函数、loss函数),以及Spark与Hive的区别和GDB调试技巧。
摘要由CSDN通过智能技术生成

简历相关的面试题

反思

1:可以把自己面试的过程录下来,进行事后分析和回顾
2:在牛客上发帖,让大家都帮忙改一下
3:这段时间可以去上课,打比赛充实下简历,搜广推方向!
4:把自己所做的项目都做成ppt进行演示
5:把自己的科研项目做好,这样面试的时候,就可以讲解的很顺利
6:估计得把lstm换成其他的项目
7:实习的时候把一些为什么理清楚

面经

https://www.nowcoder.com/discuss/430157062207823872

如何解决正负样本不平衡的问题

https://zhuanlan.zhihu.com/p/494220661
代价敏感学习(cost-sensitive)

查准和查全率

在这里插入图片描述
用户比较关心正例,查准就是在所有预测为正的里面有多少真正为正的;查全:在实际为正的里面有多少fp,特别要注意的是,表格不是直接按照TF/PN进行组合的,第二列是相反的!

理论上评测集数量越多,评估结果置信度越高

样本代表性、统计误差减少、置信区间收缩
在这里插入图片描述

Ensemble Learning

https://zhuanlan.zhihu.com/p/27689464
Bagging,Boosting以及Stacking

Bagging(bootstrap(bootstrap也称为自助法) aggregating):随机森林(Random Forest)
boosting
adaboost

在这里插入图片描述

Bagging与Boosting的区别

在这里插入图片描述

Stacking:指训练一个模型用于组合其他各个模型

在这里插入图片描述

PyTorch神经网络训练的一般流程

在这里插入图片描述

监督学习和无监督学习的区别

数据
训练的角度
在这里插入图片描述

生成式模型和判别式模型

贝叶斯决策论

在这里插入图片描述
但p(cj|x)很难得到

什么是后验概率和先验概率

在这里插入图片描述

区别

在这里插入图片描述
判别比较好理解(为什么神经网络也是判别?
在这里插入图片描述

通过这个图可以很方便的理解(生成式和判别式在干哪部分工作)

在这里插入图片描述

损失函数

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

激活函数(了解什么激活函数,sigmoid特点,relu呢?怎么改进)

在这里插入图片描述

sigmoid

在这里插入图片描述

Relu

在这里插入图片描述

激活函数的作用

auc曲线,怎么画

在这里插入图片描述

权重初始化

在这里插入图片描述## 【ML】线性回归和逻辑回归的联系和区别
联系:

逻辑回归可以理解为在线性回归后加了一个sigmoid函数。将线性回归变成一个0~1输出的分类问题。

区别:

1.线性回归用来预测连续的变量(房价预测),逻辑回归用来预测离散的变量(分类,癌症预测)
2. 回归和分类:线性回归是拟合函数,逻辑回归是预测函数
3. 损失函数:线性回归的参数计算方法是最小二乘法,逻辑回归的参数计算方法是似然估计的方法

sigmoid 和softmax的区别

在这里插入图片描述

BP算法

如何解决过拟合和欠拟合?

在这里插入图片描述

L1/L2正则化

【如何解决过拟合问题?L1、L2正则化及Dropout正则化讲解】https://www.bilibili.com/video/BV18r4y1M71J?vd_source=22a0d494d7d586e6e37e23570688a816
在这里插入图片描述
在这里插入图片描述

L1稀疏的理解

在这里插入图片描述

svm的面试

https://mp.weixin.qq.com/s/QHwMMbni1SxireA-yd2xNw

什么是svm

是一种用于分类和回归的监督学习算法。目的是在「特征空间」中找到「间隔最大」的超平面。

什么叫硬间隔软间隔?

数学表达式

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

与softmax回归的区别

在这里插入图片描述

进行多分类

在这里插入图片描述

LSTM

词嵌入(word2vec)

为何独热向量是一个糟糕的选择

任意两个不同词的独热向量之间的余弦相似度为0,所以独热向量不能编码词之间的相似性

解决方案:因此跳元模型和连续词袋都是自监督模型

将每个词映射到一个固定长度的向量,这些向量能更好地表达不同词之间的相似性和类比关系

跳元模型(Skip-Gram)
CBOW(Continuous Bag-of-Words Model)
两者的区别

在这里插入图片描述

词向量模型

不仅会更新神经网络的参数,而且还会更新输入(embedding)
在这里插入图片描述

构建训练数据

在这里插入图片描述

如果直接进行softmax输出,类别太多,耗时耗力

在这里插入图片描述

解决方案:输入2个单词,看其是否为前后对应的输入和输出

在这里插入图片描述

但此时训练集构建出来的标签全为1

在这里插入图片描述

解决方案:用负采样模型

在这里插入图片描述

完整的训练过程

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

介绍一下文本embedding方法?

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

transformer

https://mp.weixin.qq.com/s/D1cAf6k7ma0-Twn5nPn9Ug

为什么用layernorm

在这里插入图片描述

为什么不用BN(不同样本的同一维度没有语义信息,没用;而nlp中同一个样本是同一语义信息)在这里插入图片描述

为什么要用position embedding

self-attention无法表达位置信息, 需要增强模型针对位置的表达能力

transformer为什么要用三个不一样的QKV?

增强网络的容量和表达能力

为什么要多头?举例说明多头相比单头注意力的优势

进一步增强网络的容量和表达能力。不同的头也会关注不同的信息。

假设我们有一个句子"the cat, which is black, sat on the mat"。在处理"sat"这个词时,一个头(主语头)可能会更关注"cat",因为"cat"是"sat"的主语;另一个头(宾语头)可能会更关注"on the mat",因为这是"sat"的宾语;还有一个头(修饰头)可能会关注"which is black",因为这是对"cat"的修饰。

当然,这只是为了方便你理解,事实上就和卷积核一样,不同头关注的内容是很抽象的。

你当然可以就用一个头同时做这个事,但是还是这个道理,我们的目的就是通过增加参数量来增强网络的容量从而提升网络表达能力。

经过多头之后,我们还需要att_out线性层来做线性变换,以自动决定(通过训练)对每个头的输出赋予多大的权重,从而在最终的输出中强调一些头的信息,而忽视其他头的信息。这是一种自适应的、数据驱动的方式来组合不同头的信息。

transformer和cnn的区别

Transformer和CNN(卷积神经网络)是两种用于处理序列数据的流行深度学习模型,它们在结构和工作方式上有一些显著的区别:

结构:

Transformer:Transformer模型基于自注意力机制(self-attention mechanism)。它由编码器(encoder)和解码器(decoder)组成,每个编码器和解码器都由多个层(通常是Transformer层)组成,每个层内部通常由多头自注意力和全连接前馈网络构成。
CNN:CNN是由卷积层和池化层组成的层次结构。卷积层通过卷积操作从输入数据中提取特征,池化层用于降采样和提取最重要的特征。
处理序列数据的能力:
Transformer:Transformer模型在处理序列数据时具有很强的能力,特别适用于序列到序列(sequence-to-sequence)任务,如机器翻译和文本生成。
CNN:CNN在处理序列数据时通常用于提取局部特征,因此更适合于空间数据,如图像数据,但也可以应用于一维序列数据,如文本分类和语音识别。
局部信息的处理:
Transformer:Transformer模型在处理序列数据时能够考虑全局信息,因为每个位置的输出都可以由输入序列中的所有位置计算得出,而不像CNN那样依赖于固定大小的局部感受野。
CNN:CNN主要侧重于提取局部特征,通过卷积核的滑动来捕获局部信息,因此对于大规模的序列数据可能会有局部信息不足的问题。
参数连接方式:
Transformer:Transformer中的自注意力机制允许每个位置与其他所有位置进行交互,因此在参数连接方面更为密集。
CNN:CNN中的参数共享使得连接方式更加稀疏,并且在处理大规模输入时更加高效。
总的来说,Transformer适用于处理序列数据并捕获长距离依赖关系,而CNN则更适用于提取局部特征和处理空间数据,但两者在特定任务上也可能会有重叠和交叉的应用。

bert

Bert为什么三个embedding可以相加?

这里的三个embedding是指token embedding,segment embedding,position embedding。虽然在深度神经网络里变得非常复杂,本质上神经网络中每个神经元收到的信号也是“权重”相加得来。

为什么Bert中要用WordPiece/BPE这样的subword Token?

避免OOV(Out Of Vocabulary),也就是词汇表外的词。在NLP中,通常会预先构建一个词汇表,包含所有模型能够识别的词。然而,总会有一些词没有出现在预先构建的词汇表中,这些词就是 OOV。

传统的处理方式往往是将这些 OOV 映射到一个特殊的符号,如 ,但这种方式无法充分利用 OOV 中的信息。例如,对于词汇表中没有的词 “unhappiness”,如果直接映射为 ,则模型就无法理解它的含义。

WordPiece/Byte Pair Encoding (BPE) 等基于子词的分词方法提供了一种解决 OOV 问题的方式。现在更多的语言大模型选择基于BPE的方式,只不过BERT时代更多还是WordPiece。BPE 通过将词分解为更小的单元(子词或字符),可以有效地处理词汇表外的词。对于上面的 “unhappiness” 例子,即使 “unhappiness” 本身不在词汇表中,但是它可以被分解为 “un”、“happiness” 等子词,而这些子词可能在词汇表中。这样,模型就可以通过这些子词来理解 “unhappiness” 的含义。

另一方面就是,BPE本身的语义粒度也很合适,一个token不会太大,也不会小到损失连接信息(如一个字母)。

Bert中为什么要在开头加个[CLS]

BERT在第一句前会加一个[CLS]标志,最后一层该位对应向量可以作为整句话的语义表示,从而用于下游的分类任务等。

为什么选它呢,因为与文本中已有的其它词相比,这个无明显语义信息的符号会更“公平”地融合文本中各个词的语义信息,从而更好的表示整句话的语义。

具体来说,self-attention是用文本中的其它词来增强目标词的语义表示,但是目标词本身的语义还是会占主要部分的,因此,经过BERT的12层,每次词的embedding融合了所有词的信息,可以去更好的表示自己的语义。

而[CLS]位本身没有语义,经过12层,得到的是attention后所有词的加权平均,相比其他正常词,可以更好的表征句子语义。

当然,也可以通过对最后一层所有词的embedding做pooling去表征句子语义。

Bert中有哪些地方用到了mask

预训练任务Masked Language Model (MLM)、self-attention的计算、下游任务的decoder

预训练阶段的mask有什么用?

主要的思想是,把输入的其中一部分词汇随机掩盖,模型的目标是预测这些掩盖词汇。这种训练方式使得每个位置的BERT都能学习到其上下文的信息。

attention中的mask有什么用

实习经历

spark和hive区别(mapreduce)

在这里插入图片描述

简述一下 GDB 常见的调试命令

zj中sft的数据有多少?

原始的正负样本为332:7928,经过去重之后为290:6932,

处理正负样本不均衡问题

在这里插入图片描述
https://zhuanlan.zhihu.com/p/494220661
通过某种方法使得不同类别的样本对于模型学习中的Loss(或梯度)贡献是比较均衡的

集成学习

在这里插入图片描述

聚类有哪些算法?

k均值

在这里插入图片描述

大语言模型参数规模与显存大小的关系

参数、梯度、一阶动量、二阶动量=x*4
https://mp.weixin.qq.com/s/-f9AY-nYRKaWKjDKhSW2iw

encoder,decoder,e-d的应用场景

https://blog.csdn.net/xinquanv1/article/details/136287616
https://cloud.baidu.com/article/3321333

encoder-only

仅包含编码器部分。它主要适用于不需要生成序列的任务,只需要对输入进行编码和处理的单向任务场景,如文本分类、情感分析等。这种架构的代表是 BERT 相关的模型,例如 BERT、RoBERT 和 ALBERT 等。

Decoder-Only模型:

结构概述:Decoder-Only模型仅包含解码器部分,没有编码器。它直接基于输入序列(可能经过一些预处理)生成输出序列。
注意力机制:Decoder-Only模型通常采用单向注意力机制,意味着在生成过程中只能看到之前的词,而不能看到后面的词。这种机制使得模型能够自然地处理生成任务,如语言模型和对话系统。
代表模型:如GPT(Generative Pre-trained Transformer)系列模型,在文本生成、对话系统等任务中取得了显著成果。

Encoder-Decoder

Encoder-Decoder架构的应用场景
机器翻译:输入一种语言的句子,输出另一种语言的翻译结果。例如,将英文句子翻译成中文。
文本摘要:输入一篇长文章,输出其简洁的摘要。这在新闻、学术论文等领域有着广泛的应用。
对话系统:输入用户的问题或指令,输出相应的回答或执行结果。例如,智能客服系统、语音助手等。
语音识别:输入语音信号,输出对应的文本内容。这是人机交互领域的重要技术之一。

为什么现在的大模型架构都是decoder-only?

https://www.zhihu.com/question/588325646/answer/3357252612
在这里插入图片描述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值