《Mobility-Aware Computation Offloading in Edge Computing Using Machine Learning》 论文阅读笔记一

Mobile Edge Computing学习笔记(三)MEC用例与offloading研究综述 idea总是来的很突然,之前的研究方向混合了MEC,突然就来了offloading的灵感,记录一下相关的文章。Mobile Edge Computing: A Survey on Architecture and Computation Offloading。 文章目录前言MEC简介一、用例和服务场景1:面向消费者的服务2:面向第三者:????二、MEC计算卸载决策1:全部卸载(1)最小化执行延迟(2)... 阅读详情

《Mobility-Aware Computation Offloading in Edge Computing Using Machine Learning》 论文阅读笔记一

Common sense

   计算卸载(computing offloading) 是边缘计算中关键技术之一,其主要关注的三个问题为:卸载谁,什么时间卸载,卸载到哪里。关于计算卸载的理论研究较为广泛,绝大部分将问题建模成为整数规划/混合整数规划问题等,通过采用凸优化理论,启发式算法,博弈论,排队论,马尔可夫决策,深度强化学习等方法进行近似求解。
  虽然该方面的理论相对比较完备,但依然在建模和方法等层面依然存在完善的空间。大规模的边缘节点、异构平台、信道的时变性、用户空间的移动性等,需要不同的模型如动态模型、分布式模型、不确定模型等。同样地,对于求解方法来说,智能化将是下一步研究的重点,如何兼顾准确率与计算效率,是需要考虑的问题。
  在应用层面,AR/VR、UAV、工业物联网等场景中,合理进行计算卸载能够提供高质量/低延时的服务。

   计算迁移(computation migration) 发生在异构多服务器场景中,当用户移动过程中离一台新的边缘服务器更近时,网络控制器将把计算任务迁移到新的服务器上,或者在原有服务器上完成计算后将计算结果返回给新的服务器,以便用户及时得到结果。基于random-walk移动模型,问题被建模为MDP问题。在MEC的移动管理中,计算迁移是一种十分有效的方式。

Question

在进行计算卸载时,边缘侧用户常常由于其在时间/空间上的不确定性使得其应用特征(application specifications)发生改变,从而使得计算卸载的周转时间(trunaround time)延长,如何设计有效的算法减少周转时间成为本文要解决的问题。

Analysis

边缘计算的优势为:比之用户设备,具有更多的计算资源和更快速的计算能力,且由于其分布在用户的边缘侧,用户能够将计算敏感型任务分配到边缘服务器上,从而降低任务的处理时延。
而当用户设备动态变化时,用户与边缘服务器之间的距离将随之发生变化,相应地,卸载时延将会增加,从而削弱了边缘计算的优势。为了保证原有的低时延目标,需要考虑将动态不确定性转化为可预测确定性。

Contributions

  • 采用机器学习的矩阵补全(matrix completion)方法,利用已有的application specification预测app未来的specification,通过预测,能够提前规划好卸载or迁移的cloudlets,从而优化卸载决策。
  • 提出两种卸载方法S-OMAC和G-OMAC,最小化移动应用的turnaround time和迁移的cloudlets数量。
  • S-OAMC是基于采样的近似动态规划方法,能够实现负载均衡;G-OAMC采用贪心思想,能够快速获得结果。
  • 将以上两种方法与benchmark/SOTA对比,能够找到低迁移率的近似优化trunaround time。

Related work

在这里插入图片描述
与现有的工作相比,本文的工作充分考虑了表中提到的几点:

  • 多用户(device)多服务器(cloudlet)场景
  • 考虑用户设备的移动性
  • 以服务器的资源有限作为约束,目标为最小化时延
  • 首次提出turnaround time这一评价指标,综合考虑通信时延、计算时延和迁移时延
  • 使用真实的数据集(walk、drive等),更加贴合用户实际生活场景
  • 使用采样的方法
  • 采用预测的方法

System model

假设有n个applications,分别记为U = {u1,u2,…un},有m个cloudlets,分别记为C = {c1,c2,…,cm}计算卸载发生的时隙记为1,…T。
每个用户在t时刻的特征定义为:
在这里插入图片描述
其中,xi/yi为app的位置,md为迁移数据量,id为卸载数据量,w为计算所需指令数,p为所需处理速度,b为所需带宽。为简化建模,t>=2时计算迁移才会发生,在此之前id=md。
每个cloudlet cj 在t时刻的特征定义为:
在这里插入图片描述
其中,xj/yj为cloudlet的位置,pj为总的处理速度,beta为总的带宽。

优化目标:最小化turnaround time
turnaround time = offloading time + migration time + computation time
offloading time = propagation latency + transmission latency
migration time = propagation latency + transmission latency

定义以下时延:
在这里插入图片描述
前者为传播时延,d为距离,theta为传播速度;后者为传输时延,s为数据量,beta为带宽。
使用f来表示app与cloudlet之间、cloudlet与cloudlet之间的距离
在这里插入图片描述
定义两个变量,分别代表是否进行计算卸载和计算迁移。
在这里插入图片描述
那么问题可以建模为下图:
在这里插入图片描述

目标函数为turnaround time最小
约束为:
(3)t时刻app ui只能迁移到一个cloudlet上【二进制卸载】
(4)t时刻卸载到cj 上的所有app的处理速度需求不能超过cj的总处理需求
(5)t时刻卸载到cj 上的所有app的带宽需求不能超过cj的总带宽需求
(6)确保不等式右边的两个变量为1时左边的变量也为1
(7)t时刻app ui是否卸载到cj上
(8)t时刻app ui是否从cj迁移到ck

该问题是一个广义指派问题(generalized assignment problem, GAP)的实例,被证明为NP-hard问题。
关于GAP,求解方法可以分为以下几类:元启发式算法、松弛算法、精确算法等。元启发式算法有:遗产算法、变领域搜索、禁忌搜索等方法;松弛算法最常用的是基于拉格朗日松弛(LR)。也可采用蜜蜂算法求解。

Sampling-based offloading to cloudlets

S-OAMC算法的思路:通过最小化需要迁移的数量来最小化turnaround time。
算法如下:
在这里插入图片描述
输入参数解释:
w为窗口大小,表示未来需要预测的时隙数量,若w=5,在t=1时刻进行预测,那么将会得到时刻2到时刻6的app特征。
gama为折损因子,实验中取0.3,算法中表示未来不同时刻对当前决策的影响权重,离当前时刻越近,则权重越大,离当前时刻越远,则权重越小。

算法流程:

  1. 使用Ui来维护app i 从第一个时隙到当前时隙t的每个时隙的特征,使用Ri来维护app i从第一个时隙到当前时隙t的每个时隙所卸载的cloudlet。将它们都初始化为空集。
  2. 对每个时隙内的进行迭代:若t mod w为0,则说明该时刻需要进行预测(阶段性预测,并非每时每刻都得预测),调用predict函数,得到t+1——t+w时刻的app i 的特征值。
  3. 对于所有的cloudlet,计算app i 卸载到cj 上的代价vij。该代价包括卸载时延和计算时延。当t >= 2且cj并非上一个时刻的迁移对象,那么需要将迁移时延计算后加入到vij中。
  4. 循环调用assign函数直到所有时刻都被分配了cloudlet。assign函数返回t时刻的决策(即t时刻各app的分配情况),分配完毕,更新V,U,C:Ut删除已分配app的特征;C在分配后更新总处理速度和带宽资源;Vt则删除已分配aa对应的行【代码里没有消除这一操作】
  5. 分配完毕,更新R,记录每个时刻app i 的卸载或迁移情况。

算法测试:
可得到整个T时间内的总trunaround time
得到该算法的offloading time, computation time, migration time

Predict

S-OAMC中调用predict函数进行预测,该方法主要基于矩阵补全来获得下w个时隙内的app 特征值。
矩阵补全(matrix completion)是一种机器学习方法,通过矩阵分解能够补全部分缺失值。常用的分解方法有奇异值分解(Singular Value Decomposition, SVD)。利用SVD实现,能够用小得多的数据集来表示原始数据集,基于这个视角,我们可以把SVD看成是从有噪声的数据中抽取相关特征。
对原矩阵进行分解,使用SVD分解时,将其分解为三个矩阵,此时会构建出矩阵 Σ \Sigma Σ,该矩阵只有对角元素,其他元素均为0,且 Σ \Sigma Σ的对角元素是从大到小排列的,这些对角元素称为奇异值。在科学和工程中,一直存在这样一个普遍事实:在某个奇异值的数目(r 个)之后,其他的奇异值都为0,则意味着数据集中仅有r个重要特征,其余特征都是噪声或冗余特征。
假设对矩阵B进行分解,分解为U, Σ \Sigma Σ,V三个矩阵,
可以采用凸优化、梯度下降等方法估计出缺失值。文章采用TFOCS工具来估计矩阵X。
在这里插入图片描述
在进行矩阵分解时,每个矩阵都是一个特征值,row为app的编号,column为时隙编号。将补全后的矩阵直接写入文件。

Assign

S-OAMC调用assign求解GAP问题,通过采样能够加快动态规划寻找近似解的过程。
算法如下:
在这里插入图片描述
算法流程:

  1. 使用矩阵G与N存储V的中间变量。
  2. 对于所有的cloudnet cj来说,调用一次DP-APC函数,得到在cj 上的app分配情况,分配完成后,对代价V进行更新,利用g存储这次v卸载的代价。对于卸载到cj上的app而言,g=v;对于cj来说,调用DP-APC已经将其尽可能利用,不再接收其他的app分配,所以g=v;对于其他的而言,没有实行卸载,则g=0。
  3. 用原来的代价减去分配过程中的代价,将其赋值给N。再将N赋值给V,表示V在一轮分配后的代价更新。这里需要注意:新的V中vij有可能会小于0,因为DP-APC只考虑了如何尽可能多地将app分配到cj上,没有考虑卸载到cj上对于ui来说是否是最小的代价,若不是最小代价,那么在v-g时,得到的结果为负值。
  4. S为t时刻所有cloudlet的分配情况,由于算法在assign函数后才会更新R的值,所以无法确保每个app都被分配到了一个cloudlet上。所以需要对被分配到多个cloudlet上的app做调整。
  5. 最后返回的S,表示t时刻的cj分配情况。

DP-APC

DP-APC基于采样策略对cj做卸载分配。
算法如下:
在这里插入图片描述
算法流程:

  1. 按照代价值v升序的方式对所有的app进行排序,选择出前 η \eta η个v值不为无穷的app。(v值无穷的情况,对应在S-OAMC中计算v值时,v为负值的情形,个人认为不存在这种情况)。
  2. 在这些app中,用M记录其中v值最大的app的v,对于所有选出的app,重新计算赋值v’=M+1-v,保证了v’都是正值。此时app的排序成为了按照v’降序排列。用M’记录最大的v’。
  3. 计算 λ \lambda λ,,若 λ \lambda λ小于1,则令其等于1。【关于为何要计算 λ \lambda λ不太清楚,可能需要参考文献】
  4. 对于选中的app,计算r(r含义等同于代价值,只是对原来的v进行了调整)。用r’记录最大的r,即最大的代价值。
  5. 接下来也运用动态规划的方法进行求解。数组A[i]含义是代价为i的结构,A[i].p是代价为i时需要的处理速度,A[i].b是代价为i时需要的带宽。
  6. A的大小为采样数*最大代价,将A[i]初始化为无穷,表示此时还没有进行分配。令A[0].p=A[0].b=0,表示无代价时不需要处理速度和带宽这些资源。
  7. 外层循环为i=1到采样数,内层循环为(i-1)r*到0,对于A[k+r]来说,若A[k+r].p > A[k].p + pi,那么更新A[k+r].p = A[k].p + pi,表示代价为k+r时需要的处理速度是代价为k时的处理速度+代价为r的app所需的处理速度,此时表明了代价为k+r时,被分配到cj上的app是代价为k时被分配到cj上的app+ 当前r对应的app。
  8. 找到满足A[k].p <= cj.p && A[k].b <= cj.b的最大k,得到代价为k时的分配结果,返回该分配结果。
    动态规划的过程举例:
    假设采样数为3,采样的app编号、对应的r、对应的b、对应的p如下表所示:
索引123
app编号160196143
r值11108
对应的b364
对应的p951
当i = 1时, k = (i - 1) r* = 0 , r ij = 11,

A[k + rij] = A[0 + 11] = A[11]
A[11].b = A[0].b + bi = 3,A[11].p = A[0].p + pi = 9
当i = 2时,k = (i - 1)r* = 11, rij = 10,

k11109876543210
k+ rij212019181716151413121110
A[k].b3 infinf infinf infinf infinf infinf0
A[k+rij].b9 infinf infinf infinf infinf infinf6
A[k].p9 infinf infinf infinf infinf infinf0
A[k+rij].p14 infinf infinf infinf infinf infinf5

A[21]:代价为21时,分配策略为app160和app196。
A[11]:代价为11时,分配策略为app160。
A[10]:代价为10时,分配策略为为app196。

当i = 3时,k = (i - 1) r* = 22, rij = 8,
A[22 + 8] = inf,with A[22] = inf
A[21 + 8].b = A[21].b + b3 = 9 + 4 = 13,A[21 + 8].p = A[21].p + p3 = 14 + 1 = 15,代价为29时,分配策略为app160、app196和app143。
A[11 + 8].b = A[11].b + b3 = 3 + 4 = 7,A[11 + 8].p = A[11].p + p3 = 9 + 1 = 10,代价为19时,分配策略为app160、app143。
A[10 + 8].b = A[10].b + b3 = 6 + 4 = 10,A[10 + 8].p = A[10].p + p3 = 5 + 1 = 6,代价为18时,分配策略为app196、app143。

Greedy offloading to cloudlets

G-OAMC基于贪心的策略,通过将app分配到已经使用过的cloudlet上,来尽可能减少使用的cloudlets。能够快速求解,但无法保证近似最优解。
算法如下:
在这里插入图片描述
算法流程:

  1. 当t mod w = 0时,预测ui在下w个时隙的特征值,用bmax记录下w个时隙内预测到的最大带宽,用pmax记录下w个时隙内预测到的最大处理速度,用以确保分配了足够多的资源供卸载使用。
  2. 以下式作为优先级排序标准式子的值越小,优先级越高,即代价v越小、bmax和pmax越大,优先级越高。
    在这里插入图片描述
  3. 对每一个cj,将app们按照上述公式进行升序排序,遍历所有app,若当前app的bmax和pmax在cj.b和cj.p的范围内,则马上分配,更新cj,继续下一个app,直至当前的cj被全部占用。
  4. t mod w != 0时,表明该段时间里未发生卸载或迁移,更新R。

比较S-OAMC和G-OAMC

  1. 都是一个一个cloudlet进行分配,不同在于S-OAMC进行了采样,使得每个cloudlet上面的app负载是均衡的;而G-OAMC则贪心尽可能少用cloudlet使得负载不均衡。
  2. 都采用了预测得到未来特征值,不同在于S-OAMC将代价值作为一个关键的影响因素去动态规划,考虑了迁移情况,目标为尽可能减少迁移的数量;G-OAMC则只使用预测值中的最大值进行贪心求解,无法得到全局最优,目标为尽可能减少使用的cloudlet数量。

(未完待续,参考文献下一篇列出)

损失函数与优化器:从「梯度是怎么被造出来的」到「梯度是怎么被用掉的」 本文揭示损失函数与优化器本质一体:优化器仅依赖损失产生的梯度,而损失决定梯度的方向、尺度与噪声特性。错误的损失选择(如分类用MSE)会导致梯度失衡,使优化器失效;不同损失(如Huber、Focal)通过调控梯度分布影响优化过程。实测表明,归约方式、标签结构与损失配对直接决定梯度行为,进而影响收敛性与泛化。核心观点:选对损失,才是让优化器“看得懂”的前提。 阅读详情

相关推荐

【信息科学与工程学】计算机科学与自动化-——第十五篇云计算 11 算法篇

在百万级虚拟机、百万级租户的超大规模云环境中,核心算法挑战包括:挑战维度具体问题算法需求技术复杂度规模性​百万级对象并发管理分布式算法、分区算法极高(NP-hard问题)多租户​租户间隔离与资源共享公平性算法、隔离算法高(多目标优化)动态性​资源需求实时变化自适应算法、在线算法高(实时决策)异构性​硬件/负载/需求差异分类算法、匹配算法中高(多维度优化)经济性​资源利用率与成本平衡优化算法、博弈论算法高(多目标博弈)以下是按领域分类的详细算法列表:算法名称数学建模表达核心思想时间复杂度适用场景推理步骤首次适

weixin_49199313的博客 1397

《Mobility-Aware Computation Offloading in Edge Computing Using Machine Learning》 论文阅读笔记二

笔记2

code120302的博客 248

UniApp实现多端支付功能完整实现指南

支付业务流程多端支付实现安全性保障异常处理最佳实践支付基础知识多端支付实现统一支付封装安全性处理异常处理最佳实践根据具体业务场景选择合适的支付方式注重安全性和用户体验做好异常处理和日志记录持续优化和改进支付流程关注我,持续分享前端项目开发经验!

weixin_63454527的博客 2128

写一个有关computation offloading的文献综述

当今移动设备越来越流行,用户对于移动设备的计算需求也越来越高,但是由于移动设备的硬件限制,如计算能力、存储能力和电池寿命等,移动设备往往难以满足用户的要求。因此,一种名为计算卸载(Computation Offloading)的技术应运而生。计算卸载是指将移动设备中的某些计算任务转移至云端服务器,使得移动设备可以通过云端服务器的计算资源来满足用户的需求。计算卸载技术在计算效率、能耗、数据安全等方面...

weixin_42599558的博客 363

数据字典实战:如何用Excel快速搭建你的第一个数据字典(附模板下载)

本文针对中小团队在软件开发中面临的术语不一致问题,提供了一套使用Excel快速搭建数据字典的实战指南。文章详细讲解了核心字段设计、填充示例、高阶技巧及团队协作维护流程,旨在通过这一轻量级工具统一团队共识、提升开发效率,并附有实用模板下载。

weixin_29303701的博客 380

别再只看pLDDT了!AlphaFold预测结果解读保姆级指南:pLDDT、PAE、pTM、ipTM到底怎么看?

本文详细解析了AlphaFold预测结果中的关键指标pLDDT、PAE、pTM和ipTM,帮助用户从单一依赖pLDDT进阶到全面理解蛋白质结构预测。通过实际案例和技巧,指导如何正确解读这些指标,避免常见错误,并提供了从预测到发表的实用建议。

weixin_29100399的博客 355

边缘计算(edge computing)中computation offloading、resource allocation、resource provisioning的区别

本部分内容参考自:https://arxiv.org/abs/2108.08059 这三者在边缘计算中都属于资源调度(Resource Scheduling)的范畴,具体来说: Computation Offloading:资源迁移(或者叫资源卸载),决定一个任务是分配到到边缘还是云端来处理 Resource Allocation:资源分配,决定如何为为一个任务分配通信、存储、计算等资源 Resource Provisioning:资源供给,从用户的角度出发,是决定"用户‑资源"对关联;从服务提供商(SP

xiongxyowo的博客 3588

Innovus中_clock_gen skew group的隐藏陷阱:如何避免自动分组导致的时序问题

本文深入剖析了在Innovus工具进行时钟树综合(CTS)时,`_clock_gen` skew group自动分组机制可能引发的隐蔽时序问题。文章通过实际案例,解释了该机制如何错误地将分频寄存器与配置寄存器归为一组,从而破坏时钟域边界并导致post-CTS时序违例,并提供了关闭自动提取、手动精确定义skew group等有效解决方案。

gpu4optimizer的博客 266

文献阅读笔记 # Space/Aerial-Assisted Computing Offloading for IoT Applications: A Learning-Based Approach

这次分享的是一篇 2019 年发表在《IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS》的文章 SCI 1区,通信 Top 期刊,IF=9.144 Space/Aerial-Assisted Computing Offloading for IoT Applications: A Learning-Based Approach 物联网应用的空间计算卸载:基于学习的方法 Abstract 物联网的计算卸载是一个挑战性问题(尤其是在边缘或云基础设施不可用的偏远地区

skysys的研究小屋 8603

【Bug已解决】claude: command not found 解决方案

方案适用场景推荐指数添加 PATH全局 bin 目录确实存在但未加入 PATH⭐⭐⭐⭐⭐nvm 重新安装多 Node 版本切换导致失效⭐⭐⭐⭐⭐Windows 环境变量检查Windows 平台专用⭐⭐⭐⭐原生安装脚本想彻底避开 npm PATH 问题⭐⭐⭐⭐清理多重 Node 安装系统里有多套 Node 管理方式冲突⭐⭐⭐报错的核心是npm 全局安装的可执行文件路径没有正确出现在系统的 PATH 环境变量里,而不是安装本身失败了。

一键难忘的博客 1万+

扣子(Coze)搭建智能体完整实战指南 —— 从零基础入门到写小说及其他需求扩展开发

随着大语言模型进入应用爆发期,我们正在经历从“寻找提示词”向“构建智能体”的范式转移。扣子(Coze)作为字节跳动推出的一站式AI智能体开发与运营平台,极大地降低了AI应用开发的门槛,让非技术人员也能快速搭建具备感知、决策、行动能力的智能体。 本文将手把手带你从零开始,在扣子平台上搭建一个功能完备的**小说创作智能体**,并基于此展示如何将同一套架构扩展到其他需求场景。无论你是写作爱好者、内容创作者,还是希望用AI赋能日常工作的职场人士,这套完整的技术方案都将帮助你快速上手。

huanghm88的专栏 638

论文笔记:Computation Off-Loading in Resource-Constrained Edge Computing Systems Based on DRL

${|V_i{|V_i{|V_i{|V_j{|V_it|}w_{i,j}t=D_i(16):最小化所有任务中的最大总体任务处理延迟(16a):确保其每个子任务i可以在本地设备上执行、卸载到边缘服务器、或分配给相应计算组中的设备以供执行。(16b):确保在边缘服务器处执行的任务所需的计算资源的总和不超过边缘服务器的总计算资源。(16c):确保设备本地计算的和被卸载计算的总和不超过本设备的资源总和(16d):确保对子任务数据大小的约束,其中子任务数据大小之和等于任务的数据大小。

qq_34182649的博客 1486

Python爬虫经典案例第67篇:社交媒体平台爬取:Twitter数据采集实战

Twitter(现更名为X)是全球最具影响力的社交媒体平台之一,拥有超过3.3亿月度活跃用户。作为一个实时信息传播平台,Twitter上的数据涵盖了新闻、政治、娱乐、科技等各个领域,具有极高的研究价值:本文将深入探讨Twitter数据采集的技术方案,包括官方API调用、网页爬取和浏览器自动化三种方式。Twitter采用现代化的微服务架构,主要特点包括:Twitter作为全球最大的社交媒体平台,拥有完善的反爬机制:在开始爬取前,需要明确合法的数据采集方式:重要提示:未经授权爬取Twitter数据可能违反服务条

2201_76125261的博客 659

《强化学习周刊》第39期:近似最优深度、多智能体广义、角色动画强化学习...

No.39智源社区强化学习组强化学习研究观点资源活动周刊订阅告诉大家一个好消息,《强化学习周刊》已经开启“订阅功能”,以后我们会向您自动推送最新版的《强化学习周刊》。订阅方法:方式1:扫...

BAAIBeijing的博客 675

PCB板设置20H 原则理解

20H原则是PCB设计中抑制EMI辐射的关键方法,要求电源层比相邻地层内缩20倍介质厚度(20H)。在四层板中实现20H原则需采用S-G-P-S层叠结构,确保GND与PWR紧邻。具体步骤包括:确定GND-PWR间介质厚度H,计算20H值(通常80-120mil),并在设计软件中将电源层四周内缩20H,同时保持地层完整不内缩。注意避免常见误区,如混淆介质厚度、地层内缩等。该原则能有效限制边缘场辐射,降低EMI干扰,是四层板EMC设计的重要规范。

qq_37999850的博客 693

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【机器学习300问】139、Post-LN 和 Pre-LN 的区别?

Post-LN与Pre-LN的核心区别在于LayerNorm的位置:Post-LN在残差连接后,导致梯度需经LayerNorm变换,深层易出现梯度衰减或震荡;Pre-LN先做归一化,使输入稳定,残差路径梯度可无损回传,显著提升深层训练稳定性。尽管Pre-LN支持更深层次模型(如LLaMA、Qwen),但存在“深度诅咒”——深层贡献不足。相比之下,Post-LN浅层表现尚可,深层数易发散。因此,现代大模型普遍采用Pre-LN以保障训练可靠性。

qq_39780701的博客 397

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

机器学习基础|监督学习、标签、回归

网约车预估等待时长依赖监督学习中的回归任务。平台利用历史订单数据,以司机实际到达耗时为标签,通过上车点、时间、运力、路况等特征训练模型。模型不断优化预测值与真实耗时的误差,最终对新订单输出连续的预估等待时间,实现精准预测。

weixin_43971465的博客 242

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Hugging Face:成为机器学习界的“Github”

以下文章来源于OneFlow,作者OneFlow社区五年前,AI领域的知名研究者Andrej Karpathy发文称,传统人工编程属于“软件1.0”,“软件2

2601_96798011的博客 126

这7个小众Python库,才是机器学习工程化的降效神器

别再只盯着TensorFlow了:这7个小众Python库,才是机器学习工程化的降效神器在很多人的印象里,机器学习似乎就是高深莫测的数学公式、成千上万的GPU集群

2601_96797912的博客 160

机器学习——混淆矩阵(待更新)

二元: true表示真实==预测,positive表示预测值=1.

m0_61175448的博客 134

【机器学习300问】138、LayerNorm和BatchNorm的区别?

本文阐述了归一化与标准化在深度学习中的核心作用。输入层标准化可统一初始输入,但深层网络仍面临激活分布漂移。为此,提出BatchNorm与LayerNorm两种主流方法。

qq_39780701的博客 183

为什么生成对抗网络训练常不稳定,模式崩溃与判别器过强之间是什么关系?

当支持集不重叠时(即 $D$ 能完美区分真假),JS 散度为常数 $\log 2$,其梯度为 0。这意味着一旦 $D$ 训练得稍好,$G$ 就失去了学习方向,导致训练停滞。生成对抗网络(GAN)的训练本质上是生成器($G$)与判别器($D$)之间的非合作零和博弈。以下代码展示了如何通过梯度惩罚(Gradient Penalty)来约束判别器,避免其过强导致生成器梯度失效。判别器过强是导致模式崩溃的直接诱因之一,二者之间存在明确的**“梯度误导”**因果关系。

2402_84593233的博客 204

Spark06_MLlib机器学习

本文是《PySpark 从入门到实战》系列收官篇,带你用 Spark MLlib 走通机器学习全流程:从三要素与 7 步标准流程讲起,剖析 KNN、朴素贝叶斯、决策树三大算法原理,再以 KNN 手写、垃圾短信分类、决策树分类、逻辑回归鸢尾花(准确率 96.67%)、K-Means 聚类(轮廓系数 0.7345)五个案例落地,最后详解 TF-IDF 文本特征与余弦相似度。全文代码可直接运行,适合有 RDD 与 Spark SQL 基础的开发者快速上手。

2301_80420058的博客 451

AI 是怎样从数据中学习的?训练、验证、测试与推理

泛化能力(Generalization)指模型面对训练过程中没有见过的新数据时,仍然能够做出合理预测的能力。这是判断模型是否具有实际应用价值的重要标准。例如:一个用户流失预测模型,在历史数据上表现很好,但面对新上线的用户群体时,预测准确率明显下降。这可能说明模型学到的规律无法适应新的用户群体。泛化能力不仅取决于模型本身,也与训练数据是否具有代表性有关。训练数据只包含老用户,没有新用户。训练数据主要来自某个地区,实际业务却覆盖不同地区。过去的用户行为与当前用户行为已经发生变化。

dshizixu的博客 312

机器学习01,KNN使用与简单数学原理

个人笔记

qq_59247073的博客 265

机器学习教程,从入门到精通,高斯混合模型(GMM)——写给机器学习小白的保姆级教程(10)

高斯混合模型(Gaussian Mixture Model,简称 GMM):假设你手里的数据是由"好几堆正态分布的数据混在一起"形成的,GMM 的任务就是——把这几堆分开,并且描述清楚每一堆的样子。

qq_45746668的博客 120
上一篇: Leetcode685 冗余连接II 题解思路及实现
下一篇: 《Mobility-Aware Computation Offloading in Edge Computing Using Machine Learning》 论文阅读笔记二
code120302
博客等级 码龄7年 195粉丝 38原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值