首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
放逐菜
华东理工大学 Unity3D客户端
发布于上海
关注
已关注
取消关注
@健身编码工作三不误:
机器学习面经
经历了2023年的秋招,现在也已经入职半年了,空闲时间将面试中可能遇到的机器学习问题整理了一下,可能答案也会有错误的,希望大家能指出!另外,不论是实习,还是校招,都祝福大家能够拿到满意的Offer!机器学习面经系列的其他部分如下所示(这是我在其他地方写的,感兴趣的同学可以点波关注捏):机器学习面经-共13章节1、机器学习模型1.1 有监督学习模型1.2 无监督学习模型 1.3 概率模型什么是监督学习?什么是非监督学习? 所有的回归算法和分类算法都属于监督学习。并且明确的给给出初始值,在训练集中有特征和标签,并且通过训练获得一个模型,在面对只有特征而没有标签的数据时,能进行预测。 监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出,例如 分类。 非监督学习:直接对输入数据集进行建模,例如强化学习、K-means 聚类、自编码、受限波尔兹曼机。 半监督学习:综合利用有类标的数据和没有类标的数据,来生成合适的分类函数。 目前最广泛被使用的分类器有人工神经网络、支持向量机、最近邻居法、高斯混合模型、朴素贝叶斯方法、决策树和径向基函数分类。 无监督学习里典型的例子就是聚类了。聚类的目的在于把相似的东西聚在一起,一个聚类算法通常只需要知道如何计算相似度就可以开始工作了。1.5、回归、分类、聚类的区别与联系1.6、生成模式 vs 判别模式 生成模型: 由数据学得联合概率分布函数 P(X,Y),求出条件概率分布P(Y|X)的预测模型。 朴素贝叶斯、隐马尔可夫模型、高斯混合模型、文档主题生成模型(LDA)、限制玻尔兹曼机。 判别式模型: 由数据直接学习决策函数 Y = f(X),或由条件分布概率 P(Y|X)作为预测模型。 K近邻、SVM、决策树、感知机、线性判别分析(LDA)、线性回归、传统的神经网络、逻辑斯蒂回归、boosting、条件随机场。2、线性模型2.1 线性回归 原理: 用线性函数拟合数据,用 MSE 计算损失,然后用梯度下降法(GD)找到一组使 MSE 最小的权重。 线性回归的推导如下所示:2.1.1 什么是回归?哪些模型可用于解决回归问题? 指分析因变量和自变量之间关系. 线性回归: 对异常值非常敏感 多项式回归: 如果指数选择不当,容易过拟合。 岭回归 Lasso回归 弹性网络回归2.1.2 线性回归的损失函数为什么是均方差?2.1.3 什么是线性回归?什么时候使用它? 利用最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析. 自变量与因变量呈直线关系; 因变量符合正态分布; 因变量数值之间独立; 方差是否齐性。 2.1.4 什么是梯度下降?SGD的推导? BGD: 遍历全部数据集计算一次loss函数,然后算函数对各个参数的梯度,更新梯度。 BGD、SGD、MBGD之间的区别2.1.5 什么是最小二乘法(最小平方法)? 它通过最小化误差的平方和寻找数据的最佳函数匹配。 2.1.6 常见的损失函数有哪些?0-1损失均方差损失(MSE) 平均绝对误差(MAE) 分位数损失(Quantile Loss) 分位数回归可以通过给定不同的分位点,拟合目标值的不同分位数; 实现了分别用不同的系数控制高估和低估的损失,进而实现分位数回归交叉熵损失合页损失 一种二分类损失函数,SVM的损失函数本质: Hinge Loss + L2 正则化2.1.7 有哪些评估回归模型的指标? 衡量线性回归法最好的指标: R-Squared 什么是正规方程? 正规方程组是根据最小二乘法原理得到的关于参数估计值的线性方程组。正规方程是通过求解编辑来找出使得代价函数最小的参数解出: 编辑2.1.9 梯度下降法找到的一定是下降最快的方向吗? 不一定,它只是目标函数在当前的点的切平面上下降最快的方向。 在实际执行期中,牛顿方向(考虑海森矩阵)才一般被认为是下降最快的方向,可以达到超线性的收敛速度。梯度下降类的算法的收敛速度一般是线性甚至次线性的(在某些带复杂约束的问题)。 2.1.10 MBGD需要注意什么? 如何选择m? 一般m取2的幂次方能充分利用矩阵运算操作。 一般会在每次遍历训练数据之前,先对所有的数据进行随机排序,然后在每次迭代时按照顺序挑选m个训练集数据直至遍历完所有的数据。也称为"对数几率回归"。知识点提炼 1.分类,经典的二分类算法! 2.LR的过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证这个求解的模型的好坏。 3.Logistic 回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别) 4.回归模型中,y 是一个定性变量,比如 y = 0 或 1,logistic 方法主要应用于研究某些事件发生的概率。 5.LR的本质:极大似然估计 6.LR的激活函数:Sigmoid 7.LR的代价函数:交叉熵优点: 1.速度快,适合二分类问题 2.简单易于理解,直接看到各个特征的权重 3.能容易地更新模型吸收新的数据缺点: 对数据和场景的适应能力有局限性,不如决策树算法适应性那么强。LR中最核心的概念是 Sigmoid 函数,Sigmoid函数可以看成LR的激活函数。Regression 常规步骤: 寻找h函数(即预测函数) 构造J函数(损失函数) 想办法(迭代)使得J函数最小并求得回归参数(θ)LR伪代码: 初始化线性函数参数为1 构造sigmoid函数 重复循环I次 计算数据集梯度 更新线性函数参数 确定最终的sigmoid函数 输入训练(测试)数据集 运用最终sigmoid函数求解分类的推导为什么 LR 要使用 sigmoid 函数? 1.广义模型推导所得 2.满足统计的最大熵模型 3.性质优秀,方便使用(Sigmoid函数是平滑的,而且任意阶可导,一阶二阶导数可以直接由函数值得到不用进行求导,这在实现中很实用)为什么常常要做特征组合(特征交叉)? LR模型属于线性模型,线性模型不能很好处理非线性特征,特征组合可以引入非线性特征,提升模型的表达能力。 另外,基本特征可以认为是全局建模,组合特征更加精细,是个性化建模,但对全局建模会对部分样本有偏, 对每一个样本建模又会导致数据爆炸,过拟合,所以基本特征+特征组合兼顾了全局和个性化。为什么LR比线性回归要好? LR和线性回归首先都是广义的线性回归;其次经典线性模型的优化目标函数是最小二乘,而LR则是似然函数;另外线性回归在整个实数域范围内进行预测,敏感度一致,而分类范围,需要在[0,1]。LR就是一种减小预测范围,将预测值限定为[0,1]间的一种回归模型,因而对于这类问题来说,LR的鲁棒性比线性回归的要好参数求解的优化方法?(机器学习中常用的最优化方法) 梯度下降法,随机梯度下降法,牛顿法,拟牛顿法(LBFGS,BFGS,OWLQN) 目的都是求解某个函数的极小值。工程上,怎么实现LR的并行化?有哪些并行化的工具? LR的并行化最主要的就是对目标函数梯度计算的并行化。 无损的并行化:算法天然可以并行,并行只是提高了计算的速度和解决问题的规模,但和正常执行的结果是一样的。 有损的并行化:算法本身不是天然并行的,需要对算法做一些近似来实现并行化,这样并行化之后的双方和正常执行的结果并不一致,但是相似的。 基于Batch的算法都是可以进行无损的并行化的。而基于SGD的算法都只能进行有损的并行化。如何解决低维不可分问题? 通过特征变换的方式把低维空间转换到高维空间,而在低维空间不可分的数据,到高维空间中线性可分的几率会高一些。 具体方法:核函数,如:高斯核,多项式核等等与最大熵模型MaxEnt的关系? 没有本质区别。LR是最大熵对应类别为二类时的特殊情况,也就是当LR类别扩展到多类别时,就是最大熵模型。为什么 LR 用交叉熵损失而不是平方损失(MSE)?编辑 如果使用均方差作为损失函数,求得的梯度受到sigmoid函数导数的影响;编辑求导:编辑 如果使用交叉熵作为损失函数,没有受到sigmoid函数导数的影响,且真实值与预测值差别越大,梯度越大,更新的速度也就越快。编辑求导:编辑 记忆:mse的导数里面有sigmoid函数的导数,而交叉熵导数里面没有sigmoid函数的导数,sigmoid的导数的最大值为0.25,更新数据时太慢了。能否解决非线性分类问题?可以,只要使用kernel trick(核技巧)。不过,通常使用的kernel都是隐式的,也就是找不到显式地把数据从低维映射到高维的函数,而只能计算高维空间中数据点的内积。编辑用什么来评估LR模型?1.由于LR是用来预测概率的,可以用AUC-ROC曲线以及混淆矩阵来确定其性能。2.LR中类似于校正R2 的指标是AIC。AIC是对模型系数数量惩罚模型的拟合度量。因此,更偏爱有最小的AIC的模型。如何解决多分类问题?(OvR vs OvO)编辑在训练的过程当中,如果有很多的特征高度相关或者说有一个特征重复了100遍,会造成怎样的影响? 如果在损失函数最终收敛的情况下,其实就算有很多特征高度相关也不会影响分类器的效果。但是对特征本身来说的话,假设只有一个特征,在不考虑采样的情况下,你现在将它重复100遍。训练以后完以后,数据还是这么多,但是这个特征本身重复了100遍,实质上将原来的特征分成了100份,每一个特征都是原来特征权重值的百分之一。如果在随机采样的情况下,其实训练收敛完以后,还是可以认为这100个特征和原来那一个特征扮演的效果一样,只是可能中间很多特征的值正负相消了。2.2.13 为什么在训练的过程当中将高度相关的特征去掉? 去掉高度相关的特征会让模型的可解释性更好。 可以大大提高训练的速度。如果模型当中有很多特征高度相关的话,就算损失函数本身收敛了,但实际上参数是没有收敛的,这样会拉低训练的速度。 其次是特征多了,本身就会增大训练的时间。 今日先更新到这里了,机器学习的总共为12章节,除此之外还有深度学习!等后续一序列更新~
点赞 27
评论 4
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
今天 08:42
浙江大学 算法工程师
小红书 C++ 开发 业务面 面经
1. 自我介绍(根据个人情况准备)2. 说说HTTP的发展历程,HTTP/1.1、HTTP/2、HTTP/3有什么区别答案:HTTP/1.0:短连接:每次请求都要建立TCP连接无状态只支持GET、POST等基本方法HTTP/1.1:长连接:Connection: keep-alive管道化:可以同时发送多个请求缓存控制:Cache-Control分块传输:Transfer-Encoding: chunkedHost头:支持虚拟主机HTTP/2:二进制分帧:不再是文本协议多路复用:一个TCP连接处理多个请求头部压缩:HPACK算法服务器推送:Server Push优先级和依赖:请求可以设置优先级...
C++八股文全集
点赞
评论
收藏
分享
02-17 20:27
清华大学 Java
如何在 TRAE 中安装 UI/UX Pro Max Skill?完整图文教程
UI/UX Pro Max Skill 是一个开源的 AI 设计增强插件,GitHub 已获得 22K+ Stars,能让 TRAE 生成的界面从"实习生水平"瞬间提升到"资深设计师水准"。本文提供保姆级安装教程。 什么是 UI/UX Pro Max Skill? UI/UX Pro Max Skill 是一个专为 AI 编程助手设计的开源技能库,GitHub 星标已突破 22,000+,并持续快速增长。它整理了: 67 种 UI 设计风格 - Glassmorphism, Claymorphism, Minimalism, Brutalism, N...
点赞
评论
收藏
分享
02-04 11:55
门头沟学院 C++
求内推
26学院本太难了,很多公司机筛就给我刷了。机会都难拿到如果是简历存在问题也欢迎拷打
点赞
评论
收藏
分享
02-08 15:10
合肥学院 Java
秋招 offer 记录
感谢努力的自己,拿到了这些 offer也进入了非常满意的公司我将永远拥护陌陌
我的秋招日记
点赞
评论
收藏
分享
02-19 08:48
蚌埠坦克学院 嵌入式软件开发
得力嵌入式工程师 一面 面经
1. 自我介绍您好,我叫[姓名],[学历]毕业于[学校][专业]。我有[X年]嵌入式开发经验,主要从事基于ARM Cortex-M系列微控制器的产品开发。在技术方面,我熟悉C/C++编程,掌握RTOS(如FreeRTOS)的应用,熟悉常用外设驱动开发(UART、SPI、I2C、ADC、PWM等)。项目经验包括[具体项目1]和[具体项目2],在这些项目中我负责[具体职责],解决了[具体问题]。我对嵌入式系统有浓厚兴趣,平时会关注行业新技术,也会通过开源项目和技术社区持续学习。希望能加入贵公司,在嵌入式领域继续深耕发展。2. 进程和线程的区别定义:进程:系统资源分配的基本单位,拥有独立的地址空间线...
查看10道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
嵌入式应届生春招怎么准备——从零到拿 Offer 的系统攻略
772
2
...
关于租房
434
3
...
27届实习近一年的年度经历和总结
381
4
...
HTTP 和 HTTPS 区别
367
5
...
agent实习都干什么?prompt设计
257
6
...
美团推荐算法一面
203
7
...
得力嵌入式工程师 二面 面经
195
8
...
这个简历可以去找暑期实习了吗
190
9
...
大三无实习
188
10
...
27前端双非找实习
171
创作者周榜
更多
正在热议
更多
#
牛客新年AI问运
#
13929次浏览
168人参与
#
你最讨厌面试被问什么
#
1253次浏览
26人参与
#
牛客AI体验站
#
17867次浏览
302人参与
#
有转正机会的小厂实习值得去吗?
#
566次浏览
18人参与
#
牛友们,签完三方你在忙什么?
#
137381次浏览
993人参与
#
担心入职之后被发现很菜怎么办
#
282505次浏览
1185人参与
#
如何缓解入职前的焦虑
#
258861次浏览
1451人参与
#
校招第一份工作你干了多久?
#
139395次浏览
609人参与
#
去年的flag与今年的小目标
#
34294次浏览
337人参与
#
牛客租房专区
#
151418次浏览
1479人参与
#
秋招开始捡漏了吗
#
229459次浏览
1044人参与
#
九月了,是考研还是就业?
#
89289次浏览
556人参与
#
秋招投递攻略
#
268791次浏览
2553人参与
#
这份实习,有没有动摇过你的职业方向?
#
2183次浏览
39人参与
#
搜狐工作体验
#
4118次浏览
29人参与
#
机械人求职现状
#
33644次浏览
297人参与
#
我是XXX,请攻击我最薄弱的地方
#
61781次浏览
409人参与
#
用友工作体验
#
18083次浏览
151人参与
#
你的工资什么时候发?
#
57475次浏览
355人参与
#
你的实习什么时候入职
#
348079次浏览
2291人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务