5、规则引擎详解:概念、作用、场景、痛点与主流开源方案对比

开源规则引擎Drools、URule简介 最近要开始做一个风控项目,大概看了下有很多指标,于是决定调研一下开源业务规则引擎。首先我们要明白什么是规则引擎。规则引擎是一种嵌套在应用程序中的组件,实现将业务规则从应用程序代码中分离出来。规则引擎使用特定的语法编写业务规则。引入规则引擎后端带来的好处:(1)实现业务逻辑与业务规则的分离,实现业务规则的集中管理。(2)可以动态修改业务规则,从而快速响应需求变更。(3)使业务分析人员可以参与编辑、维... 阅读详情

一、什么是规则引擎(Rule Engine)?

规则引擎(Rule Engine)是一种软件系统,用于将业务规则从应用程序代码中分离出来,并以声明式方式(而非命令式代码)执行这些规则。它基于 “事实”(Facts) 和 “规则”(Rules) 的匹配机制,自动推导出结论或执行动作。

🧠 核心思想:
“What to do”(做什么) 与 “How to do it”(怎么做)分离
业务人员定义规则,开发人员专注系统集成。


二、规则引擎的核心作用

作用说明
✅ 业务规则解耦将易变的业务逻辑(如“满100减20”)从 Java 代码中剥离
✅ 动态规则管理无需重启应用即可修改、发布、回滚规则
✅ 复杂决策自动化处理多条件组合、嵌套判断、优先级排序等复杂逻辑
✅ 规则可视化提供图形化规则编辑器(如决策表、决策树)
✅ 高性能匹配使用 Rete 算法等高效模式匹配技术,支持高并发
✅ 审计与追溯记录规则执行日志,满足合规要求

三、典型使用场景

1. 金融风控

  • 贷款审批:根据收入、负债、信用分等多维度判断是否通过
  • 反欺诈:检测异常交易行为(如短时间内多地登录)

2. 电商促销

  • 优惠券发放:满足“新用户 + 首单 + 满100”才可领取
  • 价格计算:叠加满减、折扣、会员价等多规则

3. 保险核保

  • 健康险:根据年龄、病史、职业风险等级计算保费
  • 车险:根据车型、驾龄、违章记录动态定价

4. 内容审核

  • 敏感词过滤:匹配关键词库并分级处理
  • 图片识别:结合 AI 结果触发不同审核流程

5. 医疗诊断

  • 辅助诊断:根据症状、检查结果匹配疾病规则库
  • 用药禁忌:检查药物相互作用规则

6. 物联网(IoT)

  • 设备告警:温度 > 100℃ 且 持续 5 分钟 → 触发停机
  • 能耗优化:根据电价时段自动调整设备运行策略

四、解决的核心痛点

痛点规则引擎如何解决
❌ 硬编码规则规则以配置形式存在,修改无需改代码、无需重新编译部署
❌ 规则爆炸10 个条件组合可能产生 2^10=1024 种情况,代码难以维护
❌ 业务与技术割裂业务人员可通过可视化工具直接维护规则
❌ 规则测试困难支持规则单元测试、场景模拟、影响分析
❌ 性能瓶颈Rete 算法避免重复计算,百万级规则毫秒级响应
❌ 合规风险完整记录规则版本、执行轨迹,满足审计要求

五、主流开源规则引擎对比

以下是目前最主流的 4 个开源规则引擎:

引擎语言起源特点适用场景
DroolsJavaJBoss(2005)功能最全、生态成熟、支持复杂事件处理(CEP)企业级应用、金融、保险
Easy RulesJava开源社区(2016)轻量级、API 简洁、无 XML/DSL 依赖简单规则场景、微服务
RuleBookJava开源社区基于 Java Lambda、链式调用风格开发者友好、快速集成
Apache CamelJavaApache路由规则引擎(非传统业务规则)ESB、消息路由、集成场景

💡 注:Flowable / Camunda 等工作流引擎也内置 DMN(Decision Model and Notation) 规则引擎,用于流程中的决策节点。


六、各引擎详细特性对比

1. Drools(行业标杆)

✅ 核心优势:
  • 完整规则生态:Drools Expert(规则)、Drools Fusion(CEP)、Drools Workbench(可视化)
  • 标准支持:兼容 DMN 1.3(决策模型与标注)和 PMML(预测模型)
  • 高性能:基于 ReteOO 算法(Rete 算法的优化版)
  • 企业级特性:规则版本管理、热部署、监控
❌ 劣势:
  • 学习曲线陡峭(需掌握 DRL 语言、KIE 概念)
  • 依赖较重(约 20+ MB)
📦 核心组件:
  • drools-core:规则引擎核心
  • kie-api:知识工程接口
  • kie-ci:动态加载规则(Maven 仓库)
  • drools-wb:Web 规则设计器(KIE Workbench)

🌐 官网:https://www.drools.org/


2. Easy Rules(轻量之选)

✅ 核心优势:
  • 极简设计:仅 3 个核心概念(Rule, Facts, RulesEngine)
  • 零依赖:纯 Java 实现,无 XML/DSL
  • API 友好:支持注解、Lambda、链式调用
  • 轻量级:JAR 包仅 100KB
❌ 劣势:
  • 不支持复杂规则组合(如规则流、决策表)
  • 无可视化工具
  • 无 CEP(复杂事件处理)能力
📦 使用方式:
// 定义规则
@Rule(name = "打折规则", description = "满100打9折")
public class DiscountRule {
    @Condition
    public boolean when(@Fact("total") int total) {
        return total >= 100;
    }
    @Action
    public void then(@Fact("total") int total, @Fact("discount") double discount) {
        discount = total * 0.9;
    }
}

🌐 官网:https://github.com/j-easy/easy-rules


3. RuleBook(开发者友好)

✅ 核心优势:
  • Java 8+ 风格:基于 Lambda 和 Functional Interface
  • 链式规则定义:类似 Java Stream API
  • 轻量级:无外部依赖
❌ 劣势:
  • 社区活跃度低
  • 功能较简单(适合线性规则)
📦 使用示例:
RuleBook ruleBook = RuleBookBuilder
    .create()
    .addRule(rule -> rule
        .when(facts -> facts.get("total") >= 100)
        .then(facts -> facts.put("discount", facts.get("total") * 0.9))
    )
    .build();

🌐 官网:https://github.com/deliveredtechnologies/rulebook


4. Flowable DMN(流程集成)

虽然 Flowable 是工作流引擎,但其 DMN 模块是一个独立的规则引擎。

✅ 核心优势:
  • 与 BPMN 无缝集成:在流程中直接调用决策表
  • 可视化设计:通过 Flowable Modeler 设计 DMN 决策表
  • 轻量级:可单独使用 flowable-dmn-engine
📦 使用场景:
// 在 Spring Boot 中注入 DMN 引擎
@Autowired
private DmnRuleEngine ruleEngine;

// 执行决策表
DmnDecisionTableResult result = ruleEngine.executeDecisionByKey(
    "loanApproval", // 决策表Key
    variables       // 输入变量
);

🌐 官网:https://www.flowable.org/docs/userguide/dmn.html


七、Drools 核心概念详解(以行业标准为例)

1. KIE(Knowledge Is Everything)

  • Drools 的顶层架构,包含:
    • KieBase:知识库(规则、流程、决策表的容器)
    • KieSession:会话(执行规则的运行时环境)
    • KieContainer:容器(管理 KieBase 和 KieSession)

2. DRL(Drools Rule Language)

  • Drools 自定义规则语言,语法示例:
rule "贷款审批规则"
    when
        $application: LoanApplication( amount > 50000, creditScore < 600 )
    then
        $application.setApproved(false);
        System.out.println("拒绝贷款:金额过高且信用分低");
end

3. 决策表(Decision Table)

  • Excel 表格形式定义规则,适合业务人员:
CONDITIONCONDITIONACTION
amount >creditScore <approved =
50000600false

4. 复杂事件处理(CEP)

  • 处理时间序列事件:
rule "5分钟内3次失败登录"
    when
        $e1: LoginEvent(status == "FAIL", $time: timestamp)
        $e2: LoginEvent(status == "FAIL", this after[0s, 300s] $e1)
        $e3: LoginEvent(status == "FAIL", this after[0s, 300s] $e2)
    then
        // 触发账户锁定
end

八、如何选择合适的规则引擎?

需求推荐引擎
🔹 企业级复杂规则(金融/保险)Drools
🔹 简单规则(促销/校验)Easy Rules
🔹 开发者偏好 Lambda 风格RuleBook
🔹 与工作流引擎深度集成Flowable DMN / Camunda DMN
🔹 实时事件处理(IoT/监控)Drools Fusion

九、Drools 在 Spring Boot 3 中的集成示例

步骤 1:添加依赖

<dependency>
    <groupId>org.drools</groupId>
    <artifactId>drools-spring-boot-starter</artifactId>
    <version>8.38.0</version>
</dependency>

步骤 2:创建规则文件(src/main/resources/rules/discount.drl)

package rules

import com.example.model.Order

rule "满100减10"
    when
        $order: Order(total >= 100, discount == 0)
    then
        $order.setDiscount(10);
        System.out.println("应用满100减10优惠");
end

rule "会员9折"
    when
        $order: Order(isVip == true, discount == 0)
    then
        $order.setTotal($order.getTotal() * 0.9);
        System.out.println("应用会员9折优惠");
end

步骤 3:编写服务类

@Service
public class DiscountService {

    @Autowired
    private KieContainer kieContainer;

    public Order applyDiscount(Order order) {
        // 创建有状态会话
        KieSession kieSession = kieContainer.newKieSession();
        
        // 插入事实
        kieSession.insert(order);
        
        // 执行规则
        kieSession.fireAllRules();
        
        // 销毁会话
        kieSession.dispose();
        
        return order;
    }
}

十、总结

维度DroolsEasy RulesRuleBookFlowable DMN
功能强度⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
学习曲线陡峭平缓平缓中等
可视化有(Workbench)无无有(Modeler)
性能极高(Rete)高(线性)高(线性)高
适用场景复杂企业规则简单业务规则开发者快速集成流程内决策

💡 建议:

  • 新项目:若规则简单,优先选 Easy Rules;若需企业级能力,选 Drools
  • 已有 Flowable/Camunda:直接使用内置 DMN 引擎,避免重复造轮子

规则引擎是业务敏捷性的关键技术,合理使用可大幅提升系统可维护性和业务响应速度。

QLExpress规则引擎实战 由阿里的电商业务规则、表达式(布尔组合)、特殊数学公式计算(高精度)、语法分析、脚本二次定制等强需求而设计的一门动态脚本引擎解析工具。 阅读详情

相关推荐

常见开源规则引擎对比分析

0x00 目的背景 电商会员服务的等级、积分、权益等模块中,都使用了大量的规则判断。范式基本上是 达成xxx条件,执行xxx行为 。这很符合规则引擎那一套,因此下面选取了几个业界常见的规则引擎进行分析。 我们分别都从使用角度、原理角度两个方面进行分析。 0x01 easy-rules 项目地址:https://github.com/j-easy/easy-rules 1. 规则模型 ![image.png](https://img-blog.csdnimg.cn/img_convert/b5724b0dcd

wjc133的专栏 2万+

【转】什么是规则引擎(Drools、OpenL Tablets、Easy Rules、RuleBook)

什么是规则引擎(Drools、OpenL Tablets、Easy Rules、RuleBook) 发表于:2021年1月23日 分类:Drools,规则引擎 标签:Drools,Easy-Rules,OpenL Tablets,RuleBook,规则引擎 什么是规则引擎 规则引擎是根据一些算法执行规则的一些列软件系统。规则引擎整合了传入系统的Fact集合和规则集合,从而去触发一个或多个业务操作。规则通常以声明式的方式在业务代码中实现,我们可能以为它很少会被改变。但事实上,这些...

雨的博客 2万+

规则引擎技术选型-qlExpress

目录 1.背景&痛点 2.目前主流规则引擎框架 3.目前业务特点选型 4.风险&缺点&优点 5.运行原理图 ​ 6.参考 1.背景&痛点 1)业务规则变化快,比如 价格的系数调整,p1~p9的业务规则不断调整并且后期可能出现pN. 2)开发>50%的精力和时间在业务规则的开发上. 3)业务人员理解规则须有很强的业务知识,新规则需要开发配合,业务规则需求提出后上线的实际运行过程对业务人员不透明.导致开发和业务的沟通成本大,最好支持业务人员可视化配置

weixin_37590206的博客 1万+

五大常用规则引擎简介

在很多企业的 IT 业务系统中,会有大量的业务规则配置,而且随着企业管理者的决策变化,这些业务规则也会随之发生更改。为了适应这样的需求,我们的 IT 业务系统应该能快速且低成本的更新。一般的作法是将业务规则的配置单独拿出来,使之与业务系统保持低耦合,通过接受输入的数据,进行业务规则的评估,并做出业务决策。配合规则引擎提供的业务,不用编码就可以快速实现复杂的业务规则,并且,规则集中管理,可提高业务规则的可重用性。决策结果的积累和回溯,可以反向推动规则的迭代优化,帮助组织形成一个不断演进的商业智能分析知识库。

sduhaf的博客 1万+

盘古DMN引擎开源:轻量级业务规则自动化新选择

业务规则管理是企业数字化转型中的核心需求,旨在将频繁变化的业务逻辑从硬编码中解耦,实现敏捷响应。其原理是通过决策模型与表示法(DMN)等标准化建模语言,将业务规则可视化、集中化管理,由独立的规则引擎负责解析与执行。这项技术的核心价值在于提升业务与IT的协作效率,支持快速变更与部署,并满足金融、保险等行业的合规审计要求。在实际应用中,DMN引擎广泛服务于金融风控、信贷审批、保险核保、电商促销等需要高频规则判断的场景。本文聚焦于近期开源的盘古DMN引擎,探讨其作为国内开源解决方案,在实现业务规则敏捷管理与自动化

weixin_34279184的博客 382

任务交互层决定工作流成败:驰骋BPM对比三款主流开源引擎

工作流引擎是连接业务流程与信息系统的核心中间件,承担着流程定义、任务调度、状态流转等底层能力。然而,真正决定用户体感的往往是任务交互层——待办列表如何呈现、审批按钮如何响应、已办历史如何追溯。平台型BPM如驰骋BPM,将任务交互层封装为四大菜单与三大处理器,提供开箱即用的完整方案;而Flowable、Camunda、Activiti作为开源流程引擎,仅暴露TaskService等API,需要开发者自行构建交互界面与业务数据关联。从技术价值看,平台型BPM适合快速交付的政企OA项目,开源引擎适合对流程内核深度

weixin_34401479的博客 474

后端开发——规则引擎简介(Drools)

什么是规则引擎? 规则引擎带来的好处;Drools案例 规则引擎的工作原理及应用场景 常见的规则引擎及对比 工作流引擎与规则引擎有什么不同

weixin_43739821的博客 8088

审批流程技术方案全解析:五类主流路线对比与工程落地要点

审批流程是企业数字化中的高频场景,表面上是节点与流转,深层则涉及组织权责与业务规则的动态变化。理解其原理,往往从状态机或工作流引擎等技术模型入手,不同实现路径决定了流程能否灵活适应变更。技术价值体现在:根据流程复杂度、变更频率、数据敏感度和团队能力选择合适方案,才能真正支撑业务运行。从自研状态机支撑简单报销,到开源引擎处理会签与驳回,再到低代码平台以及云端BPM/iPaaS满足快速上线与系统集成,乃至规则引擎与AI动态审批辅助风险决策,各有适用边界。本文梳理了五类主流技术路线,覆盖实现原理、典型技术栈、落地

weixin_30846347的博客 214

1、工作流引擎详解:概念、作用、场景、痛点与主流开源方案对比

工作流引擎(Workflow Engine)是一种软件组件或服务,用于定义、执行和管理业务流程它根据预定义的流程模型(如 BPMN、Flowable、Activiti 等标准),自动协调任务在不同参与者(人或系统)之间的流转,确保业务活动按规则有序执行。工作流引擎 = 业务流程的“交通指挥中心”它知道“下一步该谁做什么”,并自动推动流程前进。维度FlowableCamundajBPMZeebe开源协议Apache 2.0社区版 Apache 2.0Apache 2.0。

python15397的博客 1699

模板代码生成工具:原理、实践与主流方案对比

代码生成是软件开发中提升效率的关键技术,通过模板引擎将重复性工作自动化。其核心原理是基于元数据(如表结构、API定义)和模板文件(如FreeMarker、Velocity),动态生成符合规范的代码文件。这种技术能减少人工错误、统一代码风格,特别适用于前后端分离、微服务架构等场景。主流工具如MyBatis Generator专注于DAO层生成,JHipster提供全栈解决方案,而Swagger Codegen则擅长接口代码生成。实践中需关注模板可定制性、多语言支持等关键因素,企业级应用还需考虑与DevOps流

weixin_30251829的博客 328

SpringBoot整合QLExpress实战:5分钟实现动态规则引擎(附完整代码)

本文详细介绍了如何在SpringBoot项目中快速整合阿里巴巴开源的QLExpress规则引擎,实现业务逻辑的动态配置与热更新。通过一个完整的电商促销实战案例,演示了从极速集成、规则定义到生产环境高级特性与避坑指南的全过程,帮助开发者高效应对频繁变化的业务规则,显著提升开发与运维效率。

e4f5g6h7的博客 554

这 5 种规则引擎,真香!

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。

芋艿V 265

SpringBoot整合QLExpress实战:5分钟实现动态规则引擎配置

本文详细介绍了如何在SpringBoot项目中快速集成阿里巴巴开源的QLExpress动态规则引擎,实现业务逻辑的动态配置与实时生效。通过实战案例,演示了如何将复杂的促销规则从硬编码中解耦,并提供了生产环境下的安全配置与性能优化建议,助力开发者高效应对频繁的业务规则变更。

weixin_29299807的博客 453

开源安全监控框架实战:eBPF与规则引擎构建应用层防护

在云原生与微服务架构普及的今天,应用运行时安全监控成为保障服务稳定性的关键环节。其核心原理在于通过深入应用内部,采集系统调用、网络流量、应用日志等多维度数据,构建白盒化的安全可见性。这项技术的核心价值在于能够实现从被动响应到主动防御的转变,精准识别传统边界安全方案难以发现的内部威胁,如内存马、无文件攻击和业务逻辑漏洞。典型的应用场景包括容器环境下的异常进程检测、挖矿木马行为分析以及Web应用层API滥用监控。本文以开源项目OpenClaw-Guard为例,深入探讨如何利用eBPF技术实现高性能、低侵入的数据

weixin_33713503的博客 797

微信小程序订阅消息实战:如何绕过长期订阅限制实现多次发送(附PHP代码)

本文针对微信小程序开发者无法获取长期订阅消息权限的痛点,提供了一套完整的实战解决方案。通过深入剖析一次性订阅与长期订阅的规则差异,结合巧妙的交互设计、稳健的PHP服务端发送引擎(含高并发处理与失败重试机制)以及授权池管理等高级策略,帮助开发者在合规前提下,构建高可用的消息推送系统,有效提升通知触达率与用户体验。

weixin_29008805的博客 618

【面试经验】大疆笔试-计算机视觉算法B卷

3、a=np.random.randn(3,3) b=np.random.randn(3,1) ,那么c=a*b的维度应该是:*是元素乘法或者torch.mul,@才是矩阵乘法或者torch.matmul,不会触发广播机制;8、将分辨率降低一半时,精标定内参(fx、fy、cx、cy、k1、k2、k3)焦距、光心、畸变系数将分别变成(fx、fy、cx/2、cy/2、k1、k2、k3),只能搜到光心变成一半,畸变系数不变。12、KLT算法在频闪光源、重复纹理、高速机动、环境照度低的情况下效果显著下降。

litterfinger的博客 1444

开源代码评审工具:规则引擎与团队落地全指南

代码评审是保障软件质量的核心环节,但传统依赖人工经验的方式难以形成可度量的工程能力。规则引擎作为自动化评审的关键技术,通过配置化规则、上下文聚合和反馈闭环,将团队规范沉淀为可执行的检查逻辑。开源的自托管工具让团队能够灵活掌控数据与规则,结合Git仓库和Webhook机制,在不改变现有开发流程的前提下实现自动化评审、历史记录沉淀与数据统计。适用于5-50人研发团队,帮助企业从“有制度、没工具”的状态转向可配置、可度量的评审体系。围绕open-code-review的部署实践、规则分层设计与团队落地路径展开,提

weixin_33521678的博客 201

京东礼品卡绑定技术解析与安全验证实践

电商系统开发中,卡券绑定是常见的业务场景,其核心在于安全验证机制的设计与实现。从技术原理来看,现代验证系统通常采用多层防护,包括前端数据加密、行为验证(如滑块验证)和风控校验等关键技术。这些机制通过设备指纹采集、请求签名验证等方式,有效防范自动化攻击。在实际工程实践中,开发者需要特别关注接口鉴权流程,正确处理安全令牌(如st/vt令牌)和请求签名。京东礼品卡绑定作为典型案例,展示了如何平衡用户体验与系统安全,其验证系统会持续升级,需要开发者跟踪接口变化。对于企业级应用,建议采用混合模式技术方案,结合浏览器自

weixin_28607671的博客 234

Java 规则引擎封神指南:从底层原理到生产落地,零冗余全干货实战

规则引擎解耦业务规则与系统代码,实现规则快速迭代。本文系统讲解规则引擎原理与实战,对比Drools、EasyRules等主流方案,剖析Rete算法核心逻辑。通过电商风控系统实战,展示生产级规则引擎架构,包含规则持久化、动态热更新等关键功能。总结性能优化、规则治理等最佳实践,解答常见问题,帮助开发者掌握规则引擎选型与落地。规则引擎适用于规则频繁变更场景,能将规则迭代周期从天级压缩到分钟级,但需根据业务复杂度合理选用。

果酱 の 博客 1790

电路课设-音响分频器电路设计

(一)题目简介 1.一阶分频器电路设计 假定高音和低音扬声器均等效为 16 欧姆电阻,设计如图 2 的简单分频器电 路,要求高低频分界(两个滤波器的截止频率)为 5kHz。 1) 写出高音扬声器和低音扬声器电压对于 vs 的传递函数,确定电路中电 容 C 和电感 L 的元件值;2)利用 AC 频率扫描分析求出两个扬声器电压的频率响应曲线,验证计算 结果。用包含高低频成分的电压 vs 激励进行测量验证。 3)计算并利用 EWB 仿真证明从 vs 看进去的阻抗为一常数 16 欧姆。

weixin_53507617的博客 1万+

TMS320F28377D的sys/bios双核工程配置详解——从零搭建到RAM优化

本文详细解析了TMS320F28377D双核系统在sys/bios环境下的工程配置与RAM优化策略。从开发环境搭建、SYS/BIOS工程创建到双核CMD文件配置,提供了实战技巧和常见问题解决方案,帮助开发者高效实现电力电子控制系统中的双核协作与性能优化。

weixin_28292761的博客 600

轻量级规则引擎调研

轻量级规则引擎调研 淡淡的小番茄关注 0.8682021.06.25 20:30:59字数 689阅读 1,141 我们基于Flink实现了云端的规则引擎,以flink on yarn方式在运行,依赖hadoop和zookeeper,对于边缘侧来说比较重,所以打算调研下轻量级的规则引擎,我们的业务诉求如下: 业务需求背景 1、轻量级 2、支持海量规则 4、便捷的规则启停 5、动态加载 从如下几方面对比目前比较流行的几个规则引擎框架: drools 1、社区活跃度 drools(3.7

雨的博客 1280

SAP 关于替代料物料混用问题处理方案简介

电子料很多都是需要进行替代的,并且需要考虑当A物料库存不足时,需要考虑B物料的库存来满足需求,当需求不满足的时候也需要考虑物料的价格因素,同时考虑价格低的物料进行采购。3、还遇到过比较奇葩的处理替代料的解决方案就是将SAP系统中的需求数据用接口的方式全部传输到外围系统,同时还将所有物料的库存信息都通过接口的方式传输到外围系统中,然后通过外围系统进行替代料逻辑的处理,然后在回写回SAP更改BOM中的优先级,然后在重新下单,貌似解决了替代料的问题,但是好像又没有解决。时间:2024-01-27。

我小时候很黑的博客 2348

5G智能化产品主流开源项目盘点与技术选型详解

明确需求方向:聚焦核心网、边缘、物联网、自动化、AI等,优先解决主业务痛点。评估社区活跃度与文档质量:选择社区活跃、文档完善的项目,降低学习和维护成本。兼容性与扩展性:关注项目的接口标准、协议支持和与现有系统的集成能力。资源与部署环境:结合企业自身IT资源,选择轻量级或企业级方案,提升部署效率。二次开发能力:考察API丰富度和可定制性,满足业务创新和快速试错需求。实际案例验证:优先选择有成熟落地案例和行业口碑的项目,降低实施风险。

IT技术学习与工作笔记分享 706

基于SVD矩阵分解的用户购物篮预测分析实战

基于SVD矩阵分解的用户购物篮预测分析实战

360

损失函数大汇总(六十一)(Signed Distance Map Loss附公式推导与代码)

摘要 本文介绍了Signed Distance Map (SDM) Loss,一种将形状先验直接融入分割任务的方法。SDM将每个像素表示为到目标边界的带符号距离(内部为负,外部为正),相比二值mask能更连续地表达形状几何信息。SDM Loss的核心思想是让网络学习这个隐式形状场,通过可微的Heaviside函数近似将SDM转换为分割结果。文中重点分析了一种product-based regression loss,它能同时关注距离数值和内外符号的正确性,对边界区域尤为敏感。SDM Loss通常与传统的分割

悦学共鸣,温柔以待,汇聚光芒,共同成长 186
上一篇: 4、Flowable UI 详解:作用、原理与 Spring Boot 3 应用联动机制
下一篇: 完整 PostgreSQL 数据库建表脚本参考示例
龙茶清欢
博客等级 码龄7年 3720粉丝 375原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙茶清欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值