首页 > 记录一下自己艰苦的2020秋招---累觉不爱
头像
撸串研究生
编辑于 2020-10-22 15:35
+ 关注

记录一下自己艰苦的2020秋招---累觉不爱

2020注定是不平凡的一年,疫情肆虐,洪水四起,历史的巨轮重新回到庚子鼠年。
屋漏偏逢连夜雨,恰是那么不巧,本命年的咒怨降临到了自己头上,不过最后看来,一切也还刚刚好。
截止目前拿到了滴滴、oppo、华为、贝壳、百度的意向书,还有小米、新浪、顺丰泡在池子里,等待开奖。主要岗位集中在算法,部分开发。感谢oppo的顶薪配置,华为的15级sp预定,百度的核心推荐看得起我。
尤其是oppo提前批对我也是莫大的肯定吧,可能自己也觉得不值这个价。但是确实让我看到了满满的诚意与肯定。
=============================================================
记于2020.09.29---回忆录
3月份初识茅庐
殊不知3月份的某个午后准备开始投简历的那一刻起,接下来的半年时间就已被痛苦所预定,也毫无生活可言,有的只是毫无感情的工作寻路进程。
还记得当时的自己一张白纸,可能连语言关都过不了,也是头铁,处女面就上来聊腾讯,感谢腾讯小哥的不杀之恩,也让我知道了原来还有操作系统、计算机网络、数据结构与算法、数据库,还有那么多路要走。
虽然自己研一的主要工作集中在医学算法分割领域,但是所在纯生物实验室实属寸步难行,但是自己又不想放弃这一背景,怎么办呢?头铁两手准备吧,记得3月份实习面试主要集中在开发岗位,疯狂看C++,操作系统主要以面经为主,后来又恶补了操作系统,但是真的觉得要失业了,b站视频疯狂刷,一整天2倍速都在看视频,也是在这个过程中才明白了原来用户态和内核态很多底层的东西有那么多要细扣的部分。
计网的话其实自己也没有系统学过,和各位科班大佬肯定差距不是一点半点,但是请相信勤能补拙,只要你强迫自己不停看,反复看,变着花样看,次数和时间总会在你的大脑中留下痕迹。而且常见的问题也就那么点,高频点只要自己愿意总结,愿意理解,原理自己串起来,总是可以学会的。
数据结构和算法的话肯定是大头了,面试过程中无论你讲的再头头是道,代码没写出来,照样GG,这一部分也是自己花费时间比较久的部分,首推剑指offer,至少三遍以上,因为年前我跟着yxc大佬刷过一遍,但是是拿C++写的,后续因为自己还不想放弃算法,所以3月份又拿python过了一遍,没有思路不要紧,我采取的是看题解的方式,因为时间紧迫,站在巨人的肩膀进行复刻可能更适合自己把。
数据库的话主要也是看视频做笔记,b站上有尚硅谷和黑马的视频,有时间都可以刷一刷。
3月份的话其实现在回头看看也是学了蛮多的,不过看了就忘,忘了再看,哦,对,说来也菜,当时的自己连C++语言的底层和python语言的很多特性都不怎么熟悉,于是又是浩如烟海的寻找资料,跟着资料跑demo,语言关也是恶补一通。(故事略长,谨慎食用,文末链接面经奉上)
4月份沼泽游泳
月亮不睡你不睡,俺是摇摆小宝贝。来到4月感觉算法的东西也得学一学,时间有些久远,路线有些摇摆。印象最深的是李航老师的《统计学习方法》和《百面机器学习》这两本书了,讲的很透彻,在后面自己的秋招之路上两本书也是如雷贯耳,如沐春风。整个过程中也一直穿插着一些面试,依然记得这段时间是最苦最累,也是最否定自己的一段时间,为了安静,半个月的时间里,每天早上8点离家出走,到图书馆掏出小蓝书,从头读到尾,似懂非懂,因为本来数学公式就晦涩难懂,于是拿出白纸对着所有公式,所有角标照推一遍,不仅加深理解,同时也是宝贵的复习笔记。后来为了进一步加深对工程实现的理解,自己又找到了从感知机到SVM整个监督学习部分的代码实现,咱菜还不能抄啊,安排
!照着照敲一遍,确实对于原理和数据理解这一块帮助很大。经典就是经典!这段时间基本都是晚上12点睡,7点起,中间再失眠个把小时,整日生活在面试被否定,抑郁再振作的恶性循环中,不过现在看来,还是很感谢当时没有放弃的自己把,黑色4月,积淀4月。当时自己又担心溺亡在算法的死海中,又退而求其次搞起了数分,看起来了业务场景,当时的自己没有休息,没有生活,因为确实不配,业余时间就看《增长黑客》,学人家的用户拉升、营销思维,最后有用吗?有的!所有的付出或多或少在未来的时间点以某种方式反馈给你,种一棵树最好的时间是十年前,其次是现在。这个阶段还要饱受老师的云会议摧残,完成了第2篇SCI论文的投稿,虽然审了6个月,但是结果是好的,也就值得了。
酱油5月
时间一晃来到5月,时间线就是简单,5月的记忆不是很多,就像这个夏天留个我的怀念一样,少之甚少。不过5月第一家小公司给了信陆金所做数据前端收集、清洗的工作,但是因为没有返校只能一拖再拖,最后人家找到了下家,没去成这里也不知道是福是祸,不过这都不重要了。对,但起码5月的开端是灰暗的,因为在看jd的时候发现了对linux和hadoop大数据的要求,于是乎,精神小强再次振作,虚拟机开始在电脑上安排,直至内存爆棚,从基本的命令行到伪分布式部署,也学了半月20天吧,虽然忘的也差不多了,但是谁知道呢,玩意以后用得着呢,当然liunx是基础之王哈、趁早熟悉比较合理、
肯定6月
6月份的话应该是在找实习阶段对自己肯定最多的一个月了,先后拿到了滴滴数分、TI的FAE、亚马逊软件开发和平安科技的算法实习岗。其实自己还是蛮想去亚马逊感受一下国际大厂的氛围的,无奈我们亲爱的导师希望我们认真科研,没有假期的哦,拜拜了您哩,亚马逊就这样被我鸽了,属实牛逼。同理滴滴的数分也远在北京,身处魔都的我也无力回天啊,不过还好,秋招提前批它是第一家给到意向书的公司,感激之情,临表涕零。虽然不能出去,但是我们总要偷偷折腾一波呀,人不猥琐枉少年啊。想到后续硬件销售不是自己想去的行业,TI也被放弃,对,中间硬件也面了,只要想不到的,没有面不到的。当然今年的TI岗给到的薪酬体系也是很有竞争力的,无奈自己可能被终面遗忘了吧,不重要!所以最后感谢平安收留了俺一个半月,虽然断断续续,但是确实一个完整项目跟了下来,这个也是秋招阶段的主要聊点之一。在这里也认识了一些朋友,印象深刻又刻骨铭心,感谢秋招路上一起飞!说起折腾,6月又给自己上了双保险,项目不够怎么办,可劲造,于是kaggle竞赛安排上,当时自己也是小白一个这样的数据比赛没经验啊,比赛也得折腾20天吧,从开始的题意理解困难,到参考别人的baseline,再到模型论文一把抓,感谢队友的一路成长,依然记得截止前的那一周,基本搞到1,2点吧,最后一天的晚上基本一夜未眠,3小时起来一趟,清晨的粥,夜里的酒,啥也不是!当然一切是值得的,这个成为了秋招简历上的高频提问点。只能说感谢折腾,感谢您哩!
搬砖7月
7月份的上海有些噪热,也有些落寞。燥热的是天气,落寞的是每天在路上奔波的自己,一趟来回3个小时,晚上回来还有伴随着leetcode摧残折磨,说不痛苦是假的,但有什么办法呢,路是自己选的,导师是自己配的,扔了不成?依然记得有一次导师突发消息要见我,我可是感谢他哦,冒着大雨,千里奔波,通勤两小时,见面2分钟,真香!还有我们从3月份开始的每周组会,真的是很棒的呢!不过不重要!7月份的时间主要花费在了来回的地铁上,5号线和1号线成为了自己这个夏天里印象最深的字符配置。当然这个过程也是难度重重,因为关于3D医疗影像学自己之前也是没有接触过,来到平安相当于来到一个新的领域,但是没有更对口的项目和实习了啊,只能硬刚呗,我记得前一周基本都在配置公司的分布式训练平台和SSH密钥各种骚操作,当然这里也有一些可爱的人一直在帮我,尤其是我的leader,基本后期对我无语了,来的时间少,产出又没有,不过这一个月确实对整个CV背景和上线流程有了一个清晰的了解,对自己秋招帮助也是蛮大的。
惨淡8月
8月份就是正式的秋招心路历程了,目前手里的大部分offer也是8月份提前批给到的,说不痛苦都是假的,从开始的不断被否定,到陆续自信,再到查漏补缺,项目完善,每一次面试都是对自己的一次打磨,从臭石到璞玉,犹如鞭尸般痛楚,但最终希望能如凤凰般涅槃。天很高,云很近,路也很长,用半年的时间去追赶别人几倍的知识积累沉淀,学的又多又繁又杂,可能地基不稳后患无情,但是这都不重要,这段经历应该是自17年升学阶段以来最值得怀念的日子了,也很感谢自己坚持了下来,当然这一切都是开始,选择比努力更重要,但是思想和意识会决定你发展的方向和高度,接下来的日子里请继续努力。文章修回,专利授权,数据补全,顺利毕业!

也是在牛客网上看到的一句话,很喜欢,作为本文的结束语叭:

迟暮之年,回顾一生,就会发觉:什么时候出国读书,什么时候决定做第一份职业、何时选定了对象而恋爱、
什么时候结婚,其实都是命运的巨变。只是当时站在三岔路口的我,眼见风云千樯,还以为是生命中普通的一天。

==========后台学习路线============
后台学习路线:github上资深学习规划
yxc大佬刷题网站,C++大佬,b站亦有配套视频,讲解细致,只差拜读,刷题网站
C++基础后台宝典:
哈工大李治军老师的操作系统课程,从底层汇编到C实现整体感觉逻辑链都比较清楚,同时对于一些常见的进程调度、内存分页、fork函数缘由从寄存器角度都具有完整的阐述链,是我的入门课程之一叭
资深水准up主倾情推荐,言简意赅又level爆表,值得短期速成、
数据结构与算法  浙江大学陈越姥姥的视频,前辈推荐,确实稳的一批,虽然自己学的一塌糊涂
labuladong的算法小抄,刷lc的都看过他的题解
Linux shell脚本,awk的常见用法
Hadoop,spark大数据入门,略微有点多
自己总结的一些笔记,其实也是搬运工而已,可能纸质版会写的多一点

==========算法学习路线============
Github中文排行榜,基于语言的各种优质项目和学习资料,可以大海淘沙
《统计学习方法》的数学算法实现,建议手撸一遍,可以对原理有更深刻的认识
深度学习500问,强烈推荐,从数学到ml到dl,从经典结构到扩展,入门书籍,总结奇全
又一神作,同时配有demo,工程实现,甚是很香
《Python 大战机器学习》的作者,这个不是一般的全,是真的全,但是确实难懂,nb的人确实有过人之处
Python语言入门及例子练习

=========数据分析学习路线============
知乎猴子老师专栏
数据预处理精华帖
数据分析面试题总结,有业务,有算法,有策略,有场景
常见的SQL50题,也是入门50题
高级SQL,窗口函数,b站有配套视频,可以查ID

书籍目录
《统计学习方法第2版》PDF+代码+课件
上述书籍的电子版也已经整理成百度网盘的形式,方便后来人直接阅读。
提取码: 5i5m
=========实习面经分享环节============
2020.04.27 腾讯优图后台开发

1、 虚函数

2、 堆和栈的区别、迭代器

3、 前n个数找前k个数数组里,快排的思路和实现

4、 数据库有没有什么懂的

5、 C++里边STL的底层实现

Mapunordered_map

6、 进程和线程之间的通信方式,尤其是线程

死锁产生的条件和破坏他们之间的方式,说一下套接字

7、 Linux的操作命令

8、 STL源码中的hashtable的实现

9、 STLunordered_mapmap的区别和应用场景


1、 python为什么运行速度比较慢

2、 python里的多线程实现与服务,可以实现吗、

3、 ios网络模型,传输层和运输层

4、 linux中的awk语句TCP/IP

5、 C++里的虚函数表的存储位置,extern外部关键字

6、 7 层模型,路由在哪层

7、 STL底层


2020.04.27 字节数据挖掘

1、 TOP K 问题 时间复杂度

从方案到实现到复杂度

2、 25匹马 5个赛道找出其中最快的3匹马

智力题要总结

3、 Python里进程、线程的实现方式,全局锁

4、 大根堆,小根堆的介绍

5、 最大连续子数组和

6、 SSL加密,包括对称加密,非对称加密,数据的传输过程

7、 互斥锁、条件锁

8、 MySQL的索引 事务

亚马逊 解决方案架构师

Xgbost预测趋势时,会把范围限定在一定范围内,如何解决这个问题?---差分

在实际中一定是有这个问题的?模型本身的缺陷?

Lstm输入时如何解决对齐的问题,比如不同商店的不同物品销售额不同,补零以后会不会很稀疏

时间特征有哪些构建?最重要的特征有哪些?怎么体现

特征的重要性怎么删除,有哪些方法?

数据预处理的方法有哪些?

One-hot编码的方法有哪些?是什么意思、

为甚么用U-net,有没有用其他方法?它和fast-rnn的区别和优势体现在什么地方?

为什么这么做,sobel算子的具体指标框架是什么?

陆金所 数据分析

1、 SVM可以用于回归嘛,为什么用核函数,包括他的高斯核比正定核要好一些

2、 XGboost的并行化体现在哪里

3、 python的深拷贝、浅拷贝

4、 python内部list列表的队列操作,可以有没有什么其他的简单操作

5、 SVM的支持向量,为什么叫支持向量?支持向量是什么?

金融+平安算法

1、 关系型数据库和非关系型数据库的区别

2、 MongoDB数据库有没有用过

3、 常见的网络状态码200,404,502,301

4、 TCPUDP的区别

5、 讲一下LR模型

6、 数据库中去重用到哪些,有哪些去重的手段,数据读取过程中

7、 数据清洗的一般步骤有哪些

8、 模型调参里面用到的损失函数有哪些

9、 GPU为什么比CPU要快?

数据库和SQL语句要多用一些、

Tahh比sigmod的优点在哪里

Relu函数的优点在哪里、

图像上的广度优先遍历BFS、图像区域中的4联通域怎么圈出来

常见的语义分割网络有哪些?Mask R-CNN V-Net FCN

TOPk的问题,数据流中的问题

招银网络科技

1、 PV信号量----进程之间的通信方式

2、 C++中的封装、继承、多态

3、 STL中的库 各种容器的使用方法 底层的算法 包括sort函数

4、 数据库有没有使用过包括游标 示图等

5、 Mallo/free new/delete 的使用方法

6、 解释一下递归函数 dfs的作用

二面

实现一个简单的string

Staticconst的区别

重载和重写的区别

程序编译的一般过程

手写冒泡

大端与小端

字节对齐

静态变量初始化在什么时候

Linux中的套接字,网络通信部分

项目中用的C++部分

偶数除以2,奇数乘3+1,输出需要运算的总次数

狐科技算法

1、 struct里定义intfloat两个变量,在64位机器上sizeof会输出多少、

2、 py中的闭包、协程、字符串格式化输出形式有哪些?

3、 堆和栈有什么区别

4、 说一下反向传播原理

5、 逻辑回归和线性回归之间的区别,LR model中的主要参数有哪些

6、 说一下BN归一化,其中的公式是什么,怎么训练

7、 常用的损失函数有哪些,激活函数有哪些

8、 引用、深拷贝、浅拷贝有什么区别

9、 Python里单下划线和双下划线有什么区别

10、程序编译的一般步骤有哪些?

百度

1、ID3为什么可以处理离散值,CD4.5可以处理连续值嘛

2、SVMLR的区别,什么时候适用

3、树模型,RFGBDTXGBOOST的区别联系

4、梯度消失和梯度爆炸,为什么会产生

5、L1,L2正则化的区别

6.、评价指标 AUC和ROC曲线 如何计算

7、CNN卷积网络知道多少,你的U-Net网络最深到多少层、介绍一下你的这个项目

8、分层打印树


=========秋招面经分享环============

滴滴数分

1、 要进入一个装修行业怎么分析

2、 单车投放怎么分析,如何派送?

3、 滴滴订单在某一个地区如何进行派送?

4、 订单销售额下降应该怎么处理?

5、 如何处理事件冲突的问题,明天是DDL,可是事件有限,如何处理

6、 说出自己最大的两个优点和缺点是什么?

总结

业务面试题?

1.      对目前互联网公司的额看法

2.      有没有之前了解过海外业务?

3.      讲述项目的时候不能太快,要注重听者的感受,同时要自己主动阐述遇到的问题,让面试官看到闪光点,不需要主动挖掘、

视频质量怎么打分?

单车如何派送?

时间、温度、地点、季节

横向中一天的具体时间点,纵向的话一年四季的某个具体时间节点

温度,天气,是否有雨,夏天高温单车的需求量会相应增加,体感温度

是否有大型活动,是否在商圈附件,距离地铁的直线距离,工作写字楼的空间分布


虾皮产品经理一面

1、你是如何理解产品经理这个岗位的

用户需求/业务需求转换为产品需求,负责产品的设计/执行和成果负责

从一开始的需求调研、产品规划(目标定位、竞品分析)、产品设计(UI前端设计、后台功能开发、SDK包的可迁移性)、产品执行、产品的后期推广和迭代

AARRR model

获取用户(Acquisition
提高活跃度(Activation
提高留存率(Retention
获取收入(Revenue

自传播(Refer)/
2、你认为产品经理需要具备哪些能力


学习能力、抽象能力、数据分析能力

决策能力、取舍能力、

逻辑思考能力、协调沟通能力、执行力保证落地

作为项目经历,要对孵化的整个产品全方位负责,在提需求的时候,换位思考,保证开发、运营各个团队最大程度的理解需求并且在语义共识上达到最大比例。

好的产品定义:真正解决需求,有广阔的市场、有一定规模的粘性用户,保证市场存活;用户体验优良,最后要有可行的潜在盈利模式。

版本控制:开发版本、测试版本、发布版本,彼此没有交集,减少合并冲突

产品架构设计:战略层(用户需求)、范围层(功能列表和优先级)、结构层(功能关系、信息架构)、框架层(流程与逻辑)、表现层(UI交互)

互联网思维:“专注、口碑、极致、快”

认知盈余:内容消费、内容分享和创造,其价值远大于消费

用户调研:

用户访谈、焦点小组、可行性测试、用户画像

定量:调查问卷、数据分析、眼动测试

商业模式:流量变现(广告、导流)、佣金分层模式(美团、淘宝)、、增值服务模式(游戏充值)、收费服务模式(企业邮箱)

3、跨境电商为什么想来虾皮:

市场东南亚电商的普及度低、硬性条件(手机移动互联网的普及率高)、商家入驻简单,需求和市场的可扩展性决定了未来的发展前景

人口红利+电商市场潜力

入驻简单引流、出单程序流程快+商家规划选品+执行力+物流生态链

开拓市场负责人:

自身产品优势、自身定位、市场分析、竞品分析

客户目标丁文,擅长什么,能给客户提供什么。解决什么问题、与潜在客户的目标客户进行来袭,提供独特卖点

电商平台:商品展示功能、会员管理功能、网上交易功能、商品搜索功能

产品卖好+配送好

买家:在线咨询功能、购物体验、售后保证

卖家:物流配送管理系统

4、推荐功能

聚类、标签,推荐用户感兴趣的商品,具体包括常规推荐和个性化推荐

将固定商品放在推荐位,基于商品之间的关联性进行相关商品的 。(具体包括销量排行榜、浏览、收藏数据做的商品统计)

内容电商, 图文、视频的引流方式、直播带货。内容中嵌入商店入口,

简历内容社区,提供评论等各种方式,增加用户粘性

基于用户的购物习惯进行个性化推荐,基于用户的协同过滤算法和加基于物品的协同过算法,包括冷启动和热启动的一般问题,以及引入随机性,解决推荐过程中越推越窄的问题

用户行为记录模块、用户行为分析模块、商品分析模块、用户画像,从备选项中进行排序推荐

具体包括召回。推荐、倒排序这样的机制在推荐算法中,一般的FM,FFM因子分解机模型

5、抖音和快手的区别

快手:记录世界记录你

抖音:记录美好生活

运营模式不同、算法不同、主要用户群体不同、内容不同、流量不同、用户使用习惯也不同

6、餐馆周边预测,行业预测问题
7、如何提高电商的转化率,最后一步购买的转化率
8、微信朋友圈有哪些改进的点
9、微信用户流失的问题的解决



9.13面试百度

1、SGD还有哪些其他梯度下降的方法?

经典梯度下降法(计算所有全部样本)、SGD随机梯度下降法、小批量梯度下降(online earningm2n次幂、lr动态调整)

其他的一般最优化方法还有直接推导法(本身是凸函数有闭式解,可以直接推导),牛顿法,拟牛顿法。

更一般的还有动量(Momentum)方法、AdaGrad(历史梯度平方和)、Adam一阶矩和二阶矩,利用指数滑动平均加权的方式可以进行梯度更新。

2、神经网络中如何将进行梯度检查与优化

可以将反向传播计算得到的梯度和利用导函数计算得到的梯度进行对比,n代表了θ参数维度,我们对每一个θ_i执行上面的求导方法。之后检验我们使用导数定义求得的导数和使用反向传播求得的导数是否接近(几位小数差距)或者相等。那么我们就可以确定反向传播的实现是正确的。可以很好的优化J(θ)


注意:我们只需要使用一次梯度检验来检验我们反向传播算法求得的导数是否正确。如果正确,那么我们后面的学习就需要关闭梯度检验(因为使用梯度检验计算量大、且慢)

也可以利用反证法,计算得到的梯度如果有更小的值说明当前梯度更新的值不太对。

3、什梯度负方向是梯度下降最快的方向?

4、对于特征组合项有没有思考过其他一些模型?
autocross进行特征组合

该方法利用集束搜索策略(beam search strategy)构建有效的组合特征

利用GBDT进行特征选择个特征组合输入下一层

决策树进行特征组合

5、LR Model中有哪些问题可以优化解决?

L2正则化、特征组合、解决线性不可分问题的扩展
6、为甚么用adam优化器?比其他的优点在哪里?就一定要用adam嘛?

adagrad, 利用累计的梯度平方和作为分母,导致优化到后期,分母越来越大,update的越来越小;另一方面,由于是用梯度平方和作为分母,如果一个参数出现的次数很少,则相对出现多的参数,分母会比较小,即update较多。适合处理稀疏数据。

7、C++11中有哪些比C++9之前的优势有哪些?

auto关键字,可以通过赋值语句自主推导变量定义类型

空指针常量nullptr,利用关键字单独充当指针常量

右值引用和move语义,

利用右值引用,存储在CPU或者寄存器中,不可以求地址,通过move语义在复制构造函数和移动构造函数中自动选择,在临时对象被析构之前,直接将对象内容进行拷贝和复制出来,从而避免了内存多次调用的问题

其中右值引用存储在CPU或者内容中,直接修改指针,避免内存多次调用

shared_ptr使用了引用计数,每一个shared_ptr的拷贝都指向相同的内存,每次拷贝都会触发引用计数+1,每次生命周期结束析构的时候引用计数-1,在最后一个shared_ptr析构的时候,内存才会释放。

weak_ptr是用来监视shared_ptr的生命周期,它不管理shared_ptr内部的指针,它的拷贝的析构都不会影响引用计数,纯粹是作为一个旁观者监视shared_ptr中管理的资源是否存在,可以用来返回this指针和解决循环引用问题。

std::unique_ptr是一个独占型的智能指针,它不允许其它智能指针共享其内部指针,也不允许unique_ptr的拷贝和赋值。使用方法和shared_ptr类似,区别是不可以拷贝:

智能指针
auto_ptr
(赋值时有缺陷)
shared_ptr
(析构函数引⽤计数,允许多个指针指向同⼀个对象;成员数据中有count,当count==1 才释放内存,否则析构函数只负责count--
unique_ptr
(不允许赋值,除⾮是临时对象的赋值;⽀持指针的数组)
weak_ptr (
弱引⽤当引⽤的对象活着的时候不⼀定存在。仅仅是当它存在的时候的⼀个引⽤。弱引⽤并不修改该对象的引⽤计数,这意味这弱引⽤它并不对对象的内存进⾏管理,在功能上类似于普通指针,然⽽⼀个⽐较⼤的区别是,弱引⽤能检测到所管理的对象是否已经被释放,从⽽避免访问⾮法内存)


8、过拟合的解决方案?随着epoch的增加,loss不增反降原因有哪些?

9、LR model中y输出是1-1的时候怎么办怎么操作?

替换模型,利用GBDT二元分类树解决labely=正负一的情况

其中GBDT的损失函数分为两种,回归树是MSE,分类树是指数函数和对数似然函数作为它的损失函数。

一是采用指数损失函数,这样GBDT就退化成了Adaboost,能够解决分类的问题;

二是使用类似于逻辑回归的对数似然损失函数,如此可以通过结果的概率值与真实概率值的差距当做残差来拟合;

在过程中没有闭式解,一般使用近似值进行代替。

从以上过程中可知,除了由损失函数引起的负梯度计算和叶子节点的最佳残差拟合值的计算不同,二元GBDT分类和GBDT回归算法过程基本相似。那二元GBDT是如何做分类呢?

但实际上LR Model是逻辑回归模型,对数几率为线性,将输出的连续值映射到【0,1】区间内,一般的阶跃函数不可导所以引入sigmod函数,对数几率函数,因此它会映射到这个区间,而不会取到-1值这种情况。

性模型到广义线性模型,是从回归任务到非线性映射引***系函数的一种机制。

逻辑回归也是广义线性回归中的一种以对数几率函数为联系函数的特例

10、Lstm最后一层的输出函数的激活函数是什么?

一般根据任务来进行确定,如果是常见的分类任务的话,最后一层一般是softmax或者sigmod函数,进行概率值评分输出

在我们的任务中是回归任务,但是也要给出30490维度的输出,所以最后是全连接层,默认是线性模型直接进行各位维度下商店的预测结果即可。

11、Lstm为什么可以解决梯度消失梯度爆炸的问题?

12、Lstm中用到的激活函数有哪些?为甚么是这些激活函数?

13、特征选择的常见方法有哪些?

14、拉格拉日乘子法中的优势和问题展开?

在求解最优化问题中,拉格朗日乘子法(Lagrange Multiplier)和KKTKarush Kuhn Tucker)条件是两种最常用的方法。在有等式约束时使用拉格朗日乘子法,在有不等约束时使用KKT条件。

拉格朗日乘子存在数值问题,使用拉格朗日乘子法执行约束会导致鞍点问题,并且相应的线性系统是不确定的

15、原子操作知道嘛?CAS

16、常见的数据结构有哪些?

17、评估指标用到哪些?

18、3D V-Net的具体的调参技巧有哪些?

19、如何验证一个分布是高斯分布?因为提到高斯分布和拉格拉日分布?

利用W检验和D检验(spssmatlab中有专门的检验函数),偏度和峰度,

利用假设检验设定原假设和备选假设,然后基于偏度和峰度的计算规则计算统计量和置信区间,拒绝域等信息。

正态概率累积分布图法,利用概率密度函数和累积概率密度函数分别计算数据的分布验证。大数定律和频率逼近。

小米

1、Softmax函数如果不加会怎么样?为甚么要加softmax函数?

2、LR为什么是对数损失函数,可以用其他的MSE损失函数嘛?

3、为什么适合离散特征

4、为什么不用平方误差

回归问题中常见的损失函数:

MSE和MAE,均方误差(L2误差)和平均绝对误差(L1误差)

其中MSE的问题因为有平房项,会对离群点异常敏感,而MAE有效缓解这个问题,MSE对应的用数据均值来代替,而MAE是基于中位数来进行代替,因此可能效果更优。

L1损失对异常值更加稳健,但其导数并不连续,因此求解效率很低。L2损失对异常值敏感,但给出了更稳定的闭式解(closed form solution)(通过将其导数设置为0

Huber Loss,平滑的平均绝对误差,在回归问题中将二者的优点结合起来。

5、、BN层中的rb具体为甚么要加?测试时添加的是整体的均值和方差?

加入rb有更多的可学习性参数,因此可以使模型的参数更加丰富复杂。

保证输入和输出之间的分布一致,但是每一层强制归一化后会破坏之前的学习到的特征分布,降低了模型的拟合能力,因此在每一层中再引入rb系数进行变换重构和自主学习,保证恢复到最优的输入数据分布,并且与之前网络层解耦。

6、AUC曲线有什么缺点?

AUC是指 随机给定一个正样本和一个负样本,分类器输出该正样本为正的那个概率值 比 分类器输出该负样本为正的那个概率值 要大的可能性。

AUC反应的是分类器对样本的排序能力

缺点是关注正负样本的排序结果,而对具体的概率值不是很敏感

反应的是对正负样本的区分能力,在一些具体场景下,要反应不同的精确率、召回率的时候无法进行区分

同时因为它反应的是ROC曲线的面积,因此在有些时候面积相同,但是在不同的分布区间内预测能力和结果一般是不同的

7、LR model的损失函数为什么不能用MSE?还有哪些常见的损失函数?

同时logistic回归和softmax回归使用交叉熵而不用欧氏距离是因为前者的目标函数是凸函数,可以求得全局极小值点;用欧氏距离则无法保证。

不用MSE是因为MSE一般适用于回归问题,因为在实际评估输出和真实label假设满足一定分布,在模型输出与真实值的误差服从高斯分布的假设下,最小化均方差损失函数与极大似然估计本质上是一致的。

其他损失函数还有对数损失函数、合页损失函数、MSE、指数损失函数

8、SVM和LR之间的区别?
9、函数间隔和几何间隔的区别?
10、损失函数softmax为什么用交叉熵损失函数?

其他问题

1、 gbdt中到底是怎么拟合残差的?分类中和回归中怎么拟合?

2、 FM模型了解吗?

3、 比如id编码输入gbdtxgboost会有影响吗,应该怎么处理数据?

4、 如果利用xgboost做多分类问题怎么做?最后1vs1,1vsall,最后的概率怎么融合在一起

5、 BN层中的数据是怎么进行归一化的?

6、 多数之和怎么做,找出所有等于target和的所有序列

7、 两数之和返回值即可,全排列的时间复杂度

8、 如何做麦当劳的推荐框推荐?场景提设计

9、 如何做外卖时间预估?

做题:




旋转数组的最小数字

地雷随机扫格子

搜索旋转数组lc 33

组合求和、两数之和

108. 将有序数组转换为二叉搜索树

杀死进程

只出现一次的数字

硬币组合






更多模拟面试

全部评论

(30) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

近期精华帖

热门推荐