【面试分享】面试题目收集

数据岗面试题

1 业务题:如果你负责生产全市的窨井盖,可以生产圆的和方的,如何计算怎么生产更合适?
(思路:根据材料限制情况,线性规划,别想的太复杂)。
见脑图 业务场景题。

2 看你学的是理科,为什么选择数据分析?
统计学的作用就是通过给定样本而进行统计推断,本质就是通过数据给出信息。

3 什么是数据倾斜?
数据倾斜就是数据分布不均匀。

4 hadoop生态的组件介绍。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。
HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
把HDFS理解为一个分布式的,有冗余备份的,可以动态扩展的用来存储大规模数据的大硬盘。
把MapReduce理解成为一个计算引擎,按照MapReduce的规则编写Map计算/Reduce计算的程序,可以完成计算任务。

5 hdfs,mapreduce的原理介绍。
Mapreduce的一个实例如下:
图片说明

map 阶段:读取 HDFS 中的文件,解析成键值对的形式,并对进行分区(默认一个区),将相同 key 的 value 放在一个集合中。
reduce 阶段:将 map 的输出 copy 到不同的 reduce 节点上,节点对 map 的输出进行合并、排序。

6 一排n个座位。吹一声哨子,各座位等概率随机向左或向右转,如果转动结束后有相对的座位则移出去。问移动后剩余的座位期望数目。
图片说明

7 sql模糊匹配。

8 OLAP(联机分析处理)和OLTP(联机事物处理)的区别。
图片说明

9 数据分析的流程?
数据采集->数据清洗->数据分析->数据决策。
图片说明

10 如何做恶意刷单检测[京东]?(也可以回答侦测***、账号异常等问题)
见脑图 业务场景题。

11 KMeans算法原理及改进,遇到异常值怎么办?评估聚类算法的指标有哪些?
问一:KMeans原理:
首先随机选取k个样本点为k个类的初始中心;
然后计算剩余的样本点到k个类中心的距离,哪个距离短就将该样本点分到哪一类;
更新k个类的类中心;
重复2、3步直到聚类结果不再变化。
问二:改进方法:
见脑图 机器学习方法总结。
问三:遇到异常值的解决方案:
见脑图 机器学习方法总结。
问四:评价聚类算法的指标:
见脑图 模型评价指标总结。

12 随机森林的原理?有哪些随机方法?
产生多棵树,通过bagging降低模型的方差。
Subsample样本抽样(有放回抽样),subfeature特征抽样。

13 hive、spark了解吗?
Hive允许使用类sql语言在hadoop集群上进行读、写、管理等操作。
Spark是一种与hadoop类似的开源集群计算环境,将数据集缓存在分布式内存中的计算平台,每轮迭代不需要读取磁盘的IO操作,从而大幅降低了单轮迭代时间。

14 sql中null和’’的区别?
Null表示空,用is null判断;’’表示空字符串,用=判断。

15 什么是roc曲线?
见脑图 模型评价指标总结。

16 普通统计分析方法和机器学习的区别?

17 一个网站的销售额降低了,你从哪几个方面去考量?[京东]
见脑图 业务场景题总结。

18 给定a、b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a、b文件共同的url?[腾讯]
先计算一下把整个文件a放进内存需要多大空间。
5,000,000,000*64 byte = 320,000,000,000 byte
= 320,000,000,000/1,024 kb = 312,500,000 kb
= 312,500,000/1,024 MB = 305,176 MB
= 305,176/1,024 GB = 298 GB
显然不可能读取整个文件进内存。
可以采用hash(url)%1000的方法。先遍历a,将所有的url哈希到a0,a1,…,a999这1000个小文件中;同理遍历b,将所有的url哈希到b0,b1,…,b999小文件中。这样每个小文件大概只有300M。只要对ai vs bi求共同的url即可。

19 CNN的原理及其应用。
见百度脑图 机器学习方法总结。

20 LSTM原理及其应用。
见百度脑图 机器学习方法总结。
(下图为NLP的大致发展历史)
图片说明

21 几大常用检验方法。
两样本均值检验:t检验(样本量不大)、u检验(样本量大)。
两样本方差检验:F检验
多样本均值检验:方差分析的F检验。
独立性检验:卡方检验
序列自相关检验:DW检验

22 有一个类似抖音的app,请你设计一个推荐算法。[腾讯]
见百度脑图 业务题。

23 有一个网页访问的数据,有uid、ip地址、url、文章资料。设计算法预测用户性别。[腾讯]
见百度脑图 业务场景题。

24 各种优化方法?
见脑图 最优化方法总结。

25 如果次日用户留存率下降了5%,该如何分析?[字节]
见脑图 业务场景题。

26 头条应该投放多少广告才能获得最大收益?说说思路即可。[字节]
见脑图 业务场景题。

27 APP激活量的来源渠道有很多,怎样对变化大的渠道进行预警?[字节]
见脑图 业务场景题。

28 用户刚进来APP的时候需要选择属性,怎样在保证拥有完整用户信息的同时减少用户流失?[字节]
见脑图 业务场景题。

29 男生点击率增加,女生的点击率也增加,为什么总体点击率下降?
原因可能是两个群体的差异较大,这是著名的辛普森悖论,两个总体的结论一致,合并在一起之后结论相反。
比如之前的情况是,
男生20人,点击人数为6人,点击率为30%;
女生100人,点击人数为99人,点击率为99%;
此时总人数为120人,点击人数为105人,点击率为87.5%
之后情况变为,
男生升至100人,点击人数升至50人,点击率升至50%;
女生下降到20人,点击人数下降到20人,但点击率升至100%;
此时总人数还是120人,点击人数为70人,但点击率下降为58.33%。

30 如何识别作弊用户(或者渠道伪造的假用户)?[字节]
见脑图 业务场景题。

31 行存储和列存储的区别。
如图所示。
图片说明

选择和投影如图所示。
图片说明

图片说明

32 不用任何公开资料,估算今年婴儿出生数量。

33 余弦距离和欧氏距离的区别。
余弦相似度越大,距离越小。

34 你认为数据分析师的工作内容是什么?
业务型的数据分析师主要工作是,数据提取,支撑各部门相关的报表,监控数据异常和波动,找出问题,输出专题分析报告。
以活跃指标为例,数据分析师通常需要解决一下问题:
What – 指标下跌了多少?是否是合理的波动?
When – 什么时候开始的?
Who – 是哪些用户该指标下降?
Why – 分析下降的原因(内部因素+外部因素)。
How – 如何解决指标下跌的问题?

35 一款游戏月活没变,周活下降,试分析原因。【网易】
见脑图 业务场景题。

36 什么是用户粘性?
描述一个人对于特定产品或服务的使用程度,是衡量用户对于该事物的忠诚指标。

37 如何评价拉新活动?

38 数据分析师和数据工程师有什么区别?
数据分析师关注统计、分析技能、建模等。
数据工程师关注数据架构、计算、数据存储、数据流等,需要具备相当强的编程能力。

数据岗笔试题

1 完整的运营计划流程。
产品定位。什么样的场景?什么样的形态?面向什么样的用户以及什么样的需求?
目标用户和需求分析。面向什么样的用户以及什么样的需求?
核心指标。用什么指标来衡量计划的效果?(要把KPI细分到不同的工位)
运营策略。大方向怎么做?(一两句话)
具体措施以及KPI细分拆解。具体怎么做?KPI任务拆解到每个人?

2 数据仓库分层模型。
互联网金融行业的数据仓库分为四层:ODL(操作数据层operation)、BDL(基础数据层base)、IDL(接口层interface)、ADL(应用层application)。
操作层储存原始数据,外部数据是什么样的,这里的数据就是什么样的。
基础层对数据做统一的清洗处理,如去重、去噪日期格式化等。
接口层是根据业务需要对基础层的数据进行join得到的表。
应用层是根据业务需要对接口层的表的某一些维度进行统计汇总而得到的加工数据。

3 wide&deep learning算法及其应用场景
推荐模型算法,同时考虑线性模型和深层神经网络模型,即同时考虑模型的记忆性和泛化性。Wide部分是一个广义线性模型,deep部分是一个全连接层神经网络,最后把两个部分的输出加权组合得到最终的结果。

4 NLP类一道。设计一个舆情监控系统,写出每个模块的功能。

5 深度优先遍历。
图的DFS:
首先以一个未被访问过的顶点作为起始点,沿着当前顶点的边走到未访问过的顶点;
当没有未访问过的顶点时,则回到上一个顶点,继续试探别的顶点,直到所有顶点都被访问过。
树的DFS:即前序遍历(根左右)。

6 某网站优化了商品详情页,现在新旧两个版本同时运行,新版页面覆盖了10%的用户,旧版覆盖90%的用户。现在需要了解,新版页面是否能够提高商品详情页到支付页的转化率,并决定是否要覆盖旧版,你能为决策提供哪些信息,需要收集哪些指标,给出统计方法及过程。[拼多多]
使用A/B test模型,分析两个版本在一段时间期限内,详情页到支付页的转化率变化,并计算转化率变化后引起的GMV(主要指网站的成交金额)变化。
可选择的决策:①确定发布新版本;②调整分流比例继续测试;③优化迭代方案继续开发。
需要收集的指标:一段时间期限内,新、旧版本详情页到支付页的转化率、支付金额。
衡量的指标:转化率,收益提升率。
指标的计算方法:转化率=从详情页到支付页的用户数/浏览详情页的用户总数;支付金额=从详情页到支付页并且支付成功的本次支付金额
具体过程:如果拒绝原假设,并且收益提升率超过设定阈值,则执行决策①;如果不拒绝原假设,则执行决策②;如果拒绝原假设,但收益提升率未超过设定阈值,则执行决策③。

算法岗面试题

1 如何解决过拟合问题,尽可能全面?

(1)获取更多的数据。
例如,①从数据源头获取更多数据;②根据当前数据集估计数据的分布参数,使用该分布产生更多的数据(但这一步不常用,估计本身就带有抽样误差);③数据增强,即通过一定的规则扩充数据。
(2)使用合适的模型,控制合适的模型复杂度。
对于神经网络而言,①调整网络结构:较少网络的层数和神经元个数,②训练时间Early Stopping:在合适时间停止训练,就可以讲网络的能力限制在一定范围内。③正则化:限制权值的大小。④增加噪声:增加输入的噪声、增加权值的噪声等。
(3)结合多种模型。
训练多个模型,以平均输出作为结果。如①Bagging②Boosting③Dropout:在训练时每次随机忽略隐层的某些节点。
(4)贝叶斯方法?

2 如何判断一个特征是否重要?
(1)去掉或增加这个特征,查看模型在验证集或测试集上的效果。
优点是直接看结果,比较准;缺点是复杂度较高,每次都要重新训练模型跑预测。
(2)树模型可以输出特征的重要度。
如XGBoost、RandomForest等可以在训练完成后输出特征的重要程度,排序的依据有两种:①根据特征被作为最佳划分特征的次数;②使用该特征划分后得到的信息增益大小。
(3)针对LogisticRegression线性模型,可以直接查看其权重得到重要程度;
(4)针对图像处理,DNN可以通过查看CAM(class activation map)得到用于最终分类依据的图像heatmap,也就是图像上特征的重要程度。
(5)可以利用皮尔逊相关系数等,查看特征和类别的关系,也能在一定程度上判别特征重要程度。

3 有效的特征工程有哪些?
(见脑图。)

4 数学角度解释一下L1和L2正则化项的区别?
正则化之所以能够降低过拟合的原因在于,正则化是结构风险最小化的一种策略实现。
图片说明

L1正则化更较疏,L2正则化较平滑。可以从优化问题、梯度、先验分布三个角度解释。

5 注意力机制,self attention?
注意力机制是机器学习中的一种数据处理方法,广泛应用在自然语言处理、图像识别及语音识别等各种不同类型的机器学习任务中。

6 有哪些embedding方法?
Embedding即用一个低维的向量表示一个物体(如一个词、一个商品、一部电影等),这个embedding向量的性质时能够使距离相近的向量对应的物体有相近的含义。常见的embedding方法有word2vec、GloVe、FastText。
Word2vec模型实际上是一个简单的神经网络模型,输入是one-hot向量,隐藏层没有激活函数(是线性的)。输入层到隐藏层的权重矩阵或隐藏层到输出层的权重矩阵都可以作为单词的embedding向量。
图片说明

7 word2vec中,为什么词义相近的两个词,embedding向量越靠近?
Word2vec中CBOW模型是假设单词的上下文信息决定这个单词,所以词义相近的两个词的上下文信息应该也是相近的,通过相近的上下文信息训练出来的embedding向量也应该是相近的。

8 推荐系统中如何解决冷启动问题?
对于用户冷启动的解决方案:非个性化推荐,最简单地就是热门排行榜,等到用户数据收集到一定程度后,再切换为个性化推荐;利用客户注册信息(年龄、性别、职业等)做粗粒度的个性化;利用用户的社交网络账号登陆(需要用户授权),导入用户好友信息,向其推荐其好友喜欢的物品;要求用户在登陆时对一些物品进行反馈,收集用户对这些物品的兴趣信息,然后给用户推荐那些和这些物品相似的物品。
对于物品冷启动的解决方案:可以利用内容信息,将它们推荐给喜欢过和他们相似的物品的用户。
对于系统冷启动的解决方法:引入专家的知识,通过一定的高效方式迅速建立起物品的相关度表。

9 GBDT中的“梯度提升”怎么理解?和“梯度下降”有什么异同?
梯度提升不是一个词,梯度指的是梯度下降法,提升指的是boosting方法。梯度下降法是指要找到目标函数的局部极小值,应该向着梯度的负方向进行迭代搜索。提升方法是指通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。

10 常见的降维方法?PCA和神经网络的embedding降维有什么区别?
特征选择的方法可以用于降维(随机森林等);
此外还有主成分分析PCA、线性判别分析LDA、K近邻、奇异值分解SVD、t-SNE(t-distributed stochastic neighbor embedding)等。
图片说明

11 图卷积神经网络了解吗?
图卷积神经网络(Graph Convolutional Network)是一种能对图数据进行深度学习的方法。

12 Bert为什么表现好?

13 SVM用折页损失函数有什么好处?
一方面,折页损失函数是0-1损失函数的上界,它不仅要求分类正确,还要求分类确信度达到一定程度时损失才为0。折页损失函数的要求更高,因此使得学习分类的把握更高。另一方面,线性支持向量机学习等价于最小化二范数正则化的折页损失函数。

14 逻辑回归为什么用交叉熵损失函数?从概率论的角度解释一下?为什么不用平方误差呢?
图片说明

15 XGboost比GBDT好在哪里?(两者的区别)
第一,传统的gbdt以cart树作为基学习器,xgboost还支持线性分类器,这个时候的xgboost相当于L1和L2正则化的logistic回归(分类问题)或者线性回归(回归问题);
第二,传统的gbdt在优化的时候只用到了一阶导数信息,xgboost则对代价函数进行了二阶泰勒展开,得到一阶和二阶导数;
第三,xgboost在代价函数中加入了正则项,用于控制模型的复杂度。从权衡方差偏差来看,它降低了模型的方差,使学习出来的模型更加简单,放弃过拟合,这也是xgboost优于传统gbdt的一个特性;
第四,shrinkage(缩减),相当于学习速率(xgboost中的eta)。Xgboost在进行完一次迭代时,会将叶子结点的权值乘上该系数,主要是为了削弱每棵树的影响,让后面有更大的学习空间。
第五,列抽样。Xgboost借鉴了随机森林的做法,支持列抽样,不仅防止过拟合,还能减少计算。
第六,对缺失值的处理。对于特征的值有缺失的样本,xgboost还可以自动学习出它的分裂方向;
第七,xgboost工具支持并行。Boosting不是一种串行结构吗?注意xgboost的并行不是tree粒度的并行,xgboost也是一次迭代完才能进行下一次迭代的(第t次迭代的代价函数里包含了前面t-1次迭代的预测值)。Xgboost的并行是在特征粒度上的。我们知道,决策树的学习最耗时的一个步骤就是对特征的值进行排序(因为要确定最佳分割点),xgboost在训练之前,预先对数据进行了排序,然后保存为block结构,后面的迭代中重复地使用这个结构,大大减小计算量。这个block结构也使得并行成为可能,在进行节点的分裂时,需要计算每个特征的增益,最终选增益最大的那个特征去做分裂,那么各个特征的增益计算就可以开多线程进行。

16 推荐系统中,CB(基于内容的)和CF(协同过滤的)有什么区别?目的是什么?
基于内容的推荐是基于物品自身的属性来描述物品之间的相似度,然后给用户推荐与其喜爱过的物品相似的物品;基于物品的协同过滤推荐是基于用户对物品的打分情况来描述物品之间的相似度,然后再给用户推荐与其喜爱过的物品相似的物品。

17 除了梯度下降,还有什么优化方法?为什么不用牛顿法?
牛顿法、拟牛顿法等。牛顿法在每一步迭代中需要求解目标函数黑塞矩阵的逆矩阵,计算量较大;而梯度下降法只需要求解目标函数的梯度,计算较为方便。

18 skip gram和CBOW训练过程中有什么区别?谁更好?
图片说明

19 图嵌入的发展,图嵌入为什么比word2vec好?
经典的图嵌入算法是DeepWalk,主要思想是在由物品组成的图结构上进行随机游走,产生大量物品序列,然后将这些物品序列作为训练样本输入word2vec进行训练,得到物品的embedding。
考虑到同质性和结构性,进一步改进为Node2vec。
2018年阿里提出EGES(Enhanced Graph Embedding with Side Information),基本思想是在DeepWalk生成的graph embedding基础上引入补充信息。
Word2vec主要是建立在“序列”样本上的,但在互联网场景下,很多数据对象之间更多呈现的是图结构。

20 在线学习了解吗?

21 SVM都能用核函数,为什么逻辑回归不用呢?

22 Kmeans聚类为什么能够收敛?理论上解释一下?

23 如何解决多目标优化问题?(同时优化CTR和CVR)

24 常见的采样方法?
随机采样,即按照随机原则进行采样,每个样本被抽到的概率相等。
分层采样,即分别对每一个类别进行随机采样。
过采样
欠采样

25 如何解决样本不平衡问题?
(1)采用过采样或者是欠采样的方法。过采样方法就是对样本数较小的类别中的样本进行重复采样,直到和样本数较大的类别的样本数一致;欠采样方法就是对样本数较大的类别的样本进行和样本数较小的类别的样本树一致地采样,从而保持各个类别的样本数一致。
(2)还可以调整分类的阈值,例如正例所占的比例。

26 高维稀疏特征为什么不适合神经网络训练?

27 Bagging和Boosting的异同点?
图片说明

28 如何处理有序变量和无序变量?

29 推荐系统中,UserCF和ItemCF的区别?

图片说明

30 常见的CTR预估模型?
典型的CTR流程如下图所示:
图片说明
LR模型,将CTR模型建模为分类问题,预测用户点击的概率。
POLY2模型,添加二阶交叉项。
FM模型,通过矩阵分解,将高维稀疏的特征向量映射到低维连续向量空间,然后根据内积表示二项式特征关系。
FFM模型,引入Filed的概念。
FNN模型,引入深度模型作点击率预测。
CCPM模型,利用卷积网络作点击率预测。
PNN模型,在深度学习网络中增加了一个inner/outer product layer。

31 关于SVM

图片说明

32 为什么random forest具有特征选择的功能?
随机森林可以通过观察特征在森林中的每棵树的贡献度来进行特征选择,评价指标为基尼系数或袋外数据错误率,将特征按照这些评价指标进行排序就可以输出特征的重要性。

33 DNN为什么功能强大,说说你的理解。

34 介绍一下maxout网络。

35 介绍一下stacking。
将训练集分为N部分,分别用于让N个基分类器(Base-leaner)进行学习和拟合;
将N个基分类器预测得到的结果作为下一层分类器(Meta-learner)的输入;
将下一层分类器得到的结果作为最终的预测结果。
图片说明

36 为什么GBDT都要拟合上一颗树的负梯度?
因为负梯度方向是使函数值下降最快的方向,不断对负梯度进行迭代,可以不断地降低函数值,进入最优点。
我们要拟合损失函数的负梯度,可以看做拟合一个方向为负梯度方向,步长为单位长度的值,所以拟合的过程相当于我们沿着负梯度方向走了一个步长,具体走多少步(多少步可以理解为训练多少个决策树来拟合该分类器,使得损失函数最低)达到终止的条件,即走到最优点的附近。

37 python哪些数据类型可变,哪些不可变?
列表和字典可变,元组、整型、浮点型、字符串不可变。可变是指,可以改变该对象的值,并且对象的地址不变;不可变是指,相同的值只能有一个地址,改变值就改变了该对象,从而改变了对应的地址。

38 深度学习trick
深度学习参数怎么调优,这12个trick告诉你
1:优化器。机器学习训练的目的在于更新参数,优化目标函数,常见优化器有SGD,Adagrad,Adadelta,Adam,Adamax,Nadam。其中SGD和Adam优化器是最为常用的两种优化器,SGD根据每个batch的数据计算一次局部的估计,最小化代价函数。
学习速率决定了每次步进的大小,因此我们需要选择一个合适的学习速率进行调优。学习速率太大会导致不收敛,速率太小收敛速度慢。因此SGD通常训练时间更长,但是在好的初始化和学习率调度方案的情况下,结果更可靠。
Adam优化器结合了Adagrad善于处理稀疏梯度和RMSprop善于处理非平稳目标的优点,能够自动调整学习速率,收敛速度更快,在复杂网络中表现更优。
2:学习速率。学习速率的设置第一次可以设置大一点的学习率加快收敛,后续慢慢调整;也可以采用动态变化学习速率的方式(比如,每一轮乘以一个衰减系数或者根据损失的变化动态调整学习速率)。
3:dropout。数据第一次跑模型的时候可以不加dropout,后期调优的时候dropout用于防止过拟合有比较明显的效果,特别是数据量相对较小的时候。
4:变量初始化。常见的变量初始化有零值初始化、随机初始化、均匀分布初始值、正态分布初始值和正交分布初始值。一般采用正态分布或均匀分布的初始化值,有的论文说正交分布的初始值能带来更好的效果。实验的时候可以才正态分布和正交分布初始值做一个尝试。
5:训练轮数。模型收敛即可停止迭代,一般可采用验证集作为停止迭代的条件。如果连续几轮模型损失都没有相应减少,则停止迭代。
6:正则化。为了防止过拟合,可通过加入l1、l2正则化。从公式可以看出,加入l1正则化的目的是为了加强权值的稀疏性,让更多值接近于零。而l2正则化则是为了减小每次权重的调整幅度,避免模型训练过程中出现较大抖动。
7:预训练。对需要训练的语料进行预训练可以加快训练速度,并且对于模型最终的效果会有少量的提升,常用的预训练工具有word2vec和glove。
8:激活函数。常用的激活函数为sigmoid、tanh、relu、leaky relu、elu。采用sigmoid激活函数计算量较大,而且sigmoid饱和区变换缓慢,求导趋近于0,导致梯度消失。sigmoid函数的输出值恒大于0,这会导致模型训练的收敛速度变慢。
tanh它解决了zero-centered的输出问题,然而,gradient vanishing的问题和幂运算的问题仍然存在。
relu从公式上可以看出,解决了gradient vanishing问题并且计算简单更容易优化,但是某些神经元可能永远不会被激活,导致相应的参数永远不能被更新(Dead ReLU Problem);leaky relu有relu的所有优点,外加不会有Dead ReLU问题,但是在实际操作当中,并没有完全证明leaky relu总是好于relu。
elu也是为解决relu存在的问题而提出,elu有relu的基本所有优点,但计算量稍大,并且没有完全证明elu总是好于relu。
9:特征学习函数。常用的特征学习函数有cnn、rnn、lstm、gru。cnn注重词位置上的特征,而具有时序关系的词采用rnn、lstm、gru抽取特征会更有效。gru是简化版的lstm,具有更少的参数,训练速度更快。但是对于足够的训练数据,为了追求更好的性能可以采用lstm模型。
10:特征抽取。max-pooling、avg-pooling是深度学习中最常用的特征抽取方式。max-pooling是抽取最大的信息向量,然而当存在多个有用的信息向量时,这样的操作会丢失大量有用的信息。
avg-pooling是对所有信息向量求平均,当仅仅部分向量相关而大部分向量无关时,会导致有用信息向量被噪声淹没。针对这样的情况,在有多个有用向量的情形下尽量在最终的代表向量中保留这些有用的向量信息,又想在只有一个显著相关向量的情形下直接提取该向量做代表向量,避免其被噪声淹没。那么解决方案只有:加权平均,即Attention。
11:每轮训练数据乱序。每轮数据迭代保持不同的顺序,避免模型每轮都对相同的数据进行计算。
12:batch_size选择。对于小数据量的模型,可以全量训练,这样能更准确的朝着极值所在的方向更新。但是对于大数据,全量训练将会导致内存溢出,因此需要选择一个较小的batch_size。

如果这时选择batch_size为1,则此时为在线学习,每次修正方向为各自样本的梯度方向修正,难以达到收敛。batch_size增大,处理相同数据量的时间减少,但是达到相同精度的轮数增多。实际中可以逐步增大batch_size,随着batch_size增大,模型达到收敛,并且训练时间最为合适

39 LR和SVM的区别
现在回过头来理解“LR和SVM本质不同在于loss function的不同“这句话,也就不难了,LR的损失函数是Cross entropy loss,svm的损失函数是Hinge loss,两个模型都属于线性分类器,而且性能相当。区别在于
LR的解是受数据本身分布影响的,而SVM的解不受数据分布的影响(受异常值影响方面);
LR的输出具有自然的概率意义,而SVM的输出不具有概率意义(可解释性方面);
SVM依赖数据表达的距离测度,所以在建模前需要对数据标准化,LR则不需要(如果单纯要根据系数查看重要程度,应该也要标准化);
SVM受惩罚系数C的影响较大,实验中需要做Validation,LR则不需要;(?)
LR适合于大样本学习,SVM适合于小样本学习(样本量方面)。
换用其他的Loss函数的话,SVM就不再是SVM了。正是因为Hinge Loss的零区域对应的正是非支持向量的普通样本,从而所有的普通样本都不参与最终超平面的决定,这才是支持向量机最大的优势所在,对训练样本数目的依赖大大减少,而且提高了训练效率。

40 各大类机器学习算法应用场景以及优缺点总结。
(见脑图)。

全部评论
脑图是啥
点赞 回复 分享
发布于 2023-02-20 21:56 黑龙江

相关推荐

不想投了,不想面了,不想找了感觉自己像个小丑
用微笑面对困难:不是你去大学生就业平台看看啊,boss很多就是冲kpi的
点赞 评论 收藏
分享
06-04 20:17
门头沟学院 Java
牛客713608542号:有的,我今天刚面了一个小厂,他们说刚好有缺人,就放出来了,成都的旅鸽,hxd不如去试试,但是是线下哇,不知道他们支不支持线上,如果有面记得多复习一下sql,我死在这一块上了
点赞 评论 收藏
分享
06-04 09:27
门头沟学院 Java
点赞 评论 收藏
分享
如题,他是要劝退我了吗
椛鸣:根据你的时间 来给你安排任务 如果你时间长 可能会参与到一些长期的项目 时间短 那就只能做点零工
点赞 评论 收藏
分享
评论
点赞
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务