Interview:算法岗位面试—上海某公司算法岗位技术(偏机器学习,证券基金行业)面试考点之进程与线程区别、GD改进的算法、ROC和AUC

Interview:算法岗位面试—上海某公司算法岗位技术(偏机器学习,证券基金行业)面试考点之进程与线程区别、GD改进的算法、ROC和AUC

导读:其实,考察的知识点,博主都做过,但是,emmm,这些知识点,在我写代码中,几乎不会用到,so,会遗忘。所以,还需要下功夫,去多回忆回忆啦。


一、计算基础知识

1、进程与线程五大区别——进程是线程的boss

1、根本区别—进程管资源、线程管执行:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。进程是资源分配最小单位;线程是程序执行的最小单位。
2、内存分配—进程拥有独立的地址空间
3、资源开销—进程比线程开销大、线程可频繁切换
4、内部通信—线程通信更方便、进程间通信需IPC
5、资源开销—线程可以看做轻量级的进程
6、 环境运行—线程是进程的一部分、进程可有多个线程

二、深度学习算法相关知识

1、GD改进的算法

0、SGD—多次学习随机小样本更快
1、Momentum—动量有助于在正确方向上加速梯度,从而越过沟壑
2、NAG—下山过程中,根据对下一步要到达的点的预测,来自适应调整速度
3、AdaGrad—对不同的参数调整不同的学习率
4、Adadelta—Adagrad的改进版+引入时间窗(衰减因子)
5、RMSProp—自适应学习率方法
6、Adam—为每一参数计算自适应学习率的方法。本质上是带动量项的RMSprop,融合Momentum+AdaGrad两者优点

2、ROC、AUC

1、ROC曲线四点坐标

(0,0)表示:FPR=0,TPR=0。没有负样本预测错误(也就是负样本全部预测正确),正样本全部预测错误。这说明把全部样本都预测为了负样本
(1,1)表示:FPR=1,TPR=1。负样本全部预测错误,正样本全部预测正确。这说明把全部样本都预测为了正样本
(0,1)表示:FPR=0,TPR=1。负样本全部预测正确,正样本全部预测正确。这个模型很完美
(1,0)表示:FPR=1,TPR=0。负样本全部预测错误,正样本全部预测错误。这个模型太烂了。

2、ROC曲线相比P-R曲线更稳、更客观

(1)、样本不均衡时ROC基本不变而PR会变差:当正负样本的分布发生变化时,ROC曲线的形状能够基本保持不变,而P-R曲线的形状一般会发生较剧烈的变化。
(2)、ROC能够尽量降低不同测试集带来的干扰,更加客观的衡量模型本身的性能。
(3)、如果研究者希望更多地看到模型在特定数据集上的表现,P-R曲线能够更直观地反映其性能。

3、计算AUC

直接计算正样本score大于负样本的score的概率。首先把所有样本按照score排序,依次用rank表示他们,如最大score的样本,rank=n;其次为n-1。那么对于正样本中rank最

(0)

相关推荐