年前,技术群组织了一场数据类的技术&面试讨论会,邀请了一些大厂同学和23年参加招聘的同学,分享:新人如何入门数据和算法岗,面经/面试题分享、大厂在算法场景的落地项目及经验分享,
如果你想加入我们的讨论群或者希望要更详细的资料,文末加入。喜欢本文记得收藏、关注、点赞 。
问题1、如何解决过拟合和欠拟合。
过拟合(Overfitting):
-
增加数据量:通过增加训练数据来减少模型对特定数据的过度拟合。
-
简化模型:减少模型的复杂度,可以通过减少特征数量、降低多项式次数等方式。
-
正则化:引入正则化项,如L1或L2正则化,以惩罚模型复杂度。
欠拟合(Underfitting):
-
增加特征:添加更多有意义的特征,提高模型的表达能力。
-
增加模型复杂度:选择更复杂的模型,如增加层数、节点数等。
-
减小正则化:减小正则化的程度,以允许模型更好地适应数据。
问题2、L1正则化和L2正则化的区别。
L1正则化:
-
增加的正则化项为权重向量的绝对值之和。
-
促使模型参数变得稀疏,即某些权重变为零,从而实现特征选择的效果。
L2正则化:
-
增加的正则化项为权重向量的平方和。
-
通过减小权重的同时保持它们都非零,对权重进行平滑调整。
区别:
-
L1正则化倾向于产生稀疏权重,对于特征选择有利;
-
L2正则化则更倾向于在所有特征上产生较小但非零的权重。
问题3、什么是交叉验证。
一种评估模型性能的统计学方法,通常用于训练样本有限的情况。将数据集划分为多个子集,多次训练模型,并在每次训练中使用不同的子集作为验证集,其余作为训练集。常见的交叉验证方法包括k折交叉验证和留一法。
问题4、随机森林的原理和它的作用。
原理:
-
由多个决策树组成,每个决策树基于随机抽取的数据和特征进行训练。
-
通过投票或平均等方式,集成多个树的结果来提高模型的泛化能力。
作用:
-
防止过拟合,提高模型的鲁棒性。
-
在处理大规模数据时,随机森林能够有效地进行并行化处理。
-
对于高维数据,具有较好的特征选择能力。
问题5、三种决策树的信息划分准则。
ID3(信息增益):使用信息熵来度量不确定性,选择能够最大程度减少不确定性的特征进行划分。
C4.5(信息增益比):在ID3的基础上,引入对特征取值数目的惩罚,避免选择取值较多的特征。
CART(基尼系数):使用基尼系数来度量数据的纯度,选择能够最小化基尼系数的特征进行划分。
问题6、集成学习中的bagging和boosting算法以及两种的区别。
Bagging(Bootstrap Aggregating):
-
并行训练多个弱学习器,每个学习器使用随机抽样得到的数据集。
-
最终结果通过投票或平均等方式融合。
Boosting:
-
串行训练多个弱学习器,每个学习器尝试修正前一个学习器的错误。
-
每个学习器的权重与其表现相关,错误越大权重越大。
区别:Bagging的每个模型权重相等,Boosting的每个模型权重不同,取决于其性能。
问题7、统计学中的P值是什么含义,如何通俗地解释?
含义:P值是在原假设为真的情况下,观察到统计量或更极端情况的概率。
通俗解释:P值表示了观察到的数据在假设成立的情况下产生的可能性大小。较小的P值表明数据与假设的不一致性较大。
问题8、GBDT的原理。
梯度提升决策树(Gradient Boosting Decision Trees):通过迭代训练弱学习器(一般是决策树),每次训练调整之前学习器的残差,以逐步改进模型性能。通过梯度下降优化损失函数。可以使用回归损失函数或分类损失函数,如均方误差或对数损失函数。
问题9、编程题:有1元、4元、5元的硬币,找到满足15元的最少硬币数量。
思路:动态规划
代码:
def min_coins(amount):
coins = [1, 4, 5]
dp = [float('inf')] * (amount + 1)
dp[0] = 0
for coin in coins:
for i in range(coin, amount + 1):
dp[i] = min(dp[i], dp[i - coin] + 1)
return dp[amount]
# 测试
amount = 15
result = min_coins(amount)
print(f"找零 {amount} 元的最少硬币数量为:{result}")
dp[i]表示找零i元所需的最少硬币数量。通过遍历硬币面额,不断更新dp数组,最终得到找零15元的最少硬币数量。
技术交流
独学而无优则孤陋而寡闻,技术要学会交流、分享,不建议闭门造车。
建立了技术交流与面试交流群,面试真题、答案获取,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。
方式①、微信搜索公众号:Python学习与数据挖掘,后台回复:交流
方式②、添加微信号:dkl88194,备注:交流
文章精选
- 面了滴滴的数据分析师(实习),几道面试题都是原题啊
- 面试必备!机器学习常用十大算法的优缺点!
- 25道机器学习面试问题(附答案)
- 5个必考的大厂SQL面试题
- 一文解决样本不均衡
- 10 大经典排序算法 Python 版实现
- 实战案例:时间序列预测代码模板(单变量、多元、多步、多元多步)
- 实战案例:基于fasttext embedding + lightgbm 垃圾短信识别
- 实战案例:构建基于 DSSM 双塔模型的电影推荐系统
- 实战案例:构建基于 Transformer 建立时间序列预测模型(附完整代码)
- 实战案例:基于LSTM的四种方法进行电影评论情感分类预测
- 实战案例:基于LSTM的国际航空公司乘客预测
- 实战案例:基于电商销售数据的 RFM 模型构建
- 实战案例:一文详解数据分析经典模型RFM
- 实战案例:基于孤立森林的信用卡欺诈检测