随着春天的到来,招聘市场的“金三银四”也悄然而至。
公众号的小伙伴问我有没有面试相关指导课程,上完课后,把整理的部分材料通过文章分享给更多有需要的朋友。
预祝大家顺利获得心仪的职位。
不过每个面试官的职业背景和喜欢的知识点不一样,本文从经验出发,为你提供一份风控建模面试高频问题。
本文分小节的方式有点粗略,只是让大家有个大致的区分,方便阅读。
建模经验高频面试问题
特征工程高频面试问题
机器学习高频面试问题
模型评估高频面试问题
为了评估面试者和岗位的匹配度,有些面试官会问一些关于建模经验的问题,本节梳理建模经验高频面试问题。
1.简单描述风控建模流程:
前期准备:不同的模型针对不同的业务场景,在建模项目开始前需要对业务的逻辑和需求有清晰的理解,明确模型的业务目标和作用,项目周期时间和安排进度,以及模型效果的要求。
模型设计:包括模型的选择(评分卡亦或是集成模型),单个模型还是做模型的细分-子模型。是否需要做拒绝推论,观察期、表现期、目标好坏用户的定义,数据的获取途径等。
数据获取与清洗:根据观察期和表现期的定义从数据集市(或数据仓库,一般不太建议建模人员从生产上拿数据)中取数,并进行前期的数据清洗和稳定性验证工作。数据清洗包括用户唯一性检查、Missing值检查、异常值检查,Zero-rate等。稳定性验证主要考察变量在时间序列上的稳定性,衡量的指标有PSI、平均值、方差、IV等。
特征工程:主要做特征的预处理和筛选。如果是评分卡,需要对特征进行离散化(转woe)等处理,再对特征进行降维,降维的方法有IV筛选、相关性筛选、显著性筛选等。另外,会基于对业务的理解做特征构造工作,包括特征交叉、特征转换,特征四则运算等。
模型建立和评估:选择与业务适配的模型,像评分卡可以用逻辑回归,如果只需要做出二分类预测可以选择Xgboost、LightGBM等集成模型。模型构建好后需要对模型进行评估和验证,可通过计算F1值、AUC、KS等,并对模型做交叉验证来评估模型泛化能力及模型的稳定性。
模型上线和部署:评分卡部署较为简单,因为评分卡将变量映射到了一个区间及得分,所以在普通的风控决策引擎上就可以配置。如果是比较复杂的模型,比如Xgboost和LightGBM等,一般是将模型文件转换成pmml格式,在风控后台上传pmml和变量参数文件,并配置好模型的阈值。
模型监控:前期主要监控模型整体及变量的稳定性,衡量标准主要是PSI,并每日观测模型规则的拒绝率与线下的差异。后期累计一定线上用户后可以评估线上模型性能和资产质量。模型性能可以参照AUC、KS等量化指标,与线下进行比较,衡量模型的线上实际效果。
2.请谈谈在过去风控建模项目中,遇到的最大挑战是什么,以及是如何克服的: 在我过去的风控建模项目中,遇到的最大挑战是数据不平衡问题,即高风险客户占比较低。为了克服这一挑战,我采用了过采样和欠采样技术来平衡数据集,并结合了多种特征工程和模型调优方法,最终成功提高了模型的预测性能。最好结合项目经验,数量化描述模型性能的提升情况。
3.怎么做风控模型的冷启动: 不做模型,只做规则:凭借专家业务经验,做一些Hard check,比如设定用户的准入门槛,考量用户的信用历史和多头风险,而且可以接入第三方提供的反欺诈服务和数据评分等。值得一提的是,可以结合人工审核来对早期用户的申请资料做风险评估。
借助相同模式产品的数据来建模:如果两个产品的获客渠道、产品设计、风控逻辑、用户特征都差不多的话,可以选择之前已经上线的那个产品所累积的用户数据来建模,不过在模型上线后需要比较线上用户的特征是否与建模用户有较大的差异,如果差异较大,则需要对模型做快速调整。
规则+专家评分卡:对于早期缺少用户label时,考量结合风控业务专家经验,开发一套专家评分卡,也是一个不错的选择。
无监督模型+评分卡:这种方法适用于产品上线一段时间后,表现出好坏的用户比较少,但老板要求做一个模型出来。此时可以用线上的申请用户做无监督模型,找出一部分坏样本和好样本,用这些数据来做评分卡模型。当然这种模型的准确率是存疑的,需要后续对模型不断迭代优化。
4.请解释什么是模型的可解释性,为什么在风控建模中很重要: 模型的可解释性:模型能够解释其预测结果背后的原因和逻辑。
非常重要的原因:因为它有助于业务人员理解模型的决策依据,从而增强对模型的信任度和接受度。此外,可解释性还有助于发现潜在的业务逻辑和问题,并指导后续的模型优化。
5.在模型构建过程中,如何平衡模型的复杂性和泛化能力: 通过交叉验证和模型评估来监控过拟合现象,其次,使用正则化技术(如L1、L2正则化)来约束模型的复杂度。此外,还会尝试简化复杂的特征或去除冗余的特征。最后,通过集成学习等方法来提高模型的泛化能力。通过这些措施,我能够在保证模型性能的同时,减少过拟合的风险。
本节梳理特征工程高频面试问题。
1.什么是特征工程?为什么它在机器学习中如此重要:
特征工程:指通过创建新的特征、选择重要特征或转换现有特征,从而改善模型的预测性能的过程。
在机器学习中至关重要原因:模型的性能往往取决于特征的质量和相关性。适当的特征工程可以显著提高模型的精度和泛化能力,并有助于捕捉数据中的复杂关系。
2.在特征工程中,通常使用哪些方法进行特征选择: 特征选择方法包括:过滤法、包装法和嵌入法。
过滤法:基于统计指标(如相关性、互信息等)来评估特征的重要性,从而进行特征选择。
包装法:通过评估模型性能来选择特征,如递归特征消除。 嵌入法:利用模型训练过程中的信息来选择特征,如决策树的特征重要性或随机森林的特征选择。 3.描述一下特征编码的过程,为什么它在处理分类变量时很重要: 特征编码:指将分类变量转换为模型可以理解的数值形式的过程。
特征编码非常重要的原因:大多数机器学习算法无法直接处理文本或类别标签。
常见的特征编码方法包括:标签编码(将每个类别映射到一个唯一的整数)、独热编码(为每个类别创建一个二进制列)和目标编码(将类别替换为基于目标变量的统计值)。
通过特征编码,我们可以将分类变量有效地整合到模型中,从而提高模型的预测性能。
4.你一般如何处理缺失值: 缺失值处理常用方法包括:删除含有缺失值的行或列、用均值、中位数或众数填充缺失值、使用插值方法(如线性插值、多项式插值)进行填充,或者使用机器学习模型(如K近邻、随机森林等)进行预测填充。选择哪种方法取决于缺失值的比例、缺失值的模式以及它们对模型性能的影响。
5.描述特征构造的实际例子: 特征构造:特征工程的一个重要环节,它涉及根据原始特征创造新的特征,以便更好地捕捉数据的内在规律和模式。
例如,在一个预测房价的项目中,我根据原始特征(如房间数、楼层数、面积等)构造了新的特征,如“房间面积比”(房间数除以总面积)和“楼层调整面积”(每层的面积乘以楼层数的倒数)。这些新特征能够更全面地反映房屋的结构和特点,从而提高模型的预测精度。
本节梳理机器学习高频面试问题。
1.无监督和有监督算法的区别:
是否有标签:这是二者最基本的区别。无监督学习涉及对没有标签(或概念标记)的训练样本进行学习,其主要目的是发现训练样本集中的结构性知识。相对地,有监督学习则涉及对带有标签(或概念标记)的训练样本进行学习,目的是根据这些标记来预测训练样本集外的数据。
算法类型:无监督学习主要使用聚类算法,如k-means、DBSCAN等。而有监督学习则主要利用回归算法和分类算法,如线性回归、决策树、GBDT、XGBoost、LightGBM、神经网络、SVM等。
数据处理方式:无监督学习直接对数据进行建模,不依赖已有的标签信息。而有监督学习则是通过已有的训练样本去训练得到一个最优模型,再利用这个模型将所有的输入映射为相应的输出,从而实现预测和分类的目的。
2.如何解决类别不平衡问题: 重采样技术:
过采样:增加少数类别的样本数量,可以通过复制少数类样本、SMOTE(Synthetic Minority Over-sampling Technique)等技术生成新的少数类样本来实现。
欠采样:减少多数类别的样本数量,可以通过随机或基于某些策略(如聚类)选择多数类样本进行删除。 混合采样:结合过采样和欠采样,既增加少数类样本又减少多数类样本,以达到类别平衡。 类别权重:在训练模型时,给不同类别的样本赋予不同的权重。通常,少数类样本的权重会更高,这样模型在训练时会更加关注少数类。 阈值调整:在分类任务中,通过调整分类阈值来改变模型的决策边界。对于不平衡的数据集,一个合适的阈值可能不是默认的0.5,需要根据实际情况进行调整。 使用集成方法:如Bagging和Boosting等集成学习方法可以通过结合多个模型的预测结果来提高整体性能,尤其是在处理不平衡数据时。
代价敏感学习:为不同类别的误分类设置不同的代价,使得模型在训练时能够考虑到这些代价,从而平衡不同类别的损失。
3.机器学习模型的调参方法有哪些:
网格搜索(Grid Search):通过指定一组不同的参数值,将参数空间划分成网格,遍历网格中每个参数组合,并评估模型在不同参数组合下的性能,最终选择表现最好的参数组合作为最优参数。
随机搜索(Random Search):与网格搜索不同,随机搜索在参数空间中随机选择一组参数组合进行评估。当参数较多时,这种方法可能在较少的搜索次数内找到较好的参数组合,但也可能错过最优解。
贝叶斯优化(Bayesian Optimization):通过构建参数的先验分布,利用已有的参数组合和性能评估结果,推断模型性能的后验分布,并选择具有最大期望改善的参数进行评估。贝叶斯优化在处理高维参数空间和高度非线性的情况下有很好的效果。
4.模型为什么会产生过拟合,有哪些方法可以预防或克服过拟合: 过拟合:通常发生在模型对训练数据过度拟合,以至于对未见过的数据泛化能力较差。其产生的原因主要有以下几点:
训练集的数量级和模型的复杂度不匹配:当训练样本的数量较少,而模型的复杂度较高时,模型容易过度拟合训练数据中的噪声和细节,导致泛化能力下降。
训练集和测试集特征分布不一致:如果训练集和测试集的数据分布存在显著差异,模型在训练集上表现良好,但在测试集上可能表现不佳。 样本中的噪音数据:如果样本中含有过多的噪音数据,模型可能会过分学习这些噪音特征,从而忽略真实的输入输出关系。 为了预防或克服过拟合,可以采取以下方法:
增加训练样本数量:通过收集更多的数据或进行数据扩增,使模型能够学习到更多样化的特征,减少过拟合的可能性。
简化模型结构:使用更简单的模型可以减少模型复杂度,降低过拟合的风险。 正则化:通过在损失函数中加入正则项,约束模型参数的复杂度,从而防止过拟合。常见的正则化方法包括L1正则化和L2正则化。 早停法:在验证误差开始上升时提前停止训练,避免模型过度拟合训练数据。 集成学习:通过结合多个模型的预测结果,可以提高模型的泛化能力,减少过拟合的影响。
5.L1正则化和L2正则化是什么?主要应用在哪里:
L1正则化(Lasso回归):对模型参数向量w中各个元素的绝对值之和进行惩罚。其计算公式可以表示为:L1(w)= λ * ∑ |wi|,其中λ是正则化系数,用于控制正则化的强度。wi是模型参数向量w中的第i个元素。
L2正则化(岭回归):对模型参数向量w中各个元素的平方和进行惩罚。其计算公式可以表示为:L1(w)= λ/2 * ∑(wi^2),其中λ是正则化系数,wi是模型参数向量w中的第i个元素。
主要应用:通常会将正则化项添加到模型的损失函数中,然后通过优化算法来求解。例如,对线性回归模型,其损失函数可以表示为:Loss=MSE(y, y_pred) + λ *L(w)。其中MSE(y, y_pred)是均方误差,用于衡量模型预测值与实际值之间的差异;L(w)是正则化项,可以是L1或L2正则化。通过调整λ 的值,可以在模型拟合能力和泛化能力之间进行权衡。
本节梳理模型评估高频面试问题。
1.在模型评估中,通常用哪些指标来评价分类模型的性能:
评估分类模型性能常用的指标:准确率、精确率、召回率、F1分数、AUC-ROC曲线、KS值等。
准确率:衡量模型正确分类的样本比例,但在类别不平衡的情况下可能不够准确。
精确率:衡量模型预测为正例的样本中真正为正例的比例。
召回率:衡量所有真正正例中被模型正确预测的比例。
F1分数:精确率和召回率的调和平均数,用于综合评估模型的性能。
AUC-ROC曲线:通过考虑不同阈值下的真正例率和假正例率来评估模型的性能,特别适用于类别不平衡的情况。
这些指标可以帮助我们全面了解模型在预测不同风险级别客户时的表现,从而优化模型结构或调整参数设置。需要注意的是,模型不能一味的追求高KS,所有变量在建模过程中都针对显著性、相关性、冗余及多重共线性进行测试。如果变量在各维度上不能符合标准,即使会牺牲KS,也将被从模型中剔除。
2.在回归模型中,通常用哪些指标来评估模型性能: 评估回归模型性能常用的指标:均方误差(MSE)、均分根误差(RMSE)、平均绝对误差(MAE)以及R方值等指标来评估模型性能。
MSE:衡量了模型预测值与真实值之间差的平方的平均值,它对异常值比较敏感。
RMSE:MSE的平方根,与真实值的量纲相同,更易于解释。 MAE:衡量模型预测值与真实值之间差的绝对值的平均值,对异常值不敏感。 R方值:模型解释的变异占总变异的比例,越接近1说明模型拟合效果越好。 这些指标综合考虑了模型的预测精度和稳定性,有助于我们全面评估回归模型的性能。 3.什么是交叉验证,它在模型评估中的作用是什么: 交叉验证:是一种评估模型性能的统计方法,它将原始数据集分成K个子集,每次使用K-1个子集作为训练集,剩下的一个子集作为验证集。这个过程重复K次,每个子集都作为验证集一次。
交叉验证的作用:通过计算K次验证的平均性能,可以得到一个更为稳健和可靠的模型性能评估。交叉验证的作用在于避免了单一划分训练集和测试集可能带来的偏差,提高了模型评估的准确性和可靠性。
4.如何解释AUC-ROC曲线,为什么它在模型评估中很重要: AUC-ROC曲线:通过绘制不同阈值下的真正例率(TPR)和假正例率(FPR)来评估模型性能的。AUC是曲线下的面积,其值越接近1,说明模型的性能越好。
AUC-ROC曲线的重要性在于:它不受类别分布不平衡的影响,能够全面评估模型在不同阈值下的性能。此外,AUC-ROC曲线还能帮助我们比较不同模型的性能,选择最优的模型。
5.请解释什么是混淆矩阵,并说明它在模型评估中的作用: 混淆矩阵:是一个表格,用于展示模型预测的分类结果与实际分类结果之间的关系。它包含了真正例(TP)、假正例(FP)、真反例(TN)和假反例(FN)的数量。
通过混淆矩阵,我们可以计算模型的精确率、召回率、F1分数等指标,这些指标能全面反映模型的分类性能。此外,混淆矩阵还可以直观地展示模型在各类别上的预测效果,有助于我们发现模型可能存在的问题,如类别不平衡等。
总之,金三银四是一个充满机遇和挑战的时期。
通过精心准备简历、注意面试细节以及熟练掌握高频面试问题,祝愿所有求职者都能在这个春天收获满满的喜悦和成功!
【部分群限时免费进】分群讨论学习Python、玩转Python、风控建模【29.9元进】、人工智能、数据分析相关问题,还提供练习数据资料、招聘内推信息、优秀文章、学习视频、公众号文章答疑,也可交流工作中遇到的难题。如需添加微信号19967879837,加时备注想进的群,比如风控建模。
部分交流群限时免费进
19967879837
添加微信号、手机号