0

0

结合基于规则和机器学习的方法构建强大的混合系统

WBOY

WBOY

发布时间:2023-05-25 09:04:05

|

1066人浏览过

|

来源于51CTO.COM

转载

经过这些年的发展,我们都确信ML即使不能表现得更好,至少也可以在几乎所有地方与前ML时代的解决方案相匹配。比如说一些规则约束,我们都会想到能否把它们替换为基于树的ml模型。但是世界并不总是黑白分明的,虽然机器学习在解决问题上肯定有自己的位置,但它并不总是最好的解决方案。基于规则的系统甚至可以胜过机器学习,特别是在可解释性、健壮性和透明度至关重要的领域。

在本文中,我将介绍一些实际的案例,以及如何将手动规则和ML结合使得我们的方案变得更好。

基于规则的系统

基于规则的系统是通过预定义规则来为决策提供支持,系统根据存储的规则评估数据,并根据映射执行特定操作。

下面是几个例子:

欺诈检测:在欺诈检测中,基于规则的系统可用于根据预定义规则快速标记和调查可疑交易。

比如说国际象棋的作弊者,他们的的基本作法是在另一个窗口中安装计算机象棋应用程序,使用程序进行对弈,对于程序来说无论多复杂,每一步都需要 4-5 秒才能完成。所以添加“阈值”来计算玩家每一步的时间,如果在浮动不大就有可能被判断为是作弊者,如下图所示:

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

结合基于规则和机器学习的方法构建强大的混合系统

医疗保健行业:基于规则的系统可用于管理处方和防止用药错误。它们还可以非常有用地帮助医生根据先前的结果为患者开出额外的分析处方。

供应链管理:在供应链管理中,基于规则的系统可用于生成低库存警报、帮助管理到期日期或新产品推出。

基于机器学习的系统

机器学习 (ML) 系统使用算法从数据中学习并做出预测或采取行动,且无需明确编程。机器学习系统使用通过大量数据训练获得的知识来对新数据进行预测和决策。随着更多数据用于训练,ML 算法可以提高其性能。机器学习系统包括自然语言处理、图像和语音识别、预测分析等。

欺诈检测:银行可能会使用机器学习系统从过去的欺诈交易中学习并实时识别潜在的欺诈活动。或者,它可能会对系统进行逆向工程并寻找看起来非常“异常”的交易。

医疗保健:医院可能会使用 ML 系统来分析患者数据,并根据某些 X 射线预测患者患某种疾病的可能性。

结合基于规则和机器学习的方法构建强大的混合系统

对比

基于规则的系统和ML系统都有各自的优点和缺点

基于规则的系统的优点很明显:

  • 易于理解和解释
  • 快速实现
  • 易于修改
  • 健壮的

缺点:

  • 涉及大量变量的问题
  • 约束条件多的问题
  • 限于现有规则

基于ml的系统的优点也很明显

  • 自主学习系统
  • 解决更复杂问题的能力
  • 与基于规则的系统相比,减少了人为干预,提高了效率
  • 通过不断学习,灵活地适应数据和环境的变化

缺点:

  • 需要的数据,有时很多
  • 仅限于之前看到的数据ML
  • 认知能力有限

通过对比我们发现,这两种系统的优缺点并不冲突,并且是互补的,那么有没有一种方法可以将他们的优点结合起来呢?

混合型系统

结合基于规则和机器学习的方法构建强大的混合系统

混合系统,结合了基于规则的系统和机器学习算法,最近变得越来越流行。它们可以提供更健壮、准确和有效的结果,特别是在处理复杂问题时。

让我们来看看可以使用租赁数据集实现的混合系统:

结合基于规则和机器学习的方法构建强大的混合系统

特征工程:将楼层转换为三个类别之一:高、中或低,具体取决于建筑物的楼层数。这样可以提高ML模型的效率

硬编码规则可以用作特征工程过程的一部分,以识别和提取输入数据中的重要特征。例如,如果问题领域清晰明确,规则可以很容易地而准确地定义,硬编码规则可以用来创建新特征或修改现有特征,以提高机器学习模型的性能。虽然硬编码规则和特征工程是两种不同的技术,但它们可以结合使用以提高机器学习模型的性能。硬编码规则可以用于创建新特征或修改现有特征,而特征工程可以用于提取不易通过硬编码规则捕获的特征。

后处理:四舍五入或归一化最终结果。

硬编码规则可以作为后处理阶段的一部分来修改机器学习模型的输出。例如,如果机器学习模型输出一组预测结果与某些已知规则或约束条件不一致,硬编码规则可以用来修改预测结果,使其符合规则或约束条件。比如过滤或平滑等后处理技术可以通过消除噪声或错误,或提高预测的整体准确性来精细机器学习模型的输出。当机器学习模型输出概率预测或输入数据存在不确定性时,这些技术尤其有效。在某些情况下,后处理技术也可以用于使用额外信息增强输入数据。例如,如果机器学习模型是在有限数据集上训练的,后处理技术可以用来从外部来源(如社交媒体或新闻提要)中提取额外的特征,以提高预测的准确性。

案例

医疗保健

让我们来看看心脏病的数据:

网商宝商城管理系统
网商宝商城管理系统

网商宝开源版商城系统是一款免费的通用电子商务平台构建软件,使用她您可以非常方便的开一个网上商店,在网上开展自己的生意。网商宝商城管理系统有如下特点:1、功能的 AJAX 化 完美结合ASP.NET的AJAX技术,大幅减少了网络数据传输量,加快了页面操作的响应速度,减少了服务器负担,且用户操作体验更加美好,安全性更高,易用性更强。2、基于规则的权限控制 权限管理模块提供强大的权限控制,支持多用户操作

下载

结合基于规则和机器学习的方法构建强大的混合系统

如果我们用随机森林来预测目标类:

clf = RandomForestClassifier(n_estimators=100, random_state=random_seed
 X_train, X_test, y_train, y_test = train_test_split(
 df.iloc[:, :-1], df.iloc[:, -1], test_size=0.30, random_state=random_seed
 )
 clf.fit(X_train, y_train))

这里选择随机森林的原因之一是它的构建特征重要性能力。下面可以看到用于训练的特征的重要性:

结合基于规则和机器学习的方法构建强大的混合系统

看看结果:

y_pred = pd.Series(clf.predict(X_test), index=y_test.index
 cm = confusion_matrix(y_test, y_pred, labels=clf.classes_)
 conf_matrix = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=clf.classes_)
 conf_matrix.plot())

结合基于规则和机器学习的方法构建强大的混合系统

f1_score(y_test, y_pred): 0.74
 recall_score(y_test, y_pred): 0.747

这时一位心脏病专家看到了你的模型。基于他的经验和领域知识,他认为地中海贫血特征(thal)比上面所示的要重要得多。所以我们决定建立一个直方图并查看结果。

结合基于规则和机器学习的方法构建强大的混合系统

然后指定一个强制性规则

y_pred[X_test[X_test["thal"] == 2].index] = 1

结果的混淆矩阵变成这样:

结合基于规则和机器学习的方法构建强大的混合系统

f1_score(y_test, y_pred): 0.818
 recall_score(y_test, y_pred): 0.9

结果有了很大的提升。这就是领域知识在评估患者得分方面发挥了重要作用。

欺诈交易

下面的数据集是银行欺诈交易。

结合基于规则和机器学习的方法构建强大的混合系统

数据集高度不平衡:

df["Class"].value_counts()
 0 28431
 1 4925

为了创建规则,我们查看特征的分布箱线图:

结合基于规则和机器学习的方法构建强大的混合系统

我们们要编写一个自己的HybridEstimator类,他将作为我们手动规则的预估器:

from hulearn.classification import FunctionClassifier
 rules = {
 "V3": ("<=", -2),
 "V12": ("<=", -3),
 "V17": ("<=", -2),
 }
 def create_rules(data: pd.DataFrame, rules):
 filtered_data = data.copy()
 for col in rules:
 filtered_data[col] = eval(f"filtered_data[col] {rules[col][0]} {rules[col][1]}")
 result = np.array(filtered_data[list(rules.keys())].min(axis=1)).astype(int)
 return result
 hybrid_classifier = FunctionClassifier(create_rules, rules=rules)

我们可以比较纯基于规则的系统和kNN方法的结果,这里使用kNN的原因是,它可以处理不平衡数据:

结合基于规则和机器学习的方法构建强大的混合系统

可以看到,我们只写了3个规则,就比KNN模型的表现好

总结

我们这里的例子可能并不非常的确切,但是它足以说明,混合模型提供了实际的好处,例如快速实施、对异常值的稳健性和增加的透明度。在将业务逻辑与机器学习相结合时,它们是有益的。例如,医疗保健中的混合规则-ML 系统可以通过结合临床规则和分析患者数据的机器学习算法来诊断疾病。机器学习能够在很多任务上取得出色的结果,但是它也需要领域知识的补充。领域知识可以帮助机器学习模型更好地理解数据,并更准确地进行预测和分类。

混合模型可以帮助我们将领域知识和机器学习模型结合起来。混合模型通常是由多个子模型组成,其中每个子模型都针对特定的领域知识进行了优化。这些子模型可以是基于硬编码规则的模型,也可以是基于统计方法的模型,甚至可以是基于深度学习的模型。

混合模型可以利用领域知识来指导机器学习模型的学习过程,从而提高模型的准确性和可靠性。例如,在医学领域中,混合模型可以结合医生的专业知识和机器学习模型的能力,以诊断患者的疾病。在自然语言处理领域,混合模型可以结合语言学知识和机器学习模型的能力,以更好地理解和生成自然语言。

总之,混合模型可以帮助我们将领域知识和机器学习模型结合起来,从而提高模型的准确性和可靠性,并且在各种任务中都有广泛的应用。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

407

2023.08.14

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

10

2026.01.27

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

109

2026.01.26

edge浏览器怎样设置主页 edge浏览器自定义设置教程
edge浏览器怎样设置主页 edge浏览器自定义设置教程

在Edge浏览器中设置主页,请依次点击右上角“...”图标 > 设置 > 开始、主页和新建标签页。在“Microsoft Edge 启动时”选择“打开以下页面”,点击“添加新页面”并输入网址。若要使用主页按钮,需在“外观”设置中开启“显示主页按钮”并设定网址。

16

2026.01.26

苹果官方查询网站 苹果手机正品激活查询入口
苹果官方查询网站 苹果手机正品激活查询入口

苹果官方查询网站主要通过 checkcoverage.apple.com/cn/zh/ 进行,可用于查询序列号(SN)对应的保修状态、激活日期及技术支持服务。此外,查找丢失设备请使用 iCloud.com/find,购买信息与物流可访问 Apple (中国大陆) 订单状态页面。

131

2026.01.26

npd人格什么意思 npd人格有什么特征
npd人格什么意思 npd人格有什么特征

NPD(Narcissistic Personality Disorder)即自恋型人格障碍,是一种心理健康问题,特点是极度夸大自我重要性、需要过度赞美与关注,同时极度缺乏共情能力,背后常掩藏着低自尊和不安全感,影响人际关系、工作和生活,通常在青少年时期开始显现,需由专业人士诊断。

7

2026.01.26

windows安全中心怎么关闭 windows安全中心怎么执行操作
windows安全中心怎么关闭 windows安全中心怎么执行操作

关闭Windows安全中心(Windows Defender)可通过系统设置暂时关闭,或使用组策略/注册表永久关闭。最简单的方法是:进入设置 > 隐私和安全性 > Windows安全中心 > 病毒和威胁防护 > 管理设置,将实时保护等选项关闭。

6

2026.01.26

2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】
2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】

铁路12306提供起售时间查询、起售提醒、购票预填、候补购票及误购限时免费退票五项服务,并强调官方渠道唯一性与信息安全。

117

2026.01.26

个人所得税税率表2026 个人所得税率最新税率表
个人所得税税率表2026 个人所得税率最新税率表

以工资薪金所得为例,应纳税额 = 应纳税所得额 × 税率 - 速算扣除数。应纳税所得额 = 月度收入 - 5000 元 - 专项扣除 - 专项附加扣除 - 依法确定的其他扣除。假设某员工月工资 10000 元,专项扣除 1000 元,专项附加扣除 2000 元,当月应纳税所得额为 10000 - 5000 - 1000 - 2000 = 2000 元,对应税率为 3%,速算扣除数为 0,则当月应纳税额为 2000×3% = 60 元。

35

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 9.5万人学习

CSS3 教程
CSS3 教程

共18课时 | 4.9万人学习

Rust 教程
Rust 教程

共28课时 | 4.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号