- 博客(135)
- 收藏
- 关注
原创 元强化学习
元强化学习结合了元学习和强化学习的概念,目标是构建一种能够在不同任务之间迅速适应的强化学习算法。在标准的强化学习任务中,算法往往只专注于单一任务,而元强化学习希望通过在一系列不同任务上进行训练,使得模型能够快速适应新的任务,类似于人类的学习方式。元学习,又称“学习的学习”,是一种让机器在不同任务之间快速适应和泛化的学习方式。传统机器学习模型通常需要大量数据进行训练,并且在遇到新任务时需要重新训练,而元学习的目标是通过在一系列不同但相关的任务上进行训练,使模型能够快速适应新任务。
2025-05-09 16:26:33
817
原创 强化学习之蒙特卡洛树搜索和噪声网络
蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)是一种用于决策和优化问题的启发式搜索算法,尤其适用于状态空间巨大且难以穷尽的复杂场景。它通过模拟随机策略探索决策路径,利用统计方法评估节点潜力,逐步构建和优化搜索树。MCTS的核心在于平衡探索(Exploration)与利用(Exploitation),通过迭代执行四个步骤(选择、扩展、模拟、回溯、决策)来逐步逼近最优策略。其优势在于无需领域知识,能够处理高维连续状态空间,且在模拟次数足够时收敛到最优解。目的实现方式。
2025-05-07 11:27:31
712
原创 强化学习之基于无模型的算法之演员-评论家算法
演员-评论家(Actor-Critic, AC)算法是强化学习中的一类混合方法,结合了和πθasVωsQωsa:通过和的协同优化,解决传统策略梯度方法方差大、收敛慢的问题,同时避免纯值函数方法的高偏差。A2C 结合了策略梯度算法(演员部分)和价值函数估计(评论家部分)。演员网络负责学习策略πθ(a∣s,用于选择动作;评论家网络负责学习状态价值函数Vϕ(s),用于评估状态的好坏。
2025-05-07 08:34:20
730
原创 强化学习之基于无模型的算法之基于策略梯度的深度强化学习算法
策略梯度算法的原理是使用一个策略网络来拟合具体的策略概率分布Π(a|s),使得在这个概率分布下,获得的奖励尽可能多。REINFORCE是一种经典的策略梯度蒙特卡洛算法,属于无模型(Model-Free)、同策略(On-Policy)的强化学习方法。其核心思想是通过直接优化策略参数来最大化期望累积回报,采用蒙特卡洛采样估计策略梯度。τ=(s0,a0,r0,s1,a1,r1,⋯,sT,aT,rT)τ其中N是采样轨迹的数量。其中α是学习率。
2025-05-06 11:47:20
794
原创 强化学习之基于无模型的算法之基于值函数的深度强化学习算法
DQN是一种将Q学习与深度神经网络结合的方法,用于解决高维状态空间的问题。它以环境的状态作为输入,通过神经网络输出每个动作的 Q 值,智能体根据 Q 值选择动作。利用经验回放机制,将智能体在环境中采集到的样本(状态、动作、奖励、下一个状态)存储到经验回放缓冲区中,然后随机从缓冲区中采样一批样本进行学习,以降低样本之间的相关性,提高学习效率。目标Q值yt计算为:rttγγaQstaθθstaDQN的损失函数基于均方误差(MSE),用于衡量当前网络预测的Q值与目标Q值之间的差异。
2025-04-30 17:02:55
774
原创 强化学习之基于无模型的算法之时序差分法
TD 方法通过来学习最优策略。它利用当前的估计值和下一个时间步的信息来更新价值函数,这种方法被称为“引导”(bootstrapping)。而不需要像蒙特卡罗方法那样等待一个完整的 episode 结束才进行更新,也不需要像动态规划方法那样已知环境的转移概率。以最基本的为例,状态价值函数Vs) 的更新公式为:其中:strtststγα对于动作价值函数 Q(s,a)Qsa),常见的 TD 更新方式如aQstast。
2025-04-29 17:31:51
881
原创 强化学习之基于无模型的算法之蒙特卡洛方法
蒙特卡洛方法(Monte Carlo Method, MC)是强化学习中的一种无模型(Model-Free)学习算法,其核心思想是通过采样完整的交互轨迹(Episode),基于实际回报的平均值来估计状态价值或动作价值,从而逐步优化策略。与动态规划等基于模型的方法不同,蒙特卡洛方法不需要知道环境的转移概率和奖励函数,而是直接从与环境交互的经验中学习。蒙特卡洛方法的核心是通过来估计期望值。
2025-04-29 10:24:05
1075
原创 强化学习之基于模型的算法之动态规划
动态规划(Dynamic Programming, DP)是解决马尔可夫决策过程(MDP)的核心方法之一,通过更新实现最优策略的求解。
2025-04-29 08:24:10
607
原创 强化学习之理论基础
强化学习(Reinforcement Learning, RL)是机器学习的一个分支,核心目标是让智能体(Agent)在与环境(Environment)的交互中学习最优行为策略(Policy),以最大化累积奖励(Cumulative Reward)。表示从状态 s 出发遵循策略 π 的累积奖励期望。表示在状态 s 执行动作 a 后遵循策略 π 的累积奖励期望。二者联系:解释:状态价值是所有可能动作价值的期望(按策略 π 加权)。解释:动作价值由即时奖励和下一状态的折扣价值组成(后续动作仍由 π 决定)。数学
2025-04-28 14:49:43
782
原创 Django(快速上手版)
Django 是一个内置了数据库抽象层、ORM、用户认证、后台管理、模板引擎、URL 路由、表单处理等常用功能,开发者无需重复造轮子,只需专注业务逻辑。
2025-04-27 09:41:58
661
原创 C++基础知识(八)之C++11新标准、C++11线程、可调用对象的绑定器和包装器
新增了类型long long和unsigned long long,以支持64位(或更宽)的整型。在VS中,int和long都是4字节,long long是8字节。在Linux中,int是4字节,long和long long是8字节。
2025-03-08 12:06:05
855
原创 C++基础知识(七)之STL算法、智能指针、文件操作、C++异常、断言
STL定义了多个基本的函数符,用于支持STL的算法函数。包含头文件:#include <functional>
2025-03-03 20:47:06
913
原创 C++基础知识(六)之STL容器
string是字符容器,内部维护了一个动态的字符数组。与普通的字符数组相比,string容器有三个优点:1)使用的时候,不必考虑内存分配和释放的问题;2)动态管理内存(可扩展);3)提供了大量操作容器的API。缺点是效率略有降低,占用的资源也更多。string类是std::basic_string类模板的一个具体化版本的别名。
2025-03-02 20:13:38
850
原创 C++基础知识(五)之类多态、函数模板、类模板、C++编译、链接和命名空间
无参数的宏:#define 宏名 宏内容有参数的宏:#define MAX(x,y) ((x)>(y)?(3) : (5))编译的时候,编译器把程序中的宏名用宏内容替换,是为宏展开(宏替换)。宏可以只有宏名,没有宏内容。在C++中,内联函数可代替有参数的宏,效果更好。C++中常用的宏:当前源代码文件名:__FILE__当前源代码函数名:__FUNCTION__当前源代码行号:__LINE__编译的日期:__DATE__编译的时间:__TIME__
2025-02-22 11:34:42
702
原创 C++基础知识(四)之类与对象、运算符重载、类型转换、类继承
6)如果成员是没有默认构造函数的类,则必须使用初始化列表。7)拷贝构造函数也可以有初始化列表。8)类的成员变量可以不出现在初始化列表中。9)构造函数的形参先于成员变量初始化。
2025-02-16 17:25:34
892
原创 C++基础知识(三)之结构体、共同体、枚举、引用、函数重载
struct 结构体名成员一的数据类型 成员名一;成员二的数据类型 成员名二;成员三的数据类型 成员名三;......成员n的数据类型 成员名n;注意:结构体名是标识符。结构体的成员可以是任意数据类型。定义结构体描述的代码可以放在程序的任何地方,一般放在main函数的上面或头文件中。结构体成员可以用C++的类(如string),但是不提倡。在C++中,结构体中可以有函数,但是不提倡。在C++11中,定义结构体的时候可以指定缺省值。
2025-02-14 23:02:31
1150
原创 C++基础知识(二)之数据类型、指针和内存、数组
两个字符串比较的方法是比较字符的ASCII码的大小,从两个字符串的第一个字符开始,如果分不出大小,就比较第二个字符,如果全部的字符都分不出大小,就返回0,表示两个字符串相等。如果把函数的形参声明为指针,调用的时候把实参的地址传进去,形参中存放的是实参的地址,在函数中通过解引用的方法直接操作内存中的数据,可以修改实数的值,这种方法被通俗的称为。:在将低精度浮点数转换为高精度浮点数时,由于高精度类型能够表示更多的有效数字,因此会在转换后的数值中添加额外的精度,这些额外的精度通常以小数位的形式出现。
2025-02-09 21:32:43
1128
原创 C++基础知识(一)之变量与常量、运算、条件分支语句、循环语句、函数
在复杂的程序中,如果全部的代码都写在main函数中,main函数体将非常庞大臃肿。把任务分工到其它的函数中,main函数只负责程序的核心流程,具体的任务由其它函数完成。这种思想就是模块化编程。返回值的数据类型 函数名(参数一的数据类型 参数一, 参数二的数据类型 参数二,……)实现函数功能的代码。return 返回值;函数的声明:让编译器知道函数的存在,包括返回值的数据类型、函数名和参数列表。函数的定义:函数的实现过程。
2025-02-04 17:31:50
596
原创 MQTT知识
MQTT 控制报文是 MQTT 数据传输的最小单元。MQTT 客户端和服务端通过交换控制报文来完成它们的工作,比如订阅主题和发布消息。MQTT 目前定义了 15 种控制报文类型,如果按照功能进行分类,我们可以将这些报文分为连接、发布、订阅三个类别:CONNECT 报文用于客户端向服务端发起连接,CONNACK 报文则作为响应返回连接的结果。如果想要结束通信,或者遇到了一个必须终止连接的错误,客户端和服务端可以发送一个 DISCONNECT 报文然后关闭网络连接。
2025-02-03 00:05:12
1272
原创 vue3+elementPlus之后台管理系统(从0到1)(day4-完结)
创建一个面包屑组件将路由导入然后格式化map对象 key-value将当前路由的key和value获取然后存入list数组中遍历list数据,渲染内容。
2025-01-24 10:20:36
978
原创 vue3+elementPlus之后台管理系统(从0到1)(day3-管理员管理)
在views中创建一个manager文件夹,并创建ManagerIndexView.vue、MangagerListView.vue、UserList.vue。
2025-01-22 22:40:49
939
原创 vue3+elementPlus之后台管理系统(从0到1)(day2-登录)
3、响应拦截器,就是服务器给出响应后,返回到前端前需要做什么操作,reponse.data。安装插件 铁皮饭盒 any-role 正则表达式,在搜索框直接输入>+验证名,如>密码。在login页面中导入api/user.js,然后发送数据。4、封装各种请求方法,如get,post,put等。1、在模板中直接$store.state.属性即可。1、在全局状态定义一个用户信息和修改用户信息的方法。在src中创建store/index.js。在store/index.js中使用。上的用户输入导致的状态变化。
2025-01-19 21:18:30
534
原创 vue3+elementPlus之后台管理系统(从0到1)(day1-项目主体搭建)
node_modules:项目的依赖文件public:项目的公共资源文件src:放置组件和入口文件assets:项目的静态资源文件,存放图片或样式components:存放自己封装组件的文件夹router:项目路由文件夹views:页面文件夹App.vue:项目主文件,所有页面都是在App.vue下进行切换的,也可以理解为所有路由是App.vue的子组件main.js:项目的主入口文件,主要作用是初始化vue实例,并引入所需插件.gitinore:git忽略文件,不上传提交的文件。
2025-01-12 21:47:07
1685
原创 SpringAOP之日志和身份验证
Aspect@Component@Autowired//执行方法//执行时长(毫秒)//保存日志= null) {//注解上的描述//请求的方法名//请求的参数try {//获取登录名//获取客户端ip//获取服务端ip@Aspect@Componentthrow new ValidationException("未登录");throw new ValidationException("无权限");
2025-01-02 23:46:27
402
原创 java项目中使用swagger生成接口文档
3)@ApiOperation:用在方法上,例如Controller的方法,说明方法的用途、作用。1)@Api:用在类上,例如Controller,表示对类的说明。2)@ApiModel:用在类上,例如entity、DTO、VO。4)@ApiModelProperty:用在属性上,描述属性信息。
2024-12-29 18:40:22
407
原创 定时任务实现
cron():用于指定Cron表达式,表示任务的执行时间规则。例如0 0 * * *?表示每天的凌晨12点执行一次任务。zone():用于指定Cron表达式的时区,默认为空字符串。如果需要根据不同的时区执行任务,则可以设置该属性。fixedDelay()和fixedDelayString():用于指定任务的固定延迟时间,即任务结束后等待多长时间再次执行。默认值为-1,表示不使用固定延迟。
2024-10-11 15:58:34
1737
原创 实习日志1之大模型相关知识概览
当我们想要微调大模型的时候,一个粗略的实验过程无外乎以下几个环节:准备好硬件(GPU)、数据;通过各方面的资讯选中你想要微调的基座模型准备好代码:输入数据 + 模型 -> 在GPU上反复训练训练结束以后,得到训练过程中的checkpoint + 一些log信息根据log信息选一些比较有希望的checkpoint在自己的测试集上推理,获得相应的结果分析结果,获得下一轮实验(数据、训练方案的迭代)思路。
2024-07-26 17:36:14
1594
1
原创 JVM知识点
类加载器负责加载所有的类,其为所有被载入内存中的类生成一个java.lang.Class实例对象。一旦一个类被加载入JVM中,同一个类就不会被再次载入了。正如一个对象有一个唯一的标识一样,一个载入JVM的类也有一个唯一的标识。在Java中,一个类用其全限定类名(包括包名和类名)作为标识;但在JVM中,一个类用其全限定类名和其类加载器作为其唯一标识。类加载器是一个负责加载类的对象。ClassLoader 是一个抽象类。给定类的二进制名称,类加载器应尝试定位或生成构成类定义的数据。
2024-07-16 22:54:40
1096
原创 代理详解之静态代理、动态代理、SpringAOP实现
OverrideSystem.out.println("执行方法前...");System.out.println("执行方法后...");@OverrideSystem.out.println("执行方法前...");System.out.println("执行方法后...");@OverrideSystem.out.println("执行方法前...");System.out.println("执行方法后...");
2024-07-10 00:45:33
1584
2
原创 Spring MVC深入理解之源码实现
*** controller声明*/这个元注解表明注解应该被javadoc或类似的工具记录。也就是说,当你在编写Java文档时,注解的信息会被包含在生成的文档中。这对于理解代码中的注解用途非常有帮助。这个元注解指定了注解的保留策略。意味着这个注解在运行时仍然保留,因此它可以通过反射(Reflection)被读取。这对于那些需要在运行时通过注解来获取信息或行为的框架(如Spring MVC)来说是非常重要的。这个元注解指定了注解可以应用的Java元素类型。
2024-07-09 12:43:21
880
原创 Spring IOC深入理解之源码实现
定义两个注解@Autowired和@Component,SpringIoc中注解用来配置和管理Spring应用中的组件和依赖关系@Target(ElementType.FIELD):这个元注解(meta-annotation)指定了@Autowired注解可以应用的Java元素类型。在这个例子中,它指定了@Autowired和@Component只能应用于字段(FIELD)。
2024-07-08 23:34:09
772
原创 微服务之熔断器
Sentinel (分布式系统的流量防卫兵)是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。· 丰富的应用场景: Sentinel承接了阿里巴巴近10年的双十一大促流量的核心场景,例如秒杀(即 突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用 应用等。· 完备的实时监控:Sentinel提供了实时的监控功能。
2024-06-10 15:36:28
1640
1
原创 微服务之网关
低层使用的是Spring Boot和Spring Webflux提供的Netty底层环境Gateway 基于异步非阻塞模型性能较高动态路由,能够匹配任何请求属性可以对路由指定 Predicate 断言,和 Filter 过滤器集成Hystrix断路器功能集成 Spring Cloud 服务发现功能支持请求限流功能,支持路径重写功能使用过滤器,可以在请求被路由之前或者之后对请求进行修改过滤器按照请求和响应可以分为两种:Pre类型和Post类型。
2024-06-10 15:14:21
2593
原创 微服务之配置中心
Disconf是一套完整的基于zookeeper的分布式配置统一解决方案,它通过disconf-web管理配置信息,然后将配置的key在Zookeeper上建立节点,disconf-client启动后拉取自身需要的配置信息并监听Zookeeper的节点。此外,Nacos除了提供配置中心的功能,还提供了动态服务发现、服务共享与管理的功能,降低了服务化改造过程中的难度。,对他来说只是一个命令的切换,随你玩,还支持各种注册中心迁移到Nacos,反正一句话,只要你想要的他就有。
2024-06-10 14:37:43
1875
原创 微服务之注册中心
注册中心主要有三种角色:服务提供者(RPC Server):在启动时,向 Registry 注册自身服务,并向 Registry 定期发送心跳汇报存活状态。服务消费者(RPC Client):在启动时,向 Registry 订阅服务,把 Registry 返回的服务节点列表缓存在本地内存中,并与 RPC Sever 建立连接。
2024-06-10 14:25:22
1266
原创 微服务之负载均衡器
Spring Cloud Ribbon是基于Netflix Ribbon 实现的一套客户端的负载均衡工具,Ribbon 客户端组件提供一系列的完善的配置,如超时,重试等。通过Load Balancer获取到服务提 供的所有机器实例,Ribbon会自动基于某种规则(轮询,随机)去调用这些服务。Ribbon也可以实现我们自己的负载均衡算法RestTemplate 添加@LoadBalanced注解让RestTemplate在请求时拥有客户端负载均衡的能力@Bean。
2024-06-10 10:40:00
1516
原创 微服务之Nacos(服务注册和配置中心)
对于Nacos配置管理,通过Namespace、group、Data ID能够定位到一个配置集配置集(Data ID)在系统中,一个配置文件通常就是一个配置集,一个配置集可以包含了系统的各种配置信息,例如,一个配置集可能包含了数据源、线程池、日志级别等配置项。每个配置集都可以定义一个有意义的名称,就是配置集的ID即Data ID。配置项配置集中包含的一个个配置内容就是配置项。它代表一个具体的可配置的参数与其值域,通常以key=value 的形式存在。
2024-06-09 23:54:11
2501
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人