算法岗面试问题总结(一)

1. 回归可以设置SVM?

可以,SVM是判断回归f(x)==y的时候才预测准确,计算损失函数;
回归支持向量SVR是|f(x)-y|<alpha的时候就认为预测准确了。
在这里插入图片描述

2. 核函数特点,SVM线性不可分怎么办?

SVM是线性分类器,但是遇到线性不可分的时候就需要映射到高维(特征空间)就线性可分了。实现这个过程就需要核函数。
核函数是在低维上进行计算,将分类效果展示在高维。

线性核函数
多项式核函数
高斯核函数(径向基核函数)
sigmoid核函数

3. 说一说Xgboost和lightGBM的区别是什么?

lightGBM是Xgboost的更高实现,微软发布的。
Xgboost处理的问题时决策树训练时特征值排序浪费时间的问题。Xgboost在训练之前先将数据进行排序,这些排序好的数据组成一个个block。在节点分裂时,需要计算每个特征值的增益,然后找到最大增益的特征做分裂。这些block使得各个特征的增益能够多线程计算。

lightGBM主要是在上述的模型下进行改进。主要改进有两点,一是在不牺牲计算速度的情况下,尽可能发挥内存的最大使用率;二是减小通信代价,提高多线程运行的速度和效率。主要计数手段是并行方案改进、基于梯度的单边检测(GOSS)、排他性特征捆绑。

4. 谈一谈决策树的实现逻辑 信息增益、信息增益率公式

决策树是最简单的分类机器学习算法,其包括根节点(样本全集)、内部节点(样本的特征)、叶节点(决策结果)。决策树执行时,根据某个属性判断根节点里面的数据该进入哪个叶节点,一直到最后一个叶节点给出分类结果。是if-then-else规则的有监督学习算法。

信息增益=信息熵-条件熵

信息熵:实际上就是信息量的大小,而信息量的大小由这个事件发生概率的大小表征,概率越大,信息量越小。
在这里插入图片描述
条件熵:在某一前提条件下事件发生的不确定性
在这里插入图片描述
信息增益率公式为
在这里插入图片描述

5.卷积神经网络和全连接网络的根本不同之处在哪里

卷积神经网络至少含有一个卷积层,最后一层一般是全连接层;
全连接层的上一层每个神经元都会和下一层的每个神经元链接,没有卷积层。

全连接层:关注全局信息,计算量巨大、耗时,输入维度需要匹配
卷积层:局部链接,神经元参数共享(滑动窗口不变)

卷积层需要参数少,防止过拟合;只需要考虑上下文信息或共享信息就好。

二者都属于线性层,只能拟合线性函数。如果需要拟合非线性,则需要通过ReLU等引入非线性。

6.请你说说RF和SVM的特点,评价

SVM主要目的是通过支持向量确定一个几何间隔最大的超平面将数据集划分开来。它可以分离线性可分的数据,也可以通过软间隔分离似线性可分的数据,更可以通过核函数将数据映射到高维空间时间非线性数据的分离
在这里插入图片描述
RF(随机森林)是在决策树的基础上改进的,因为一棵树能选取的特征有限。因此就用多棵树来选择,这些树是随机生成的,每棵树的每一个节点都是特征值的子集,这样每棵树都会输出分类的结果。对于一个分类问题来说,将最后每棵树的结果求众数得到最终结果;对于回归问题来说就求平均值代表最后的结果。

SVM优点:

  • 解决小样本下机器学习问题(不像深度学习一样,依赖海量数据)
  • 可以解决高维问题,即大型特征空间(借助核函数);但当样本很多时,效率并不是很高
  • SVM的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数
  • 无需依赖整个数据,无局部极小值问题;但SVM算法对大规模训练样本难以实施
  • 能够处理非线性特征的相互作用,对于核函数的高维映射可解释性不强,尤其是径向基函数RF

RF优点:

  • 简单,容易实现,计算开销小,并且它在很多现实任务中展现出来了强大的性能
  • 它能够处理很高维度(特征很多)的数据,并且不用做特征选择(可以随机选择各种特征)
  • 训练速度快,容易做成并行化方法
  • 在训练完后,它能够给出哪些feature比较重要
  • 在创建随机森林的时候,对generlization error使用的是无偏估计,模型泛化能力强
  • 对于不平衡的数据集来说,它可以平衡误差;如果有很大一部分的特征遗失,仍可以维持准确度

7. Triplet Loss 怎么生成那三个点

在这里插入图片描述
训练前,Anchor和Positive的距离较远,和Negetive的距离较近。训练完之后相反
所以选择的依据是,同类图片中最不像的作为Positive pair,那么最不像的距离都很近,其他的自然就很近了;
选择不同类图片中最像的作为Negetive pair,不同类最像的距离都挺远,其他的更远了。

8. LSTM解决了RNN的什么问题,如何解决?

RNN(递归神经网络):它是一个以序列作为输入的神经网络,它的每一个隐层的数据都是由上一个隐层经过变换和激活函数得到的。因此,在进行反向传播求导时会携带上每一步梯度的连乘,这会导致梯度爆炸或者梯度消失。因此它很难处理长程依赖。

LSTM在传播过程中,它的梯度表示为
在这里插入图片描述
这个梯度值在每一步可以自主在[0,1]之间选择,因此梯度不会因此而消失,也就是它的每一步梯度可以说是独立的。所以远距离下梯度也不会消失。

9. 请你说说逻辑回归

逻辑回归是衡量我们想要获得的标签与特征之间的关系。这个关系以一个logistic函数给出,这个函数也叫sigmoid函数,这个函数的值位于0到1之间,是一个模拟值。
在这里插入图片描述
在这里插入图片描述
但是作为二分类,结果输出必须是0或者1,因此这个函数也将每个神经元的输出进行归一化。一般计算得到的结果表示为分类结果为1的概率,然后给出归一化值0或者1.

10. 说说各种loss的书写

(1)平方误差损失,L2 loss。 代价函数为平方误差损失的均值
在这里插入图片描述
(2)绝对误差损失。L1 loss
在这里插入图片描述
(3)smooth L1损失
在这里插入图片描述
(4)合页损失 Hinge loss 主要用在标签为-1和1的SVM中
在这里插入图片描述
(5)二分类交叉熵损失函数 Binary Cross Entropy Loss
起始就是描述不确定性,分类正确,则不确定小,分类错误,不确定大。
在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
专业面试我的技巧和经验: 一、 巧妇难为无米之炊,事前做一些功课是必须的,把自己学习过的和应聘位相关的内容复习下,比如性能与算法位:本科电子信息工程和通信工程这些课程肯定学过,通信原理,信息论和编码,信号与系统,数字信号处理,复习一下掌握大概的轮廓一个星期应该差不多可以搞定. 二、 善于引导面试官,比如当面试官问到什么问题不懂的时候,避免连问几个都不懂,可以尝试这么说:我***方面的知识比较匮乏,不是很了解,但是我对***的知识还是比较熟习,我觉得***的知识在我们华为性能与算法工程师必须要掌握的吧。以我面试为例,面试问我3G和4G的关键技术,已经这些关键技术的基本原理,我是做雷达信号处理的,确实不懂。我就和面试官说:对不起,因为研究生期间主要做的雷达信号处理的工作,我对移动通信的知识了解甚少,但是我对移动通信的基础只是比如通信原理和调制解调技术还有一定的了解(当然这都是我事先复习好的),我觉得无论什么类型的通信技术都离不开这些基本的理论。接着面试官就让我说信源编码和信道编码的作用已经他们通常采用的方法,当然我也就能对答如流了。所以,引导很重要。 三、 专业面试对自己简历上不要为了蒙骗面试官,写的项目自己捡不熟悉,对简历上的东西一问三不知,语言表达不清楚,说不半天不能告诉面试官你做的工作内容和意义,这个很不好。 群面 一般10-14个人,看当天应聘的人数而定,分2组,一个话题,让排序之类的,或者辩论之类的,不同的组会抽到不同的问题,不同的地方也会有不同的问题,在这里把问题说出来没什么意义,这一轮会有很多意想不到的情况,比如这组我本来不是选为组长,但是在做总结的时候面试官让我做总结,或者突然问你刚才某某同学说的话你同意吗,或者突然说你今天脸色好像不好看之类的,所以灵机应变才是王道。群面一般要自我介绍,自我介绍要简短,不要说太多,我建议按以下几个方面说,自己学校专业、来自哪里、然后说自己学习,主要稍微说下自己的项目,说下名字就OK了,然后说自己做项目获得成果,比如发表文章,专利和之类的。然后说自己优点和缺点,一般情况下优点缺点都要说,而且我觉得最好优点缺点自己多准备几个,免得到时候你要说的前面的人都说了,就像我们这组:我开始说缺点的时候说我性格比较急,做什么事情都想快点做完,午觉也不睡,但是经常适得其反,中午不谁觉,下午就工作效率低。后面好几个同学说的时候都这么说了,惹的面试官说,你们重复一个东西说。说缺点的时候大家要慎重,不要说和自己工作相关的缺点,比如我们那个组一个同学说:我的缺点就是比较随性,重要场合经常穿拖鞋为此挨了不少批评。 面试官:。。。。(前面省略了一些),你这种随行的行为有同学提醒过你吗?
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值