深度学习笔记: 最详尽广告点击预测系统设计

欢迎收藏Star我的Machine Learning Blog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star, 有问题可以随时与我交流, 谢谢大家!

广告点击预测

1. 问题描述

建立一个机器学习模型来预测广告是否会被点击。

为了简化,我们不会专注于广告技术中常用的级联分类器。

在这里插入图片描述

  • 在继续之前,让我们了解一下广告投放的背景。广告请求会经过一个瀑布模型,在该模型中,出版商会尝试通过高 CPM(每千次展示成本)直接销售其库存。如果无法销售,出版商会将展示机会传递给其他网络,直到它被售出。

级联分类器涉及多个阶段,每个阶段都有自己的分类器,一个分类器的输出成为下一个分类器的输入。这可以帮助:

  • 过滤:早期阶段过滤掉大多数负面案例(例如,不太可能被点击的情况),使后续阶段能够专注于更难分类的情况。
  • 专业化:不同阶段可以专注于预测任务的不同方面,提高整体性能。
  • 效率:通过逐步减少每个阶段需要考虑的案例数量,级联可以提高计算效率。

在瀑布模型中,出版商(例如《纽约时报》)首先会尝试直接将广告位卖给广告主,以获得高 CPM。如果失败,则会按顺序将机会传递给谷歌 AdSense、Facebook Audience Network 等广告网络,直到广告位被填满。

出版商直接销售
场景:《纽约时报》直接与三星协商,在其主页上放置一个月的横幅广告,以获得高 CPM。

高级广告网络
场景:广告主使用谷歌营销平台在顶级网站(如 ESPN)上投放广告,确保其广告出现在信誉良好、流量高的网站上。

垂直广告网络
场景:旅行社使用旅行广告网络在与旅行相关的网站上投放广告,吸引对旅行感兴趣的受众。

剩余广告网络
场景:较小的广告主使用谷歌广告在谷歌网络中的剩余广告库存上竞价,使其广告以较低的成本出现在各种网站上。

出版商:出版商是创建和拥有可以展示广告的内容的实体(个人、组织或公司)。他们提供展示广告的平台。

广告网络:广告网络是一家将广告主与出版商连接起来的公司。它聚合多个出版商的广告库存并将其卖给广告主,促进广告的买卖。

展示:展示是广告在网页、应用程序或任何其他数字媒介上显示的一次实例。它是用来衡量广告被看到多少次的指标。

2. 指标设计和需求

指标

在训练阶段,我们可以专注于机器学习指标,而不是收入指标或点击率(CTR)指标。以下是两个指标:

离线指标
  • 归一化交叉熵(NCE):NCE 是预测的对数损失除以背景 CTR 的交叉熵。这种方式使 NCE 对背景 CTR 不敏感。以下是 NCE 的公式:

N C E = − 1 N ∑ i = 1 n ( 1 + y i 2 log ⁡ ( p i ) + 1 − y i 2 log ⁡ ( 1 − p i ) ) − ( p log ⁡ ( p ) + ( 1 − p ) log ⁡ ( 1 − p ) ) NCE = \frac{-\frac{1}{N} \sum\limits_{i=1}^{n} \left( \frac{1 + y_i}{2} \log(p_i) + \frac{1 - y_i}{2} \log(1 - p_i) \right)}{- \left( p \log(p) + (1 - p) \log(1 - p) \right)} NCE=(plog(p)+(1p)log(1p))N1i=1n(21+yilog(pi)+21yilog(1pi))

N:样本总数。

y i y_i yi:第 i i i 个样本的实际标签。如果项目被点击, y i y_i yi 为 1,如果未被点击, y i y_i yi 为 0。

p i p_i pi:第 i i i 个项目被点击的预测概率。

p p p:背景 CTR(项目被点击的平均概率)。

背景 CTR 指的是在数据集或特定数据子集中的平均点击率。它反映了在不考虑单个项目特征的情况下,所有项目被点击的固有可能性。例如,如果平台的整体 CTR 是 0.02,这意味着平均而言,所有显示的项目中有 2% 被点击。

在线指标
  • 收入提升:一段时间内收入的百分比变化。在部署后,将新模型部署在小部分流量上。关键决策是在流量百分比和 A/B 测试阶段的持续时间之间找到平衡。

A/B 测试涉及将流量分成两组:

  • 控制组:使用现有模型。
  • 测试组:使用新模型。

收入提升:当新模型部署时,与现有模型或基线性能相比,收入在一段时间内的百分比变化。

公式:

收入提升

Revenue Lift = Revenue test − Revenue control Revenue control × 100 \text{Revenue Lift} = \frac{\text{Revenue test} - \text{Revenue control}}{\text{Revenue}_{\text{control}}} \times 100 Revenue Lift=RevenuecontrolRevenue testRevenue control×100 %

其中:

  • Revenue test \text{Revenue}_{\text{test}} Revenuetest 是测试组产生的收入。
  • Revenue control \text{Revenue}_{\text{control}} Revenuecontrol 是控制组产生的收入。

平衡流量百分比:

  • 小比例:最小化风险,但可能需要更长时间才能收集到统计显著的数据。
  • 大比例:提供更快的结果,但如果新模型表现不佳,则增加风险。

A/B 测试的持续时间:

  • 短时间:更快做出决策,但可能无法捕捉长期用户行为变化。
  • 长时间:数据更全面,但如果新模型表现良好,会延迟其实施。

流量百分比与 A/B 测试阶段持续时间之间的平衡

风险容忍度:
  • 更不愿冒风险:您可能更喜欢较小的流量比例和较长的持续时间。
  • 示例:将 10% 的流量分配给测试组,并运行测试 4 周。
  • 更愿意冒风险:您可能会选择较大比例的流量和较短的持续时间。
  • 示例:将 50% 的流量分配给测试组,并运行测试 1 周。
对速度的需求:
  • 需要快速决策:您可能会接受较高的风险,使用较大比例的流量,测试较短时间。
  • 示例:将 40% 的流量分配给测试组,并运行测试 2 周。
  • 时间不是问题:您可以负担得起更长时间的测试,使用较小比例的流量。
  • 示例:将 20% 的流量分配给测试组,并运行测试 6 周。

需求

训练
  • 不平衡数据:在实践中,点击率(CTR)非常小(1%-2%),这使得有监督训练变得困难。我们需要一种能够处理高度不平衡数据的方法来训练模型。
  • 重新训练频率:在一天内多次重新训练模型的能力,以捕捉生产环境中的数据分布变化。
  • 训练/验证数据分割:为了模拟生产系统,训练数据和验证数据按时间分区。

按时间分区

“训练/验证数据分割:为了模拟生产系统,训练数据和验证数据按时间分区”这句话的意思是,当将数据分割成训练集和验证集时,是根据时间来分割的,而不是随机分割。

训练数据:这个集合包括较早时间段的数据。

验证数据:这个集合包括跟随训练数据时间段之后的较晚时间段的数据。

这种方法确保模型在过去的数据上训练,并在未来的数据上测试,这更能代表生产环境中的情况,因为模型将遇到新的、未见过的数据。

推理
  • 服务:广告预测的低延迟(50ms - 100ms)。
  • 延迟:广告请求经过瀑布模型,因此,ML 模型的推荐延迟需要快速。
  • 过度支出:如果广告投放模型反复投放相同的广告,可能会导致广告预算的过度支出,出版商会损失金钱。

总结

类型期望目标
指标合理的归一化交叉熵和点击率
训练处理不平衡数据的能力
高吞吐量,并且能够在一天内多次重新训练
推理50 到 100ms 的延迟
在投放广告时,能够控制或避免广告预算的过度支出

3. 模型

特征工程

特征特征工程方法描述
AdvertiserID(广告主ID)使用嵌入或特征哈希广告主数量可能达到数百万
用户的历史行为,如一段时间内的广告点击次数特征缩放,即归一化
时间特征:一天中的时间,星期几等独热编码
交叉特征组合多个特征
广告主ID
  • 特征工程:使用嵌入或特征哈希
    • 嵌入:这种技术通常用于深度学习中,将分类数据(如广告主ID)转换为连续向量空间。它有助于捕捉不同广告主之间的关系。
    • 特征哈希:这种方法将广告主ID哈希到固定数量的桶(特征)中,减少维度并有效处理大量类别。
  • 描述:使用这些技术的原因是广告主数量可能达到数百万。嵌入或特征哈希有助于在计算上高效地管理大量类别。
用户的历史行为(例如,一段时间内的广告点击次数)
  • 特征工程:特征缩放,即归一化
    • 归一化:这种技术将特征缩放到标准范围,通常是 [0, 1] 或 [-1, 1]。它有助于提高学习算法的收敛性。
  • 描述:用户行为数据(如点击次数)可能具有很大的值域。归一化这些数据可以确保模型同等对待所有特征,提升训练效率和模型性能。
时间特征(例如,一天中的时间,星期几)
  • 特征工程:独热编码
    • 独热编码:这种技术将分类数据转换为二进制矩阵。例如,如果一周有 7 天,每一天将表示为大小为 7 的二进制向量,其中仅对应当天的索引为 1,其余均为 0。
  • 描述:时间特征如一天中的时间和星期几是分类特征。独热编码有助于模型理解这些分类值,而不假设它们之间存在任何顺序关系。
交叉特征
  • 特征工程:组合多个特征
    • 交叉特征:这涉及通过组合两个或多个现有特征创建新特征。例如,组合“一天中的时间”和“星期几”可以创建一个更精细的特征,捕捉特定时间在特定日子的模式。
  • 描述:组合多个特征可以帮助模型捕捉特征之间更复杂的关系和交互,从而提高预测效果。

训练数据

在构建任何机器学习模型之前,我们需要收集训练数据。目标是收集不同类型帖子的数据,同时提高用户体验。正如您从上一课关于瀑布模型中回忆到的,我们可以收集大量关于广告点击的数据。我们可以使用这些数据来训练广告点击模型。

我们可以通过选择一个数据周期开始使用数据进行训练:上个月,过去六个月等。实际上,我们需要在训练时间和模型准确性之间找到平衡。我们还可以对负面数据进行下采样以处理数据不平衡问题。

模型

选择
  • 我们可以在分布式环境中使用深度学习。我们可以从使用 Sigmoid 激活函数应用于最后一层的全连接层开始。由于点击率通常非常小(小于 1%),我们需要重新采样训练数据集以使数据不那么不平衡。重要的是保持验证集和测试集不变,以便准确估计模型性能。

保持验证集和测试集不变意味着在更改训练数据(如重新采样以解决类别不平衡问题)时,不应修改这些数据集。

评估
  • 一种方法是将数据分为训练数据和验证数据。另一种方法是使用重放评估以避免离线评估偏差。假设我们有直到时间 t t t 的训练数据。我们使用时间 t + 1 t+1 t+1 的测试数据,并在推理过程中根据我们的模型重新排序它们的排名。如果有准确的点击预测,我们记录一个匹配。总匹配数将被视为总点击数。

  • 在评估期间,我们还将评估我们的训练数据集应该有多大,以及我们需要多频繁地重新训练模型,以及其他许多超参数。

重放评估是一种通过使用历史数据模拟模型在现实场景中表现的方法。使用过去的数据来评估模型,将历史交互视为实时发生的情况。通过使用历史数据模拟实时预测,重放评估提供了模型在生产中表现的更准确度量。

4. 计算与估算

假设

  • 每秒40K广告请求或每月1000亿广告请求。
  • 每个观测(记录)有数百个特征,需要500字节来存储。

数据大小

  • 数据:历史广告点击数据包括[用户,广告,点击或不点击]。估计1%的CTR,有10亿次点击广告。我们可以从1个月的数据开始进行训练和验证。在一个月内,我们有: 100 × 1 0 12 × 500 = 5 × 1 0 16 100 \times 10^{12} \times 500 = 5 \times 10^{16} 100×1012×500=5×1016 字节或50 PB。使其更易管理的一种方法是对数据进行下采样,即只保留1%-10%的数据,或使用1周的数据进行训练数据,并使用下一天的数据进行验证数据。

规模

  • 支持1亿用户。

5. 高级设计

广告点击预测高级设计

  • 数据湖:存储从多个来源收集的数据,即日志数据或事件驱动的数据(Kafka)。
  • 批量数据准备:ETL(提取、转换、加载)作业集合,将数据存储在训练数据存储中。
  • 批量训练作业:组织计划的作业以及按需作业,根据训练数据存储重新训练新模型。
  • 模型存储:像S3这样的分布式存储,用于存储模型。
  • 广告候选:由上游服务提供的一组广告候选(参见瀑布模型)。
  • 流数据准备管道:处理在线特征,并将特征存储在键值存储中,以便下游处理时低延迟。
  • 模型服务:独立服务,加载不同的模型并提供广告点击概率。
1. 数据湖

事件驱动的数据指的是由系统内发生的事件或动作生成的数据。这些事件可以是系统中发生的任何事情,例如用户交互、系统变化或更新。
Apache Kafka是一个开源的分布式事件流平台,用于处理实时数据流。它被设计用于处理高吞吐量和低延迟的数据流。
目的:存储从多个来源收集的原始数据。
示例:来自Web服务器的日志,通过Kafka流捕获的用户交互事件,以及历史广告点击数据。
场景:当用户访问网站时,他们的交互(如点击、停留时间和导航模式)被记录。这些日志被发送到数据湖进行存储。

2. 批量数据准备

目的:提取、转换和加载(ETL)原始数据,使其适合训练使用。
示例:ETL作业处理原始日志,提取用户人口统计、浏览历史和广告交互等特征,然后将这些数据转换为结构化格式并加载到训练数据存储中。
场景:ETL作业可能提取点击时间戳,将其转换为“时间段”或“星期几”等特征,并将这些特征加载到关系数据库中以供进一步使用。

3. 批量训练作业

批量训练作业是指使用一批数据定期训练机器学习模型的过程。这些作业按照特定的时间间隔(如每天、每周、每月)安排运行,或者可以按需触发以使用新数据更新模型。这确保了模型通过学习最新的可用数据保持当前和准确。
目的:安排和运行重新训练机器学习模型的作业。
示例:定期重新训练广告点击预测模型的作业,使用处理过的训练数据。
场景:一个作业每天午夜运行,使用最新一周的数据重新训练模型,确保模型与最近的趋势保持同步。

4. 模型存储

目的:在分布式存储系统中存储训练好的机器学习模型。
示例:使用Amazon S3存储不同版本的训练模型。
场景:训练后,新模型版本被保存到S3中,并附有指示其训练参数和性能指标的元数据。

5. 广告候选

目的:提供一组广告,供模型选择最相关的广告。
示例:根据各种标准(如活动目标、用户人口统计和先前广告表现)收集潜在广告候选的服务。
场景:当用户访问网页时,上游服务提供可能与用户相关的10个广告。

6. 流数据准备管道

目的:处理实时数据,并准备特征用于在线模型推理。
示例:处理用户实时交互的管道,并使用最新用户数据更新特征存储(如Redis)。
场景:当用户浏览网站时,他们的交互(例如查看特定类别、点击某些广告)被实时处理,并存储在键值数据库中以便即时访问。

7. 模型服务

目的:提供机器学习模型并实时提供预测。
示例:加载训练模型并为给定广告候选提供广告点击概率评分的独立服务。
场景:当用户访问页面时,模型服务获取广告候选和用户特征,加载适当的模型,并返回每个广告的点击概率评分。

让我们检查系统的流程:

  1. 客户端向应用服务器发送广告请求

  2. 应用服务器向广告候选生成服务发送广告请求

  3. 广告候选生成服务从数据库生成广告候选

  4. 广告候选生成服务向广告排名服务发送广告排名请求

  5. 广告排名服务从特征存储获取特征值,获取最新模型
    在这里插入图片描述

  6. 广告排名服务对广告进行评分并将排名结果返回给广告候选生成服务。广告候选生成服务将结果返回给应用服务器和客户端。

系统流程

  1. 用户访问主页并向广告候选生成服务发送广告请求。广告候选生成服务生成广告候选列表并发送给聚合服务。
  2. 聚合服务将候选列表拆分并发送给广告排名工人进行评分。
  3. 广告排名服务从模型存储库获取最新模型,从特征存储中获取正确的特征,生成广告评分,然后将带有评分的广告列表返回给聚合服务。
  4. 聚合服务选择前 K K K 个广告(例如,k = 10,100等)并返回给上游服务。

6. 设计扩展

鉴于大量广告候选(50k-100k)的延迟要求为50ms-100ms,如果我们每个请求分配一个服务实例,可能无法达到服务水平协议(SLA)。为此,我们扩展了模型服务,并设置聚合服务来分散模型服务组件的负载。

一种常见的模式是使用聚合服务。它将候选列表分发到多个服务实例并收集结果。

服务水平协议(SLA)是一个正式的合同,规定了服务提供商和客户之间的期望、标准和责任。它包括性能指标、正常运行时间保证、支持响应时间、责任、不合规的惩罚以及监控和报告机制。

聚合服务是一个软件组件或服务,旨在从多个来源或服务中组合、管理和协调数据或任务,并输出单一的统一结果。它通常用于分布式系统中,以分散工作负载到多个服务或组件,然后聚合结果以提供连贯的响应。

7. 后续问题

问题答案
我们如何适应用户行为随时间变化?尽可能频繁地重新训练模型。例如,可以每隔几小时使用新数据(从用户点击数据中收集)重新训练模型。
我们如何处理广告排名模型未被充分探索的情况?我们可以在排名服务中引入随机化。例如,2%的请求将获得随机候选,98%的请求将获得广告排名服务提供的排序候选。

8. 总结

  • 我们首先学习了选择规范化熵作为广告点击预测模型的度量标准。
  • 我们学习了如何应用聚合服务以实现低延迟和克服不平衡的工作负载。
  • 为了扩展系统并减少延迟,我们可以使用Kubeflow,使广告生成服务能够直接与广告排名服务通信。

附录

用户的历史行为(例如,一段时间内广告点击次数)

特征工程:特征缩放(规范化)

规范化是一种将特征值缩放到标准范围(通常为[0, 1]或[-1, 1])的技术。这个过程通过确保所有特征对模型学习过程的贡献相等来提高学习算法的收敛性。

示例

我们考虑一个场景,其中我们有用户行为数据,表示一段时间内广告点击的次数。以下是一个示例数据集:

用户ID上周点击次数
用户12
用户250
用户3150
用户420
用户55

点击次数范围从2到150,显示出很大的差异。直接将这些数据输入机器学习模型可能会导致问题,因为模型可能会偏向于具有较大值的特征。

逐步规范化过程

  1. 计算最小值和最大值

    • 最小点击次数:2
    • 最大点击次数:150
  2. 应用规范化公式
    将值 x x x 缩放到范围[0, 1]的规范化公式为:

    x ′ = x − x min x max − x min x' = \frac{x - x_{\text{min}}}{x_{\text{max}} - x_{\text{min}}} x=xmaxxminxxmin

    其中 x ′ x' x 是规范化后的值, x x x 是原始值, x min x_{\text{min}} xmin 是数据中的最小值, x max x_{\text{max}} xmax 是数据中的最大值。

  3. 规范化每个值

    • 对于用户1: x ′ = 2 − 2 150 − 2 = 0 148 = 0.00 x' = \frac{2 - 2}{150 - 2} = \frac{0}{148} = 0.00 x=150222=1480=0.00
    • 对于用户2: x ′ = 50 − 2 150 − 2 = 48 148 ≈ 0.32 x' = \frac{50 - 2}{150 - 2} = \frac{48}{148} \approx 0.32 x=1502502=148480.32
    • 对于用户3: x ′ = 150 − 2 150 − 2 = 148 148 = 1.00 x' = \frac{150 - 2}{150 - 2} = \frac{148}{148} = 1.00 x=15021502=148148=1.00
    • 对于用户4: x ′ = 20 − 2 150 − 2 = 18 148 ≈ 0.12 x' = \frac{20 - 2}{150 - 2} = \frac{18}{148} \approx 0.12 x=1502202=148180.12
    • 对于用户5: x ′ = 5 − 2 150 − 2 = 3 148 ≈ 0.02 x' = \frac{5 - 2}{150 - 2} = \frac{3}{148} \approx 0.02 x=150252=14830.02

规范化数据

用户ID上周点击次数规范化点击次数
用户120.00
用户2500.32
用户31501.00
用户4200.12
用户550.02

描述

  • 目的:规范化用户行为数据(如点击广告的次数)确保所有特征处于相似的尺度,防止任何单一特征对模型产生不成比例的影响。
  • 提高训练效率:通过将特征缩放到标准范围,规范化有助于提高学习算法的收敛速度,从而加快和稳定训练。
  • 提升模型性能:在规范化数据上训练的模型通常表现更好,因为模型同等对待所有特征,从而能够更有效地从数据中学习。

总之,规范化用户行为数据,如广告点击次数,将特征缩放到标准范围,提高了训练效率和模型性能。

参考资料:

  • Machine learning System Design from educative

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/692681.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Rust : windows下protobuf尝试

此前dbpystream库是用python开发 web api。今天在rust中试用一下protobuf。 一、 protobuf编译器下载 具体见相关文章。没有编译器,protobuf无法运行。 windows参见: https://blog.csdn.net/wowotuo/article/details/139458846?spm1001.2014.3001.550…

数据结构--实验

话不多说,直接启动!👌🤣 目录 一、线性表😎 1、建立链表 2、插入元素 3、删除特定位置的元素 4、输出特定元素值的位置 5、输出特定位置的元素值 6、输出整个链表 实现 二、栈和队列😘 栈 顺序栈 …

【深度学习】Transformer分类器,CICIDS2017,入侵检测

文章目录 1 前言2 什么是入侵检测系统?3 为什么选择Transformer?4 数据预处理5 模型架构5.1. 输入嵌入层(Input Embedding Layer)5.2. 位置编码层(Positional Encoding Layer)5.3. Transformer编码器层&…

使用proteus仿真51单片机的流水灯实现

proteus介绍: proteus是一个十分便捷的用于电路仿真的软件,可以用于实现电路的设计、仿真、调试等。并且可以在对应的代码编辑区域,使用代码实现电路功能的仿真。 汇编语言介绍: 百度百科介绍如下: 汇编语言是培养…

Vue3中的常见组件通信之`$refs`、`$parent`

Vue3中的常见组件通信之$refs、$parent 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-mod…

用AI制作历史解说视频:GPT + MidJourney + PiKa + FunSound + 剪映

1. 项目介绍 最近某站看到一个看到利用AI创作视频解说,成品画面很酷炫。对此以初学者视角进行复现,创意来源:用AI制作历史解说视频 2. 开始创作 我们参照原作者展示的内容,对古代人物屈原来生成解说视频。 2.1 故事脚本分镜 【…

IT闲谈-IMD是什么,有什么优势

目录 一、引言二、IDM是什么?三、IDM的优势1. 高速下载2. 稳定性强3. 强大的任务管理4. 视频下载5. 浏览器整合 四、应用场景1. 商务办公2. 教育学习3. 娱乐休闲 总结 一、引言 在数字化时代,下载管理器已成为我们日常工作和生活中不可或缺的工具。而在…

【Java】JDBC+Servlet+JSP实现搜索数据和页面数据呈现

目录 1 .功能介绍 2. 实现流程 3. 项目环境 4. 相关代码 4.1 Maven配置 4.2 SQL语句 4.3 Java代码 4.4 HTML代码 4.5 JSP代码 5. 结果展示 (原创文章,转载请注明出处) 博主是计算机专业大学生,不定期更新原创优质文章&…

Java基础教程 - 14 Maven项目

更好的阅读体验:点这里 ( www.doubibiji.com ) 14 Maven项目 Java 为什么那么强大,很大一部分原因是在实际的开发中,可以将别人开发的模块引入到我们自己的项目中,这样别人开发好了,我拿来就…

Android Media Framework(三)OpenMAX API阅读与分析

这篇文章我们将聚焦Control API的功能与用法,为实现OMX Core、Component打下坚实的基础。 1、OMX_Core.h OMX Core在OpenMAX IL架构中的位置位于IL Client与实际的OMX组件之间,OMX Core提供了两组API给IL Client使用,一组API用于管理OMX组件…

Mysql使用中的性能优化——批量插入的规模对比

在《Mysql使用中的性能优化——单次插入和批量插入的性能差异》中,我们观察到单次批量插入的数量和耗时呈指数型关系。 这个说明,不是单次批量插入的数量越多越好。本文我们将通过实验测试出本测试案例中最佳的单次批量插入数量。 结论 本案例中约每次…

Vue3中的常见组件通信之$attrs

Vue3中的常见组件通信之$attrs 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $re…

【机器学习基础】Python编程07:五个实用练习题的解析与总结

Python是一种广泛使用的高级编程语言,它在机器学习领域中的重要性主要体现在以下几个方面: 简洁易学:Python语法简洁清晰,易于学习,使得初学者能够快速上手机器学习项目。 丰富的库支持:Python拥有大量的机…

树莓派4b安装宝塔面板

1、打开命令窗口,执行如下命令 #更新 sudo apt-get update sudo apt-get upgrade #切换root权限 sudo su root #安装宝塔面板 wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh安装过程有点久,会持…

如何远程连接Linux服务器?

远程连接Linux服务器是通过网络连接到位于远程位置的Linux服务器,以进行服务器管理和操作。远程连接使得系统管理员可以方便地远程访问服务器,进行配置、维护和故障排除等操作,而不必亲自在服务器前工作。以下是一些常用的远程连接方法&#…

智慧社区整体解决方案

1.智慧社区整体建设方案内容 2.整体功能介绍

NASA数据集——SARAL 近实时增值业务地球物理数据记录海面高度异常

SARAL Near-Real-Time Value-added Operational Geophysical Data Record Sea Surface Height Anomaly SARAL 近实时增值业务地球物理数据记录海面高度异常 简介 2020 年 3 月 18 日至今 ALTIKA_SARAL_L2_OST_XOGDR 这些数据是近实时(NRT)&#xff…

现代信号处理13_贝叶斯统计Bayesian Statistic(CSDN_20240609)

贝叶斯理论 在传统的统计中,我们对数据是由一定认识的,这种认识一般是指数据的统计模型(Statistical Model)f(x|θ) ,其中θ 通常指未知参数(Unknown Parameter),x 是已经获得的数据…

LabVIEW电机槽楔松动声测系统

LabVIEW电机槽楔松动声测系统 开发了一种利用LabVIEW软件和硬件平台,为大型电机设计的槽楔松动声测系统。该系统通过声波检测技术,实现了对电机槽楔是否松动的快速准确判断,极大地提高了检测效率和安全性。 项目背景 大型电机在运行过程中…

[图解]企业应用架构模式2024新译本讲解11-领域模型4

1 00:00:00,160 --> 00:00:01,870 好,到这里的话 2 00:00:02,620 --> 00:00:05,060 文字处理器的产品对象就生成了 3 00:00:06,880 --> 00:00:09,180 同样下面就是电子表格 4 00:00:10,490 --> 00:00:11,480 电子表格也同样的 5 00:00:11,490 -->…