在平常练习算法题的过程中,有的题目常常涉及到使用一些基本的小算法作为整个解决方案中的一部分,例如gcd、进制转换,乃至KMP等等,我用这篇blog对这些小算法。我在这篇blog中对它们做一个综合的整理。 gcd1234int gcd(int x,int y){ if(x%y == 0)return y; else return gcd(y,x%y);} 辗转相除法求最大公约数 进制转换lcm1234int lcm(int x,int y){ return x*y/gcd(x,y);} 利用最大公约数求最小公倍数 F...
在过去的算法竞赛中,我常常接触到一些库中的工具,例如函数、容器、类等等,但是总是零零散散的,记忆也不是很牢,每次都是用到了现查。于是我用这篇blog做一个简单的整理 头文件algorithmmax()函数在 C++ 中,max 函数是一个非常实用的函数,用于比较两个或更多数值并返回其中的最大值。这个函数定义在 algorithm 头文件中。 1234567891011#include <iostream>#include <algorithm> // 引入algorithm头文件以使用max函数int main() {i...
之前零零散散地接触过一些动态规划的问题,用这篇blog来稍微系统性的记录一下 动态规划的基本步骤 定义数组的基本含义(模板或是灵感) 找到数组元素间的关系(dp的递推式,模板或是灵感) 找到边界的初始值(基本含义定义好了这个通常不难) 递推填表得到需要的元素(结合初始值以及递推式,考虑应该如何进行递推填表,确保新填一个元素需要用到其它元素的时候,其它元素的值已经被填过了) 背包问题01背包(二维解法)问题描述:有n种物品,每种物品只有一个。每个物品有自己的重量和价值。有一个给定容量的背包,问这个背包最多能装的最大价值是多少。 step1定义数组元素的含义...
我正在学习一个用来跑PFL算法的代码框架,读代码的同时用这篇blog记录一些有关联邦学习的基础知识;以及一些python、pytorch的知识 数据集划分的平衡与不平衡含义在联邦学习中,平衡和不平衡主要指数据量上的分布情况: 平衡数据(Balanced Data):每个客户端拥有的数据量大致相同。例如,如果有10个客户端和1000个数据样本,那么每个客户端分配到的数据约为100条。 不平衡数据(Unbalanced Data):不同客户端拥有的数据量差别很大。例如,10个客户端中,某些客户端可能分配到300条数据,而另一些可能只有10条。这种情况在实际场...
一些有意思的东西
这篇blog用来记录我读的第二篇有关联邦学习的文献,其中也使用了nash bargaining game 基本概念Representation Collapse Entanglement表示崩塌纠缠:这是指在联邦无监督学习(FUSL)过程中,由于某个本地模型的表示崩塌(即该模型的特征表示不再具有区分度),会影响到全局模型和其他本地模型的表示能力。这种崩塌会导致整个系统的表示能力下降,使得模型在处理非独立同分布(non-IID)数据时效果不佳。 Flexible Uniform RegularizerFUR:灵活均匀正则化器,这是FedU2方法中的一个组件...
这篇blog用于记录我阅读论文《 Improve global generalization for personalized federated learning within a Stackelberg game》过程中学习到的一些基础知识。 基本概念PFL个性化联邦学习:在联邦学习(FL)的基础上, PFL的目标是为每个客户端训练一个个性化模型,适应每个客户端的特定数据分布和需求。PFL适用于各客户端数据分布差异较大,且每个客户端需要一个定制化模型的场景。不同于FL训练一个全局共享的模型,希望是该模型在所有客户端上表现良好。 PFL分类“Towar...
这篇blog用于记录我学习一篇有关运用Nash博弈解决联邦学习有关问题的论文时,学习到的相关知识 基础概念Federated Learning基本架构联邦学习的基本架构是Server和Clients Server通常没有数据,可以有一些用于评估模型的数据,但是在普通联邦学习中Server没有任何数据 Clients持有实际的训练数据,Clients的数量取决于有多少分布式的数据要参与训练。Clients会在各自的本地数据集上进行实际训练。 服务器和客户端都拥有自己的模型副本,前者的称为全局模型,后者的称为局部模型。 训练过程 服务器初始化全局模型参数 将...
这篇blog用于记录我进行强化学习入门时学习到的基础知识 基本概念一些基本要素: Agent:进行“学习”的主体,会通过学习到的经验与环境交互,并在与环境交互的过程中进一步学习。 Environment:Agent交互的对象,客观存在,例如智能驾驶捕捉到的一张图片 State:Agent观察当前自己所处环境,获取到的局部环境信息 Action:Agent根据State结合自己以往的经验做出的行动,行动会改变Environment(Action可能是离散值,也可能是连续值,处理方法是不同的) Reward:Agent执行Action改变Environmen...
这篇blog用于记录我阅读的一篇将传统的Game中的方法应用到学习中的论文 论文理解思路: 经典的Meta-learning的框架 Meta-learning在learning with fairness中的运用(框架、典型的方法) 经典方法中存在的问题 & 使用 NBS的改进 Meta-learning的框架在解决机器学习的过程中对于不同group的公平性问题的时候,会使用sensitive-attributed validation set来训练调整模型的参数,这个过程与常规的训练过程相结合通常被套入一个meta-learning frame...