自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 【联邦学习新手必看】手把手教你读懂FedAvg代码,并顺利运行

联邦学习小白,怎样快速跑通经典的FedAvg算法呢?小葵花妈妈开课了

2023-06-14 16:11:27 2517 8

原创 什么是正则化?详细讲解机器学习正则化

在机器学习中,正则化是一种常用的技术,用于控制模型的复杂度,减少过拟合的风险。它通过在损失函数中引入额外的项来对模型的参数进行约束或惩罚,使模型更加简单、平滑或稀疏。让我们通过一个生活中的例子来说明正则化。假设你是一位学生,你正在准备一门考试。你有一本厚厚的教科书和一些练习题。你的目标是在考试中取得好成绩。在学习过程中,你可能面临两个问题:过度学习和不够专注。过度学习指的是你花太多的时间在细节上,记忆大量无关紧要的知识点,导致学习过于复杂,难以理解核心概念。

2023-06-12 19:13:25 1836

原创 「联邦学习论文07」联邦学习两种公平性综述

由于参与的客户端是自利的,彼此之间存在计算通信资源、数据等差异,如何最大程度激励客户端,合理分配奖励,促进联邦参与者的积极性,对联邦学习可持续发展非常重要。

2023-02-02 10:00:18 1551

原创 「联邦学习论文笔记05」Fair Resource Allocation in Federated Learning,这篇论文绝了,千万别错过!

个人觉得联邦学习公平性很重要,这关乎客户端是否愿意参与、联邦学习能否可持续发展壮大,每个客户端都是自利的,“蛋糕“分不好,就算其他步骤优化的再牛逼,人家不愿意参加,你没辙啊

2023-01-27 17:06:27 683

原创 「联邦学习论文05」Profit Allocation for Federated Learning

毕竟写论文,就是讲科研故事呗,不光自己写的爽,还得让别人读的爽。

2023-01-23 12:36:10 374

原创 「联邦学习论文04」Collaborative Fairness in Federated Learning

就是多劳多得、少劳少得的思想,按劳分配,哈哈哈哈哈。

2023-01-21 09:36:19 306

原创 「FL论文笔记03」Measure Contribution of Participants in Federated Learning

「FL论文笔记03」Measure Contribution of Participants in Federated Learning

2023-01-18 12:28:28 279 1

原创 「FL论文笔记02」Hierarchically Fair Federated Learning,Shapley计算贡献,研究生快速读论文方法

这篇论文指出某些学习场景基于Shapley值的激励机制是不公平的,于是提出了一种分层公平联邦学习框架HFFL,通过数据质量、数据量、数据收集成本等这些可公开验证的因素 衡量参与客户端的贡献。把参与者按照贡献分为不同等级,相同等级的参与者视为同等贡献,收敛至相同模型。

2023-01-11 21:37:49 420 1

原创 若依前后端分离代码生成 | 添加新的管理界面

若依的代码生成,添加新界面,帮助你快速完成增删查改~

2022-10-23 10:24:56 1432

原创 递归法扳断二叉树 和动态规划争老大 以及解决数学问题

1、leetcode 104.二叉树的最大深度2、leetcode 62.不同路径3、剑指 Offer 16. 数值的整数次方f(递归法){return f(递归法-1) +f(递归法-2);}一、二叉树的最大深度先要说一点:所有二叉树的套路都是一样的void traverse(TreeNode root) { // 前序遍历 traverse(root.left) // 中序遍历 traverse(root.right) // 后序遍历}二叉

2021-05-16 21:32:29 143

原创 数据结构之数组 & 数组下标为什么从0开始,我骄傲了吗?

初学者肯定有个疑问,为什么数组起始编号使用0开始的而不是1,这主要是历史原因首C语言设计者从数组存储的内存模型来看,“下标”更确切的定义应该是“偏移 offset”,a[0]就是偏移为0的位置,自从他们开始使用0下标后,后面的Java等语言也效仿C语言,但也有一些语言的数组不是从0开始计数的,比如MATLAB,而且Python小老弟还说:我还支持负下标呢,那我骄傲了吗?数组(Array)是一种线性表数据结构。它用一组连续的内存空间存储一组具有相同类型的数据。解释一下定义中的名词:线性表(Line

2021-03-23 10:03:44 391

原创 我问爸爸,爸爸问爷爷,到底什么是类加载器和双亲委派

类加载器什么是类加载器?: Java虚拟机设计团队有意把类加载阶段中的“通过一个类的全限定名来获取描述该类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需的类。实现这个动作的代码被称为“类加载器”(Class Loader)。类与类加载器类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用远超类加载阶段。对于任意一个类,都必须由加载它的类加载器和这个类本身一起共同确立其在Java虚拟机中的唯一性,每个类加载器都有用一个独立的类名称空间。这句话简单

2021-03-20 16:16:28 83

原创 面试官问我双重检查锁,回答之后他却让我做面试官

在Java程序中,有时候需要采用延迟初始化来降低初始化类和创建对象的开销。双重检查锁定是常见的延迟初始化技术,但它是一个错误的用法。比如,下面是非线程安全的延迟初始化对象的代码:public static Instance getInstance() { if (instance == null) { //1:线程A执行 instance = new Instance(); //2:线程B执行 } return instance;}这种情况下,线程A在执行代码

2021-03-19 17:11:55 90

原创 0-1背包之分割等和子集 && 空间优化二维数组

「0-1 背包问题」,它的特点是:「每个数只能用一次」。解决的基本思路是:物品一个一个选,容量也一点一点增加去考虑,这一点是「动态规划」的思想,特别重要。具体做法是:画一个 len 行,target + 1 列的表格。这里 len 是物品的个数,target 是背包的容量。len 行表示一个一个物品考虑,target + 1多出来的那 1 列,表示背包容量从 0 开始考虑,也就是因为数组下标是从0开始的。所以很多时候,我们需要考虑这个容量为 0 的数值。状态定义:dp[i] [j]表示从数组的 [0

2021-02-23 21:18:24 150

原创 Spring Boot自动装配原理

转自Javaguide哥的一篇文章前言当不用springboot的时候,写一个@Configuration类注入Bean,必须要在xml文件中配置。但是在springboot中,只需要添加相关以来就行,无序配置,直接启动main方法就行。并且,我们通过 Spring Boot 的全局配置文件 application.properties或application.yml即可对项目进行设置比如更换端口号,配置 JPA 属性等等。这得益于其自动装配。自动装配可以说是 Spring Boot 的核心

2021-02-23 18:42:56 123

原创 最长公共子序列的两种写法:dp数组和备忘录

先看题给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。示例 1:输入:text1 = "abcde", text2 = "ace" 输出:3 解释:最长公共子序列是 "ace",它的长度为 3。示例 2:输入:text1 = "abc", text2 = "abc"输出:3解释:最长公共子序列是 "abc",它的长度为 3。示例 3:输入:text1 = "abc", text2 = "def"输出:0解释:两个字符串没有公共子序列,返回

2021-02-22 22:27:31 1169

原创 Linux 安装tomcat教程及安装过程中出错点

查看是否安装过首先查看Linux下Tomcat是否安装、启动、文件路径、进程PID1、检测是否有安装了Tomcat:rpm -qa|grep tomcat2、查看Tomcat的进程ID:ps -ef|grep tomcat3、查看Tomcat目录:find / -name tomcat安装下载网站:https://tomcat.apache.org/download-80.cgi[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bQAXi0ES-161

2021-02-17 11:58:53 359

原创 Java 四大函数式接口

四大函数式接口lambda表达式、链式编程、函数式接口、Stream流失计算函数式接口 : 一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口除了唯一的抽象方法,还可以定义默认方法、静态方法和public方法Java中的lambda无法单独出现,它需要一个函数式接口来盛放,lambda表达式方法体其实就是函数接口的实现lambda语法的三部分1、一个括号内用逗号分隔的形式参数,参数是函数式接口里面方法的参数2、一个箭头符号:->3、方法体,可以是表达式和代码块(

2021-02-01 13:30:09 174

原创 为什么阿里巴巴不建议你 boolean 类型变量用 isXXX

为什么boolean不用isXxxpackage hidisan;public class isXXX { private String isHot; public String getIsHot() { return isHot; } private boolean isHOt; public boolean isHOt() { return isHOt; } // boolean类型 private

2021-01-28 18:06:23 231

原创 LocalDate的一些用法

Java 8 推出了全新的日期时间API。Java处理日期、日历和时间的不足之处:将 java.util.Date 设定为可变类型,以及 SimpleDateFormat 的非线程安全使其应用非常受限。然后就在 java8 上面增加新的特性。全新API的众多好处之一就是,明确了日期时间概念,例如:瞬时(instant)、长短(duration)、日期、时间、时区和周期。同时继承了Joda 库按人类语言和计算机各自解析的时间处理方式。不同于老版本,新API基于ISO标准日历系统,java.time包下的

2021-01-26 17:49:42 706

原创 Zookeeper 入门教程,看着一篇就足够

概况ZooKeeper 是一个开源的分布式应用程序协调服务器,其为分布式系统提供一致性服务。其一致性是通过基于 Paxos 算法的 ZAB 协议完成的。其主要功能包括:配置维护、分布式同步、集群管理、分布式事务等。ZooKeeper是一个开源的分布式协调服务,设计目标是将那些复杂且容器出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。ZooKeeper 为我们提供了高可用、高性能、稳定的分布式数据一致性解决方案,通常被用于实现诸如数据发布/订阅、负载均衡

2021-01-24 15:51:38 374

转载 八千字数据库索引原理,看完包会的那种~

what is 索引?官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在单独的索引文件中,也可能和数据一起存储在数据文件中)。我们通常所说的索引,包括聚集索引、覆盖索引、组合索引、前缀索引、唯一索引等,没有特别说明,默认都是使用B+树结构组织(多路搜索树,并不一定是二叉的)的索引。优势和劣势优势:可以提高数据检索的效率,降.

2021-01-12 21:43:26 111

原创 关于Integer的缓存的一道面试题

面试的的一道题…Q19. 在 Java中,下列代码运行后的输出结果是 Integer i1 = 100; Integer i2 = 100; Integer i3 = 300; Integer i4 = 300; System.out.println(i1==i2); System.out.println(i3==i4); 结果是 true false因为自动装包了,就查看Integer的源码valueOf(int): /** * Returns an {@code

2021-01-12 21:34:40 213

原创 Java中Arrays.sort()的四种用法&深入源码理解

1.Arrays.sort()Java的Arrays类中有一个sort()方法,该方法是Arrays类的静态方法,在需要对数组进行排序时,非常的好用。1、Arrays.sort(int[] a)这种形式是对一个数组的所有元素进行排序,并且是按从小到大的顺序。sort()源码 public static void sort(Object[] a) { if (LegacyMergeSort.userRequested) legacyMergeSort(a

2020-12-20 22:47:44 5136

原创 Redis万字总结! 入门基础复习必备

Redis分布式:一个业务分拆多个子业务,部署在不同的服务器上集群:同一个业务,部署在多个服务器上1.单机MYSQL2.memcached(缓存) + MYSQL+ 垂直拆分(读写分离)分库拆表 + 水平拆分 + MySQL集群本质:数据库 读 写NoSQLNoSQLNoSQL = Not Only SQL 不仅仅是SQL关系型数据库:行 列 MySQL Oracle Sql server SQLlite非关系型数据库:{key:value} Re

2020-12-20 19:53:42 912

原创 Dubbo基础入门知识点

Dubbo1. 简介分布式:分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。这是经典的分布式著作《分布式系统概念与设计》中的定义。其实在我的理解里,就是把一个大的系统拆分成很多个业务模块,并部署在多台网络计算机上。就是把集中式的中心节点拆分为多个节点去完成单个中心节点的工作。RPC:通讯 序列化 <!--导入依赖:dubbo + zookeeper --> <!-- https://mvnreposit

2020-12-19 00:20:03 249 1

原创 java TCP 实现聊天室功能 多线程实现一个服务器端和多个客户端之间的聊天

package 实验702;import java.net.Socket;public class Client { public static void main(String[] args) { Socket socket; try { socket = new Socket("127.0.0.1", 8081); System.out.println("欢迎进入聊天室"); new

2020-11-15 22:34:28 907

原创 ““.equals(str)和str.equals(““)的区别

"".equals(str)和str.equals("")的区别如果当str为null的话"".equals(str)不会报空指针异常,而str.equals("")会报异常。这种方式主要用来防止空指针异常

2020-11-15 22:26:39 414

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除