ML:机器学习模型的稳定性分析简介、常见的解决方法之详细攻略

简介: ML:机器学习模型的稳定性分析简介、常见的解决方法之详细攻略


目录

ML:机器学习模型的稳定性分析简介、常见的解决方法

1、增强稳健性的通用方法

2、提高模型稳定性—适合泛线性模型(如逻辑回归)—幅度过大的变量进行分箱处理

3、提高模型稳定性—适合基于树的模型—降低过拟合

3,1、基于树模型的2个天然优势

3.2、降低树模型的过拟合问题


ML:机器学习模型的稳定性分析简介、常见的解决方法

1、增强稳健性的通用方法

(1)、加入噪声数据—加扰动:比如在图像识别场景中,训练CNN识别图片时,常用的数据增强技术包括选择、拉伸、增加白噪声等方法。而在风控场景里,由于数据一般都是标签不平衡的(一般5%左右的bad rate),我只SMOTE方法来对bad的部分进行upsample。SMOTE方法通过对bad的部分加扰动,产生新的数据,这样就能平衡训练集中的各标签比例。

(2)、使用统计特征:比如,在2000年逾期5000元,是很严重的事件,意味着高风险;但2022年逾期5000元,却是低风险的。所以,如果只用金额数据,模型的预测往往不够精准。此时,可以利用统计特征来代表实际值。例如使用Z-Score,z的绝对值值越高,代表他和其他客户的差异越大。

风控领域由于对解释性有一定要求,所以很难使用神经网络等深度学习模型。

2、提高模型稳定性—适合泛线性模型(如逻辑回归)—幅度过大的变量进行分箱处理

对于逻辑回归模型,单个变量的变动会影响模型的输出,而且这种影响是线性的。这会造成两个因素影响稳定性,

问题

(1)、某特征样本的数值变化幅度过大,对最终输出结果影响会较为剧烈:例如我的模型其中一个特征是逾期金额,逾期10元和逾期20元对于银行来说都是小事,但在模型的某一项里,影响是双倍的。

(2)、对outlier值处理,比较复杂

解决方案

采用分箱技术→如WOE编码变换→来提高模型的稳定性:采用WOE编码后,(1)、比如,把小于100元的样本都被分到一个组,那么欠银行1元和99元都是一样低风险;

(2)、比如,把outlier值的样本,会自动转换成变成分箱的最左或者最右的那一类。例如我们的客户里年龄最大的不到100岁,那么我们可以每10岁设置一个分箱,变为[-∞,10],[11,20],....[90,+∞]十个分箱。

3、提高模型稳定性—适合基于树的模型—降低过拟合

3,1、基于树模型的2个天然优势

(1)、自带的自动分箱理念:由于树的split是基于阈值的,即相当于进行自动分箱,这也是基于树模型的好处之一。

(2)、基于树的模型,一般对数据的波动不敏感:数据分布发生微小偏移时,仍能表现稳定。比如决策树,数据的准备往往是简单的甚至是不必要的。

3.2、降低树模型的过拟合问题

但是,使用单棵决策树容易过拟合。为了防止过拟合我们一般会:

(1)、使用单棵决策树顺丰需要修剪枝叶技巧:但是这种方法,需要大量的分析与尝试,所以大多数人,很少使用单颗决策树作为ML模型。

(2)、使用随机森林算法:三个臭皮匠顶过一个诸葛亮,RF在解决回归问题时,并没有像它在分类中表现的那么好,这是因为它并不能给出一个连续的输出。

(3)、使用XGBoost算法:Kaggle比赛中的利器,XGBoost具有非常好的非线性拟合能力,以及对超参数的鲁棒性。但依赖统计特征,特征的准备需要积累一定周期才有足够置信度,比如一年的数据量。

其实,无论稳定性做得多好,模型总有效用递减的时候。下一步就是要如何实现模型监控。


相关文章
|
3天前
|
机器学习/深度学习 自然语言处理 算法
扩散模型在机器学习中的应用及原理
扩散模型在机器学习中的应用及原理
|
5天前
|
机器学习/深度学习 消息中间件 人工智能
人工智能平台PAI产品使用合集之vLLM是否支持模型长度扩展
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
5天前
|
机器学习/深度学习 人工智能 Java
人工智能平台PAI产品使用合集之已经通过自定义镜像部署了一个模型,想要上传并导入其他模型,该如何操作
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
4天前
|
机器学习/深度学习 分布式计算 算法
Java中的机器学习模型集成与训练实践
Java中的机器学习模型集成与训练实践
|
5天前
|
机器学习/深度学习 数据采集 人工智能
人工智能平台PAI产品使用合集之在使用ARIMA模型预测时,目标是预测输出12个值,但只打印了5个值,是什么原因
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
5天前
|
机器学习/深度学习 人工智能 Java
Java与AI集成开发:机器学习模型部署
Java与AI集成开发:机器学习模型部署
|
9天前
|
机器学习/深度学习 PyTorch 算法框架/工具
机器学习框架简介
【6月更文挑战第26天】机器学习框架简介。
20 5
|
10天前
|
机器学习/深度学习 数据采集 人工智能
人工智能:构建自定义机器学习模型的步骤与技巧
【6月更文挑战第25天】构建自定义机器学习模型涉及明确问题、数据收集预处理、特征工程、模型选择训练、评估优化及部署监控。关键技巧包括选择适配的算法、重视数据预处理、精巧的特征工程、有效评估优化和适时的模型更新。通过这些步骤和技巧,可提升模型性能与泛化能力。
|
1天前
|
机器学习/深度学习 分布式计算 算法
Java中的机器学习模型集成与训练实践
Java中的机器学习模型集成与训练实践
|
4天前
|
机器学习/深度学习 人工智能 分布式计算
Java中的机器学习模型集成与训练
Java中的机器学习模型集成与训练