15、需求预测中的判断偏差与群体预测智慧

需求预测中的判断偏差与群体预测智慧

1. 判断偏差概述

在进行需求预测时,我们可以通过观察团队通常所做的调整,来了解预测模型的局限性,进而判断是否有改进的必要。例如,如果团队在没有额外信息的情况下就能轻易超越模型的预测结果,这表明模型可能不够理想;若团队花费大量时间预测促销情况,那么或许应将促销因素纳入模型,作为需求驱动因素;要是团队需要对所有季节性商品进行审查,这可能意味着模型在识别季节性模式方面存在不足。

判断性预测容易受到多种偏差的影响,这些偏差源于企业组织的运作方式和人类大脑的思维模式。判断偏差的来源主要可分为认知偏差、激励不一致导致的有意偏差以及有偏差的预测过程。

1.1 认知偏差

人类由于大脑的内在特性,容易产生一系列认知偏差。这些偏差是经过世代进化形成的,深深烙印在我们的思维方式中。虽然这些偏差可能使我们在狩猎 - 采集时代表现出色,但在预测方面却往往导致不佳的结果。了解这些偏差有助于我们避免它们。以下是几种常见的认知偏差:
- 锚定偏差 :人类习惯于通过比较来思考。在进行预测或估计时,脑海中出现的第一个数字,即使与任务无关,也会影响我们的判断。1974 年,Tversky 和 Kahneman 的实验就证明了这一点。他们让参与者猜测联合国中非洲国家的数量,结果发现参与者的猜测受到了转动幸运轮所给出数字的影响。在实际的预测会议中,如果团队成员一开始就提出一个数字,如“我认为我们下季度的销售额将比上季度增长 20%”,这个数字就会像锚一样,影响后续的讨论。锚定偏差在谈判中也经常被运用,人们会从一开始就围绕一个高或低的数字来引导对话。
- 确认偏差 :人类倾向于无意识地寻找并关注支持自己现有信念和想法的信息,而回避与之矛盾的信息。例如,当我们认为某个产品发布会会很成功,并且在一次采访中,有潜在客户表示喜欢该产品时,我们就会更坚信自己的观点。在预测中,如果我们认为下个月公司的销售情况会很好,那么在寻找相关信息时,会更倾向于选择支持这一观点的证据。营销人员可能会因为有意或无意的偏差,高估即将开展的营销活动对销售的提升作用。他们周围都是志同道合的营销专业人士,容易受到确认偏差的影响,更关注支持活动价值的信息,同时也有动力宣传活动的成功,以获取资金支持。
- 模式识别与后见之明偏差 :人类大脑天生就有在噪声中寻找模式、为各种结果寻找原因和解释的倾向,这种现象被称为模式识别(apophenia)。在预测过程中,这可能表现为两种情况:一是在查看历史需求图表时,即使数据是嘈杂和随机的,我们也会从中发现模式,从而增强对自己判断性预测能力的信心;二是我们总是试图解释销售数据的每一次波动,但实际上部分波动可能是随机变化导致的。与模式识别相关的是后见之明偏差,即人们常常认为过去的事件比实际情况更具可预测性。例如,在经历了特定事件(如全球疫情、战争、政治事件)后,很多人会觉得自己本可以或确实准确预测到这些事件。为了提高预测的准确性,我们不应仅仅纠结于解释过去的错误预测或争论谁对谁错,而应专注于消除有意和无意的偏差,引入新的信息来源,填补之前的信息盲点。

1.2 激励不一致(有意偏差)

不同的供应链利益相关者有着不同的目标和激励机制,这可能导致他们出于自身利益,有意地对预测结果进行偏差调整。

利益相关者 目标 偏差行为
销售代表 为了获得超额销售奖励,希望降低销售目标 故意降低预测数量,这种行为被称为“沙袋策略”(sandbagging)
客户服务经理 确保有足够的库存满足客户订单,这是他们的主要关键绩效指标(KPI) 过度预测需求,以保证安全库存,这种行为被称为“套期保值”(hedging)
管理层和财务人员 当公司当前的销售情况低于预算时,会要求需求规划团队使预测结果与年度预算相符 对需求规划团队施加压力,要求调整预测,这种行为被称为“强制执行”(enforcing)

此外,还有其他一些可能导致有意偏差的情况。例如,在销售下降时,销售人员可能会提高预测,以与预算保持一致,避免在上级面前丢脸;销售人员也可能故意过度预测,以确保有足够的库存用于机会性销售;地区需求规划人员可能会受到当地经理的压力,提高预测,以从中央仓库获得有限的供应。如果人们因奖金计划、KPI 或政治因素而对预测结果有乐观或悲观的倾向,并且不需要对预测的准确性负责,那么他们很可能会产生有偏差的预测。

1.3 有偏差的预测过程

预测过程也可能因为片面的数据或假设、选择性的解释以及利益相关者影响力的不平衡而产生偏差。
- 片面的数据或假设 :预测结果可能会因为依赖部分、有偏差或不完整的信息,而对未来需求做出过于乐观或悲观的估计。例如,预测过程可能只关注商店的关闭数量,而忽略了开业数量;只考虑产品的推出,而不考虑产品的停产;只重视营销努力,而忽视竞争对手的行动等。最常见的信息盲点是只关注历史销售数据,而不考虑需求情况。由于大多数供应链只记录了受限的销售数据,不考虑丢失的销售数量会导致信息偏差。在 B2C 环境中,收集丢失的销售数据可能非常困难,但任何在这方面的进展都有助于获得无偏差的需求预测。B2B 企业通常能够从客户那里收集丢失的订单信息,因此能提供更多的信息。
- 选择性解释 :预测过程可能会因为对特定预测调整的解释需求不平衡而产生偏差。例如,如果高级管理层要求对任何向下的预测进行详细解释,而对向上的调整则较少质疑,这会导致频繁的过度预测;相反,如果销售与运营规划(S&OP)过程要求对所有历史上的过度预测进行解释,规划人员可能会变得保守。
- 利益相关者影响力的不平衡 :如果某个利益相关者(如特定的渠道经理、工厂经理或整个销售团队)比其他人员拥有更多的权力或影响力,他们可能会为了满足自己的需求而影响预测结果,从而放大激励不一致带来的影响。这种影响力可能源于个人关系、个人魅力或高级管理层对预测的关注程度的波动。如果房间里声音最大的团队成员对预测结果产生了重大影响,就可能出现这种问题。权力和影响力还与谁能获取合适的信息以及最终谁来批准预测有关。当高管不愿意批准显示销售下降或未达到当前销售目标的预测时,就经常会遇到这个问题。

1.4 群体预测

由于个体容易受到认知偏差和信息局限的影响,我们可以利用多个团队成员的智慧进行群体预测。通过让不同的人参与预测,我们期望他们的偏差和信息来源能够相互补充。虽然将多个个体的预测结果进行综合,平均而言有望得到比单个个体预测更好的结果,但群体预测也存在一些陷阱,需要遵循一系列最佳实践才能充分发挥其优势。

1.4.1 群体智慧

1906 年,84 岁的英国科学家 Francis Galton 参观了一个牲畜集市,见证了一场村民猜测公牛重量的比赛。800 人参与了这次比赛,他们将自己的猜测写在纸条上。比赛结束后,Galton 对这些猜测进行了统计分析,结果令人惊讶:所有猜测的平均值几乎完美地估计了公牛的重量,甚至超过了比赛的实际获胜者和所有专家的猜测。

这一发现可以推广为一个原则:在一定条件下,一群人的平均意见通常比单个成员的意见更准确。这一概念在 2004 年被 James Surowiecki 正式提出,称为“群体智慧”。群体智慧在大多数情况下都适用,无论是判断性需求预测,还是预测各种专业或个人情况的结果。要使群体智慧发挥作用,需要具备以下三个关键要素:
- 目标一致 :如果一群人都有共同的利益,倾向于在同一方向上对预测结果进行偏差调整,那么将他们的预测结果平均起来,并不会得到更准确的结果。因为他们的偏差方向相同,无法相互抵消,最终的预测结果仍然可能存在偏差。例如,让一群都希望对未来需求给出高估计的同事进行预测,得到的结果可能仍然过于乐观。为了让群体智慧发挥作用,需要通过统一每个人的目标,消除所有有意的偏差。在讨论需求预测时,要确保每个人都清楚预测的本质是对未来需求的无约束、无偏差的预测,而不是供应计划、销售目标或预算。通过统一关键绩效指标(KPI)和目标,可以减少人们对预测结果进行偏差调整的诱惑。例如,激励销售人员超越预测目标的做法是不可取的,这会促使他们低估需求,以获得超额奖励。相反,通过跟踪预测增值(FVA),让每个人对预测的准确性和偏差负责,是一种更好的做法。
- 思维多样性 :群体智慧的核心在于引入不同的见解。最好的方法之一是召集具有不同背景和思维方式的人。这样,每个成员会关注不同且相互矛盾的信息和细节,即使每个人仍然可能存在无意识的偏差,但这些偏差可能会相互抵消。在讨论需求预测时,可以邀请来自销售、营销、财务和供应等不同部门的同事。他们会从独特的视角看待预测,并掌握不同的信息。此外,还应寻找具有实地知识和更广泛视野的同事,以及具有定量和定性思维方式、乐观和悲观态度的人员。简而言之,为了丰富预测结果,应尽可能组建一个具有多样化背景和思维方式的团队。
- 独立工作 :为了充分发挥群体智慧的优势,每个团队成员应尽可能独立工作。在实际操作中,每个成员需要运用自己的判断来寻找信息、评估其相关性以及对未来需求的影响。在思考过程中,成员不应受到他人或外部声明的影响。人类容易受到锚定偏差和群体思维的影响,倾向于在群体中追求和谐与共识,这可能会损害独立判断。为了避免这种情况,在进行预测时,应避免所有社会、等级、政治或同伴压力。团队成员应该感到安全,能够提出与团队其他成员不同的预测,而不会因此受到指责、标签化或排斥。相反,独特的预测、观点应该以开放的心态被接纳。如果预测过程仍然受到过多的同伴压力和影响,可以采用匿名预测的方式。例如,在重要的 S&OP 会议开始时,让每个参与者写下他们对下一季度销售数量的预期,然后打乱这些数字并公布,以此开始讨论。

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px

    A(判断偏差):::process --> B(认知偏差):::process
    A --> C(激励不一致):::process
    A --> D(有偏差的预测过程):::process
    B --> B1(锚定偏差):::process
    B --> B2(确认偏差):::process
    B --> B3(模式识别与后见之明偏差):::process
    C --> C1(销售代表 - 沙袋策略):::process
    C --> C2(客户服务经理 - 套期保值):::process
    C --> C3(管理层和财务 - 强制执行):::process
    D --> D1(片面的数据或假设):::process
    D --> D2(选择性解释):::process
    D --> D3(利益相关者影响力的不平衡):::process

通过了解判断偏差的来源,并遵循群体预测的最佳实践,我们可以提高需求预测的准确性,从而更好地应对供应链中的各种挑战。在后续的工作中,我们应持续关注这些偏差,并不断优化预测过程,以适应不断变化的市场环境。

2. 群体预测的实践与挑战

2.1 群体预测的实践步骤

在实际运用群体预测时,可以遵循以下步骤来确保群体智慧得以有效发挥:
1. 明确目标与规则 :在开始预测之前,清晰地向所有参与者说明预测的目标、范围以及相关规则。确保每个人都理解预测是对未来需求的无约束、无偏差估计,而非其他目的的指标。例如,告知大家预测结果将用于库存规划,而不是作为销售目标来激励销售人员。
2. 组建多元化团队 :根据思维多样性的原则,从不同部门、不同层级、不同专业背景中挑选成员。可以列出潜在成员的名单,分析他们的特点和优势,确保团队成员具有不同的视角和信息来源。比如,除了销售和市场人员,还应包括财务人员、运营人员和技术专家。
3. 独立预测阶段 :让每个成员在不受干扰的情况下进行独立预测。可以为成员提供必要的历史数据、市场信息等资源,但避免在这个阶段进行过多的讨论和交流。例如,设定一个特定的时间段,让成员在这段时间内完成自己的预测,并记录下预测的依据和思考过程。
4. 汇总与分享 :收集所有成员的预测结果,并进行汇总。可以使用表格的形式展示每个成员的预测值和相关信息。然后,将汇总结果分享给所有参与者,让大家了解整体的预测情况。
|成员|预测值|依据说明|
| ---- | ---- | ---- |
|成员 A|1000 件|根据历史销售趋势和近期市场活动|
|成员 B|1200 件|考虑了新客户的潜在需求和竞争对手的动态|
|成员 C|900 件|基于成本分析和生产能力限制|

  1. 讨论与交流 :组织成员进行讨论,让他们分享自己的预测思路和依据。鼓励成员提出不同的观点和疑问,促进思想的碰撞。在讨论过程中,要确保每个人都有机会发言,并且尊重不同的意见。
  2. 综合调整 :在充分讨论的基础上,对预测结果进行综合调整。可以采用加权平均等方法,根据成员的专业知识、经验和预测准确性等因素,为每个成员的预测值赋予不同的权重。最终得出一个更加准确和可靠的预测结果。

2.2 群体预测面临的挑战

尽管群体预测具有诸多优势,但在实践中也面临一些挑战:
- 群体压力与从众心理 :即使强调独立工作,群体中的压力和从众心理仍然可能影响成员的判断。一些成员可能会因为担心与团队意见不一致而改变自己的预测。为了应对这一挑战,可以加强对独立思考的鼓励和保护,建立匿名反馈机制,让成员能够自由表达自己的观点。
- 信息不对称 :不同成员可能掌握不同的信息,导致信息不对称。这可能会使某些成员的预测受到局限,而其他成员的优势信息无法充分发挥作用。解决方法是在预测过程中加强信息共享,确保每个成员都能获取到必要的信息。
- 时间和成本 :群体预测需要投入更多的时间和精力,包括组织会议、讨论和协调等。这可能会增加预测的成本,并且在一些情况下可能无法满足紧急决策的需求。因此,需要合理安排时间和资源,提高预测效率。

2.3 应对挑战的策略

为了克服群体预测面临的挑战,可以采取以下策略:
1. 培训与教育 :对团队成员进行培训,提高他们对判断偏差和群体预测原理的认识。让成员了解各种偏差的表现形式和影响,以及如何避免这些偏差。同时,培训成员如何进行独立思考和有效沟通,提高他们的预测能力和团队协作能力。
2. 建立反馈机制 :建立定期的反馈机制,对预测结果进行评估和分析。比较预测值与实际结果的差异,找出偏差的原因,并总结经验教训。根据反馈结果,对预测过程和方法进行调整和优化,不断提高预测的准确性。
3. 灵活运用方法 :根据不同的情况和需求,灵活运用群体预测的方法。例如,对于一些简单的预测问题,可以采用快速的群体讨论方式;对于复杂的问题,则可以采用更严谨的流程和方法,如德尔菲法等。

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px

    A(群体预测):::process --> B(明确目标与规则):::process
    A --> C(组建多元化团队):::process
    A --> D(独立预测阶段):::process
    D --> E(汇总与分享):::process
    E --> F(讨论与交流):::process
    F --> G(综合调整):::process
    H(群体预测挑战):::process --> I(群体压力与从众心理):::process
    H --> J(信息不对称):::process
    H --> K(时间和成本):::process
    L(应对策略):::process --> M(培训与教育):::process
    L --> N(建立反馈机制):::process
    L --> O(灵活运用方法):::process

3. 总结

需求预测中的判断偏差是一个普遍存在的问题,它可能源于认知偏差、激励不一致和有偏差的预测过程。认知偏差如锚定偏差、确认偏差和后见之明偏差等,会影响我们对未来需求的准确判断;激励不一致导致不同利益相关者为了自身利益而对预测结果进行有意偏差调整;有偏差的预测过程则可能由于片面的数据、选择性解释和利益相关者影响力不平衡而产生。

群体预测作为一种应对个体偏差的有效方法,通过群体智慧可以提高预测的准确性。但要使群体智慧发挥作用,需要满足目标一致、思维多样性和独立工作三个要素。在实践中,群体预测需要遵循明确的步骤,但也面临着群体压力、信息不对称和时间成本等挑战。通过培训与教育、建立反馈机制和灵活运用方法等策略,可以有效应对这些挑战,提高群体预测的效果。

在实际的需求预测工作中,我们应该充分认识到判断偏差的存在,并采取相应的措施来减少偏差的影响。同时,合理运用群体预测的方法,发挥团队的智慧和力量,以获得更准确、可靠的预测结果,为企业的决策提供有力支持。

相关推荐

AI系统可靠性:从模型发布到工业级运维的实战指南

AI系统可靠性是指模型在真实业务环境中持续、稳定、可信运行的能力,其核心在于数据、系统、模型与业务四层协同健康。随着AI从演示项目走向生产值班系统,传统‘调参-上线’范式已失效,取而代之的是以可观测性、可解释性、可回滚性为支柱的工程化运维体系。技术价值体现在降低MTTR、规避监管风险、保障商业指标不劣化;典型应用场景覆盖金融风控、医疗影像、电商推荐等高敏领域。本文聚焦2026年AI落地关键转折——用开源工具链(Evidently+MLflow+Py-Spy+Prometheus)构建覆盖数据漂移、子群体公平

weixin_33901641的博客 322

AI公平性四重校验:从定义、数据、模型到部署的工业级实践

AI公平性是人工智能系统在真实场景中实现公正决策的基础能力,其核心在于将抽象的伦理原则转化为可建模、可验证、可追责的技术动作。它并非单一指标优化,而是涵盖公平性定义、数据生成机制、模型架构约束与生产环境监控的系统性工程。技术价值体现在规避法律风险、提升长尾用户满意度、增强模型泛化鲁棒性;典型应用场景包括信贷审批、医保审核、招聘筛选与城市治理等高敏感决策领域。本文聚焦‘定义公平’与‘部署公平’两大高频热词,提供基于监管依据的公平性定义对照、边缘设备友好的实时哨兵方案及可落地的七步闭环方法论。

weixin_34180452的博客 341

用知识图谱构建企业虚拟品牌认知网络:AI架构师的实战经验分享

企业虚拟品牌认知网络(Virtual Brand Cognition Network, VBCN)是指利用知识图谱技术构建的、全面反映内外部利益相关者对品牌认知状态的数字孪生系统。它不仅是品牌信息的存储库,更是品牌智慧的决策支持系统。1. 认知透明度提供品牌认知的全景视图,消除"品牌盲区"量化品牌健康度指标,实现基于数据的品牌决策揭示不同利益相关者群体的认知差异2. 市场敏锐度实时监测品牌声誉变化,快速响应潜在危机识别新兴消费趋势和未被满足的需求预测市场变化对品牌资产的潜在影响。

AI架构师小马 822

【信息科学与工程学】【运营科学】第二篇 C4信息与通信网络运营 (C4) ——数据中心网络运营01

这是运营的物理和逻辑对象。C4.11xx 传输资源:光纤、微波、卫星链路;频谱资源(Sub-6GHz, 毫米波)。C4.12xx 节点资源:核心路由器、交换机、基站(gNB)、数据中心服务器。C4.13xx 虚拟化资源:由NFV生成的虚拟网络功能(VNF)、容器、虚拟机和网络切片实例。这是实现智能、灵活运营的核心技术集。C4.21xx 软件定义与虚拟化:软件定义网络 (SDN):控制平面与数据平面分离,实现集中、可编程的网络控制。网络功能虚拟化 (NFV):将传统专用硬件设备的功能以软件形式运行在通用硬件上

weixin_49199313的博客 1449

【信息科学与工程学】计算机科学与自动化——第十六篇 GPU 05 工艺(3)

序号工艺工序名称工艺步骤核心参数其他参数关键部件及原材料控制指标加工设备类型加工工艺/技巧1衬底准备​1.1 硅晶圆清洗 1.2 热氧化生长薄SiO₂层(1-5nm) 1.3 衬底温度稳定温度: 600-800°C 厚度: 1-5nm 表面粗糙度: <0.2nm晶向: (100) 晶圆尺寸: 300mm 掺杂浓度: 1-10 Ω·cm p型Si晶圆、O₂气体、清洗液(SC1/SC2)氧化层厚度均匀性(±0.1nm) 界面态密度(Dit)<1e10 cm⁻²eV⁻¹清

weixin_49199313的博客 1326

【信息科学与工程学】【控制科学】第二篇 决策控制与决策科学01

多属性决策分析马尔可夫决策过程和行为决策理论。多属性决策分析:静态、多准则决策问题的结构化方法马尔可夫决策过程:动态、序贯决策的数学框架行为决策理论:描述实际决策行为的心理学基础每个表格都严格遵循要求的18个维度理论基础(定理/规律/数学特征)算法实现核心数学描述关键参数精度与误差分析边界条件影响因素计量方法多学科关联实现目标完整工作流程应用场景优点与局限瓶颈知识连接点决策控制知识体系的特点多层次:从描述性(行为理论)到规范性(MCDA、MDP)多学科。

weixin_49199313的博客 816

【管理科学】第六十三篇 企业管理者招聘与人才博弈战略02

编号类型领域问题问题的数学分析(含逐步推理与数值范围)方法/手段/步骤/流程/话术/策略/行为/时序的所有内容和步骤(含数学表达式与数值分析)时序数学表达式及周期行动的数学表达式(含数值范围)关联知识和法律法规651组织博弈成本控制如何在保证质量的前提下有效控制成本?逐步推理: 1. 成本控制模型:成本每降低10%,利润可提升15%~25%。但过度降本可能影响质量和员工士气。 2. 控制效果:有效的成本控制可使利润率提升5%~10%。 3. 法律风险:需遵守劳动法和产品质量法。步骤与数学表

weixin_49199313的博客 467

【信息科学与工程学】计算机科学与自动化——第三十五篇 调度理论和调度算法01——资源调度算法

算法逻辑

weixin_49199313的博客 681

【信息科学与工程学】【管理科学】第七十二篇 管理层相对基层员工的信息差/资源差/权力差/认知差03 总裁/副总裁

定义系统状态(如:全正常、1个单元故障、降级运行、完全故障),状态间转移率 λ(故障率)和 μ(修复率)构成转移强度矩阵 Q。其中 γ_k = (2π/λ) n_k d_k cosθ_k 为相位厚度,η_k = n_k / cosθ_k (TE波) 或 η_k = n_k cosθ_k (TM波) 为光学导纳,θ_k为层内入射角。用于在光刻机设计阶段评估各子系统(光源、光学、工件台、真空等)的可靠性,识别薄弱环节,计算系统整体可用性(Availability),指导冗余设计和维护策略制定。

weixin_49199313的博客 984

【信息科学与工程学】【通信工程】第七十七篇 城域网+FTTR/FTTB/FTTC/FTTO的数学分析01

总带宽 Btotal​需考虑各业务带宽 Bi​及统计复用性(按80%计算):Btotal​=0.8∑i=1n​Bi​​。调度延迟 Di​=ri​li​​,其中 li​为包长。:dtdN2​​=hνp​APp​σap​​(Nt​−N2​)−τN2​​−hνs​APs​σes​​N2​,N2=上能级粒子数,N_t=总Er³⁺浓度,σ_ap/σ_es=吸收/发射截面,τ=荧光寿命(≈10ms),A=纤芯面积。调度分数 Scorej​=w1​umax​−umin​umax​−uj​​+w2​mmax​mj​​。

weixin_49199313的博客 415

【审计专栏】【企业管理】【市场体系】第三篇 销售体系01

本知识体系从战略流程技能组织运营战略与规划:定义销售的方向、目标和基本规则。流程与方法论:提供从线索到回款的标准化作战地图。技能与能力:武装销售人员的个人作战能力。组织与人才:打造高效能销售团队的组织和人才基础。运营与支持:提供数据、工具、政策等后台支持,提升整体作战效率。应用建议:企业可参照此框架,诊断自身销售体系的短板,系统性地进行能力建设。编码系统便于知识的管理、检索和传承,可应用于培训材料、流程文档和系统设计中。企业销售体系全景知识分类与编码框架。

weixin_49199313的博客 881

全国30米分辨率逐年植被覆盖度(FVC)数据集

植被覆盖度是描述地表植被的重要参数与生态环境的基本指标,在大气圈、土壤圈、水圈和生物圈中都占据着重要的地位,区域及全球范围的植被覆盖度估算对植被及相关领域的研究具有重要意义。分别对LANDSAT 5/7/8系列数据计算FVC,其中Landsat5 和Landsat 7NDVI计算利用 B4和B3波段,Landsat8 和Landsat9 NDVI计算利用 B5和B4波段。算法从当年所有观测数据中,以低云、低探测角度和最高NDVI值为标准,选择最佳的可用像元值,并进行换算。(3) FVC的计算。

地球资源数据云的官方博客 1808

STM32F103C8T6飞控入门:从零开始,用HAL库和MPU6050搭建你的第一架四轴无人机

本文详细介绍了如何使用STM32F103C8T6和MPU6050模块从零开始搭建四轴无人机飞控系统。通过硬件选型、电路设计、HAL库配置、姿态解算算法实现以及PID控制等步骤,帮助创客和嵌入式爱好者快速入门飞控开发。文章还提供了实用的调试技巧和常见问题解决方案,适合想要掌握四旋翼无人机核心技术的开发者。

weixin_42524750的博客 266

从零到一:手把手教你用DaVinci Configurator配置一个完整的AUTOSAR接口通信实例

本文详细介绍了如何使用DaVinci Configurator工具配置AUTOSAR接口通信实例,从环境准备到SWC端口定义、BSW模块配置,再到通信验证的全过程。通过实战案例'车窗控制'功能模块,帮助开发者快速掌握AUTOSAR架构下的接口通信配置技巧,提升汽车电子软件开发效率。

weixin_42557830的博客 450

TC3XX - MCAL知识点(三十三):基于EB Tresos配置Tc3xx的MCAL代码如何产生中心对称的三相六路发波波形

本文用于记录如何在英飞凌 tc3xx 芯片的应用开发中,借助 EB Tresos 配置工具生成的配置代码与 MCAL 源码相结合,进而实现三相六路中心对称互补的 PWM 输出效果。外部资源需求:EB Tresos23.0以上、Tasking\Hightec编译器、示波器\逻辑分析仪。

梦想技术家 1205

SAP_SD模块更改销售订单定价简介

方式优点缺点适用场景MASS简单,无需开发不能触发重新定价逻辑修改特定字段BDC (VA02)可模拟人工操作维护复杂,速度慢少量订单批改稳定、安全需ABAP支持推荐用于批量重新定价VBOF标准重算返利仅适返利类条件返利更新通过本文,我们了解了 SAP 的[SAP_SD模块更改销售订单定价]的基本概念和应用方法。希望这些信息能帮助您在实际工作中更好地使用 SAP 系统,提高工作效率和管理水平。更多SAP文章请点击更多SAP文章更新,大家一起学习进步!!!

我小时候很黑的博客 706

Python二级考试题目及答案解析(含刷题软件)

答案:A 解析:print()函数可以在屏幕上输出指定的字符串或变量,input()函数用于从键盘获取用户输入,int()函数可以将指定的字符串或浮点数转换为整数,float()函数可以将指定的字符串或整数转换为浮点数。答案:A 解析:int()函数可以将字符串转换为整数,float()函数可以将字符串转换为浮点数,str()函数可以将任意类型的变量转换为字符串,bool()函数可以将任意类型的变量转换为布尔值。

YOLO 1万+

YOLOv8模型压缩终极方案:LAMP剪枝实战,速度提升不掉点

一个庞大的模型虽然强大,但在实际部署,尤其是资源受限的边缘设备(如无人机、移动电话、嵌入式系统)上,却面临着严峻的挑战:高昂的内存占用、巨大的计算量以及随之而来的高延迟和高能耗。本教程从LAMP剪枝的深刻理论出发,详细解释了它如何通过最小化最坏情况下的L2失真,并借助巧妙的数学简化,最终推导出一种高效、无超参数、层自适应的剪枝策略。它如同为臃肿的模型进行一次精准的“瘦身手术”,通过移除网络中冗余或不重要的权重、神经元甚至整个结构,来显著降低模型的参数量和计算量(FLOPs),从而实现推理加速和资源节约。

LXY_LOVE36的博客 174

AI大模型探索之路-认知篇1-全景透视:揭秘AIGC技术的进化之路

随着人工智能技术的突飞猛进,内容创作方式的发生了革命性的转变;从早期专业人员主导的内容生产,到现如今生成式人工智(AIGC)能创作时代;本篇文章主要讲解AIGC技术的演变历程。

寻道AI,探索AI无限可能! 1645

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: 13、基于改进原型嵌入的广义中位数计算方法
下一篇: 21、协作式3D目标检测技术解析
普通网友
博客等级 码龄27年 204粉丝 1502原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值