自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

见见大魔王

好好学习.

  • 博客(358)
  • 资源 (2)
  • 收藏
  • 关注

原创 拉格朗日对偶性详解(手推笔记)

个人原创笔记,转载请附上本文链接。拉格朗日对偶性其实也没有那么难理解,在我梳理过后你会发现也就是那一回事罢了。围绕着拉格朗日对偶性探讨的整个流程下来,实际上牵扯到 三个问题:原始问题,我们记作 P。 拉格朗日函数的极小极大问题,我们记作 P'。(后来会发现 极小极大问题 与 原始问题 是等价的) 拉格朗日函数的极大极小问题,我们记作 D。以及需要注意的 p* 与 d* 之间的关...

2020-04-01 22:42:06 7422 12

原创 【线性回归】正规方程+梯度下降+正则化完整推导!

个人原创笔记,若有错误,请大佬们指正!

2020-03-20 15:55:23 3379 5

原创 一篇文章完全弄懂Logistic回归(含极大似然估计详细推导和实现代码)

别弄错了,Logistic回归是分类模型。什么是分类问题?在学习线性回归的时候,我们已经理解了什么是回归,回归就是确定变量之间相互依赖的定量关系的统计学方法。那么同样,在开始学习Logistic回归模型前,我们先来看看什么是分类问题。分类相比于回归要好理解得多了,我们按照所选取的样本的属性、特征对数据集的样本进行类别的划分,这就是分类。这里使用二分类举个例子。上图对四个样本...

2020-03-18 18:33:21 8372 1

原创 【计算机网络】网络为什么要分层?

网络为什么需要分层?我觉得最准确的回答应该是:封装对下层的变化。如果学过或者了解过设计模式就知道,实现一个复杂的、多功能的程序,为了便于维护与拓展,程序的功能之间应该是解耦和的。因此,复杂的程序都要分层,这是程序设计的要求。(好好理解这句话)举个例子,对于复杂的电商网站,会分为 Dao 层(专门负责数据库连接、增删改查等操作),Service层(专门负责业务逻辑处理),Controll...

2020-03-16 17:44:22 3781 2

原创 一篇文章完全搞懂深度优先搜索(dfs)(含模板以及例题分析)

模板参考了一个大神,模板原文链接如下:https://blog.csdn.net/shineboyxxb/article/details/52200236。/*** dfs 模板.* @param[in] input 输入数据指针* @param[inout] cur or gap 标记当前位置或距离目标的距离* @param[out] path 当前路径,也是中间结果* @p...

2020-03-15 10:32:09 7135 6

原创 一篇文章完全弄懂线性回归(Linear Regression)(含详细推导以及代码)

什么是线性回归?线性回归就是变量之间的相互依赖关系可以通过一个线性方程表达。

2020-03-13 01:03:24 6425

原创 【多智能体合作】Self-Organized Group for Cooperative Multi-agent Reinforcement Learning

SOG 是否比全连接通信方法更好地帮助多智能体协调?SOG 能否促进对于动态团队组成和不断变化的部分可观察性的零样本泛化?SOG 中选举指挥官的方式对结果有什么影响?哪一个因素对 SOG 的影响最大?

2023-06-20 18:39:11 656

原创 【MySQL】InnoDB存储引擎

对数据的修改操作,首先修改内存结构中的缓冲区的页,缓冲区的页与磁盘中页的数据不一致,因此称缓冲区中的页为脏页。

2023-03-17 11:09:37 1701 1

原创 【MySQL】基本架构与执行过程

MySQL 是通过文件系统对数据索引后进行存储的,MySQL 从物理结构上可以分为和。MySQL 在 Linux 中的数据索引文件和日志文件通常放在目录下。MySQL 通过日志记录了数据库操作信息和错误信息。

2023-03-16 21:59:12 478

原创 【网关日记】配置阿里云容器镜像加速

【代码】【网关日记】配置阿里云容器镜像加速。

2023-03-08 23:17:40 125

原创 【Java开发笔记】分库分表

为什么要分库分表?

2023-02-12 17:20:23 1741

原创 【Java开发笔记】线程池

当线程池创建完成后,池内的线程数量为 0,这是因为采用了懒加载机制。当一个任务通过submit()或execute()方法提交到线程池后:如果当前池中线程数(包括闲置线程)小于,则创建一个新线程执行任务如果当前线程池中的线程数已经达到了,则将任务放入等待队列如果任务队列已满,则任务无法放入等待队列。此时如果线程池中线程数量小于,则创建一个临时线程执行任务,临时线程数量 = 最大线程数 - 核心线程数如果当前池中线程总数已经等于,此时无法执行该任务,触发拒绝策略进行处理当线程池中线程数量大于。

2023-02-12 15:26:49 679

原创 【Mysql】日期函数总结

在配置 pom 文件时,遇到。

2023-02-10 10:45:02 144

原创 【Java开发】Dependency ‘XXX‘ not found

在配置 pom 文件时,遇到。

2023-02-01 00:32:36 640

原创 【数据结构与算法】DP路径问题

网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。可以在记录 dp 数组时,比较不同路径来源的路径和大小。最后,我们从结尾开始,根据上一步的路径坐标,遍历一次,进行记录保存即可。如何输出总和最低的路径呢(如果有多个答案,返回其中之一即可)?解决了一维保存二维位置信息问题,下一步是如何记录路径呢?,在本题中也就是上和左的坐标,哪个小就是从哪里来的。如果我们要通过一个一维向量保存一个。很常规的 DP 问题。对于任何一个在矩阵中的坐标。给定一个包含非负整数的。

2023-01-31 12:07:57 447

原创 【数据结构与算法】Manacher算法

Manacher 算法常用于求一个字符串中的最长回文子串。的最长回文子串为123321。计算字符串的最长回文字串最简单的算法就是枚举该字符串的每一个子串,并且判断这个子串是否为回文串,这个算法的时间复杂度为ON3O(N^3)ON3的。Manacher 算法可以在线性时间复杂度ONO(N)ON内求出一个字符串的最长回文字串,达到了理论上的下界。

2023-01-05 21:43:46 254

原创 【网管日记】Nginx报错踩坑记录

【代码】【网管日记】Nginx报错踩坑记录。

2022-12-18 23:34:16 250

原创 【网管日记】Nginx基本介绍、安装与使用

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:百度、京东、新浪、网易、腾讯、淘宝等。Nginx是由为俄罗斯访问量第二的 Rambler.ru 站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。官网:https://nginx.org/

2022-12-15 14:41:12 416

原创 【网管日记】MySQL主从复制

MySQL 主从复制是一个异步的复制过程,底层是基于 Mysql 数据库自带的功能。一台或多台 MySQL 数据库(slave,即)从另一台 MySQL 数据库( master,即)进行日志的复制,然后再解析日志并应用到自身,最终实现的数据和的数据保持一致。二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但是不包括数据查询语句。此日志对于灾难时的数据恢复起着极其重要的作用,MySQL的主从复制,就是通过该 binlog 实现的。

2022-12-15 09:43:06 335

原创 【网管日记】Linux防火墙操作

【代码】【网管日记】Linux防火墙操作。

2022-12-10 16:34:46 324

原创 LinkedList源码分析

LinkedList同时实现了List接口和Deque对口,也就是收它既可以看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(stack)。这样看来,linkedList简直就是无敌的,当你需要使用栈或者队列时,可以考虑用LinkedList。关于栈或队列,现在首选是ArrayDeque,它有着比LinkedList(当作栈或队列使用时)更好的性能。LinkedList底层通过双向链表实现,双向链表的每个节点用内部类Node表示。LinkedList通过first和last。

2022-12-01 15:27:32 679

原创 Vector源码分析

Vector类实现了一个动态数组。和ArrayListVectorVectorVector主要用在事先不知道数组的大小,或者只是需要一个可以改变大小的数组的情况。

2022-11-30 15:57:14 429

原创 ArrayList源码分析

ArrayList是一个非线程安全,基于数组实现的一个动态数组。可以看到,它的顶层接口是集合类。ArrayList可以存放所有元素,包括null底层是由数组实现的基本等同于Vector,除了ArrayList是非线程安全的。多线程时,建议使用vector。

2022-11-30 14:24:02 444

原创 【Java技巧】如何在HashMap中插入重复的key?

我们都知道,Map 的 key 需要保证唯一性。插入重复的 key 会被最后插入的 key 所覆盖,如:那我如果需要同时保存二者,怎么做呢?我们知道一个类 new 一个对象,对象在堆中的地址肯定是不一样的,我们可以使用一个类来包装一下。来看看效果:可以发现,包装后地址肯定不一样。那么来试试能不能绕开 map 的去重。地址不一样,肯定两个都存进去了。取的时候拿 Inner 对象,然后再取 Inner 的 value 值即可。

2022-11-28 10:05:43 2194

原创 【JAVA】基础语法

自动类型转换:类型范围小的变量,可以直接赋值给类型范围大的变量。在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算。表达式的最终结果类型由表达式中的最高类型决定。Note:在表达式中,,, 是直接转换成 类型参与运算。当需要把大范围变量赋值给小范围变量时,需要使用强制类型转换。Note:数组的静态初始化写法:数组变量名中存储的是数组的地址,属于 引用类型:直接通过索引访问即可:访问数组长度:定义数组类型的时候,只定义数组的长度,之后再存入数据。Java 中的内存分配(先看这三个):方法在没

2022-11-11 19:44:34 411

原创 【设计模式】单例模式

单例设计模式

2022-11-09 22:55:39 339

原创 【Linux命令】文件和目录权限

众所周知,可以使用ls -l来查看文件和目录的详细信息,那么输出的东西是什么呢?我们先来看-dbclfs再来看看:对于,rwx分别代表着可读、可写、可执行。对于。

2022-11-07 15:17:06 777

原创 【Linux命令】用户和用户组的配置文件

截取了部分文件内容,可以看到,第一个字段是用户名称,第二个字段是是否需要密码登入,第三个是组的 GID。文件:系统用户配置文件,存储了系统中所有用户的基本信息,并且所有用户都可以对此文件执行。,从而导致只输入用户名而不用输入密码就可以登陆。第一个字段为用户名称,第二个字段为加密后的密码。,但不是真正的密码,真正的密码保存在。如果删除了 “x”,那么。文件是与用户组相关的配置文件。可以发现,每行的内容是以。

2022-11-07 14:47:17 1887

原创 【Linux命令】su 和 sudo

首先在 root 用户下,设置 30 分钟后关机,如果需要取消则需要使用。临时赋予普通用户一些管理员用户的权限,如关机。可以看到,在 user3 用户下,直接使用。命令以其他用户身份执行命令。然后,在 user3 用户下,使用。来取消 root 用户的定时关机。命令,而普通用户无法执行。

2022-11-07 14:18:16 427

原创 【Linux命令】用户和用户管理

rootrootUUID/bin/bash/home/用户名/tmpUIDUID身份标识(唯一标识),GID组标识(唯一标识)

2022-11-07 11:46:13 298

原创 【Linux命令】vim 多模式编辑

先来man一下viman vi。

2022-11-07 11:18:53 686

原创 【Linux命令】打包压缩和解压缩

targzipbzip2.tar.gz.tar.bz2.tgz以/etc以/etc。

2022-11-07 10:37:26 203

原创 【Linux命令】ls命令

ls命令是 linux 下最常用的命令。ls命令就是 list 的缩写,。如果 ls 指定其他目录,那么就会显示指定目录里的文件及文件夹清单。通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。

2022-11-07 10:14:11 3900

原创 【Linux】进程数据结构

在 Linux 中,无论是进程,还是线程,到了内核里面,我们统一都叫 任务(Task),由一个统一的结构 task_struct 进行管理。首先,所有执行的项目应该有个项目列表吧,所以 Linux 内核也应该先弄一个 链表,将所有的 task_struct 串起来。接下来,我们来看每一个任务都应该包含哪些字段。每一个任务都应该有一个 ID,作为这个任务的唯一标识。到时候排期啊、下发任务啊等等,都按 ID 来,就不会产生歧义。task_struct 里面涉及任务 ID 的,有下面几个:所以在内核中,它们

2022-11-06 20:51:35 467

原创 【Linux】线程

首先,对于任何一个进程来讲,即便我们没有主动地去创建线程,进程也是默认有一个主线程的。线程是负责执行二进制指令的,而进程管的比线程多多了,除了执行指令外,还有内存管理,文件系统等。默认情况下,你可以建一个大的任务,就是完成某某功能,然后交给一个人让它从头做到尾,这就是主线程。但是有时候,你发现任务是可以拆解的,如果相关性没有非常大前后关联关系,就可以并行执行。在 Linux 中,有时候我们希望将前台的任务和后台的任务分开。因为有些任务是需要马上返回结果的,例如你输入了一个字符,不可能五分钟再显示出来;而有些

2022-11-06 15:17:38 276

原创 【Linux】进程

首先通过图右边的文件编译过程,生成 so 文件和可执行文件,放在硬盘上。下图左边的用户态的进程 A 执行 fork,创建进程 B,在进程 B 的处理逻辑中,执行 exec 系列系统调用。这个系统调用会通过 load_elf_binary 方法,将刚才生成的可执行文件,加载到进程 B 的内存中执行。

2022-11-06 10:10:08 523

原创 【Linux】系统调用

首先,我们在用户态里调用 中的 函数。这个函数是如何定义的呢?在 的源代码中,有个文件 (是一个列表),里面列着所有 的函数 对应的系统调用,就像下面这个样子:另外, 还有一个脚本 ,可以根据上面的配置文件,对于每一个封装好的系统调用,生成一个文件。这个文件里面定义了一些宏,例如 。 还有一个文件 ,使用上面这个宏,定义了这个系统调用的调用方式。这里的 PSEUDO 也是一个宏,它的定义如下:里面对于任何一个系统调用,会调用 。这也是一个宏,这个宏 32 位和 64 位的定义是不一样的。先来

2022-11-05 21:37:44 468

原创 【Linux】内核初始化

初始化LinuxINIT_TASK创建 0 号进程初始化中断向量表初始化内存管理模块初始化进程调度模块初始化 VFS,虚拟文件系统初始化进程创建 0 号进程。0号进程是所有进程的祖先,通过来创建创建 1 号进程。1号进程是第一个用户态进程,是所有用户态进程的祖先,通过创建参考:《趣谈Linux操作系统》刘超。

2022-11-04 22:38:10 367

原创 【Linux】从BIOS到bootloader

按下开机键,主板加电,开机。但这时候还没有操作系统,内存也是空的,CPU 发现没啥可干的。这时候,BIOS 相当于一个只读的指导手册,来指导计算机系统接下来要做什么。。在主板上,有一个东西叫(Read Only Memory,只读存储器),它与内存(Random Access Memory,随机存取存储器)不同。平时买的内存条是可读可写的,这样才能保存计算结果。而 ROM 是只读的,上面早就固化了一些初始化的程序,也就是。

2022-11-04 21:19:53 338

原创 【Linux】x86结构

CPU(Central Processing Unit,中央处理器)是计算机中最核心的单元,负责数据的计算。CPU 通过 总线(Bus)与其他设备相连,在这些设备中,最重要的是 内存(Memory)。因为单靠 CPU 是没办法完成计算任务的,很多复杂的计算任务都需要将中间结果保存下来,然后基于中间结果进行进一步的计算。CPU 本身没办法保存这么多中间结果,这就要依赖内存了。CPU 和内存是完成计算任务的核心组件,那他们是如何配合完成工作的呢?CPU 实际上是由三个部分组成:进程一旦运行,比如

2022-11-04 20:24:42 830

DeepTrader源代码

投资组合管理系统 DeepTrader 源代码复现,手写注释 参考论文:DeepTrader: A Deep Reinforcement Learning Approach for Risk-Return Balanced Portfolio Management with Market Conditions Embedding

2022-03-19

《David Silver强化学习笔记》第一课 1-introduction .pdf

强化学习笔记

2021-07-15

空空如也

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

TA关注的人

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