<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Boxuan Zhang</title><description>Algorithms, systems, and machine learning notes.</description><link>https://aaaaazbx.github.io/</link><item><title>从零实现myTorch（building micrograd）</title><link>https://aaaaazbx.github.io/categories/LLM/neural-networks-zero-to-hero---andrej-karpathy/mytorch</link><guid isPermaLink="true">https://aaaaazbx.github.io/categories/LLM/neural-networks-zero-to-hero---andrej-karpathy/mytorch</guid><description>项目地址：https://github.com/AAAAAZBX/myTorch 项目介绍 myTorch 是一个模仿 PyTorch 实现的深度学习库，主要用于实现autograd engine (自动梯度引擎)，用来实现反向传播。 为了更贴近 PyTorch 的效果，本项目在原项目 micrograd 构建方式上有所区别。 反向传播（英语：Backpropagation，意为误差反向传播，缩写为BP）是对多层人工神经网络进行梯度下降的算法，也就是用链式法则以网络每层的权重为变量计算损失函数的梯度，以更新权重来最小化损失函数。 构建 myTorch 数据结构 定义数据结构 Tensor 这里先实现最小版本的 ，只保存标量数值并支持基础运算，其中用到了Python中的运算符重载函数。 现在在这个表达式的基础上添加联系组织，如操作类型，前置节点，用于保留有关哪些值产生了哪些其他值的指针。 这…</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate><category>PyTorch</category><category>自动求导</category></item><item><title>2026“钉耙编程”中国大学生算法设计春季联赛 - 热身赛</title><link>https://aaaaazbx.github.io/categories/Algorithms/competition/2026%E6%9D%AD%E7%94%B5%E6%98%A5%E5%AD%A3%E8%81%94%E8%B5%9B-%E7%83%AD%E8%BA%AB%E8%B5%9B</link><guid isPermaLink="true">https://aaaaazbx.github.io/categories/Algorithms/competition/2026%E6%9D%AD%E7%94%B5%E6%98%A5%E5%AD%A3%E8%81%94%E8%B5%9B-%E7%83%AD%E8%BA%AB%E8%B5%9B</guid><description>1001 - 最大的公约数 题意 给定一个正整数 ，求两个正整数满足$a+b=n$且$a \ne b$时，$max\{gcd(a,b)\}$的值。 题解 可以发现$max\{gcd(a,b)\}$一定是$n$的一个因子，直接暴力$\sqrt n$遍历即可，可以发现$n,n/2(如果n\%2==0)$，是最大的两个约数，所以只需要找不是这两个数字的最大约数。 代码 1002 - 雪蜜冰城柠檬茶的神秘成分魔法 题意 $210^5$个数字，范围在$1$~$10^7$之间，$10^5$次操作，操作有三种类型，1.将序列中的$x$集体变成$y$，2.序列末尾插入一个数字$x$，3.删除数列中值为$x$的数字，求最终序列。 题解： 最开始想的是开$10^7$个set，每个set[i]存储i所在的位置，如果你对set足够熟悉的话，你会知道两个set交换的时间复杂度是$O(1)$的（赛时从队友哪里知道的）…</description><pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate><category>ST表</category><category>二分</category><category>STL</category><category>可持久化线段树</category><category>最短路</category><category>动态规划</category><category>线段树</category><category>珂朵莉树</category></item><item><title>《随机过程》第一章-基础概念</title><link>https://aaaaazbx.github.io/categories/Math/stochastic-processes/%E9%9A%8F%E6%9C%BA%E8%BF%87%E7%A8%8B%E7%AC%AC%E4%B8%80%E7%AB%A0</link><guid isPermaLink="true">https://aaaaazbx.github.io/categories/Math/stochastic-processes/%E9%9A%8F%E6%9C%BA%E8%BF%87%E7%A8%8B%E7%AC%AC%E4%B8%80%E7%AB%A0</guid><description>事件与概率 试验 通常把按照一定想法去做的事件称为试验（experiment），把试验的可能结果称为样本点（sample point），样本点的集合称为样本空间（sample space）。通常将样本空间记为 $\Omega$，样本点记为 $\omega$。 &gt;试验（按照自己的想法做一件事情）$\rightarrow$ 不确定性 $\rightarrow$ 产生结果 $\rightarrow$ 样本点 sample point，记作$\omega$。 &gt;得到样本点集合 $\rightarrow$ 样本空间，记作$\Omega$。 &gt;例如：$\omega=1,2,3,4,5,6$ $\Omega=\{1,2,3,4,5,6\}$ &gt;事件（event）是样本空间 $\Omega$ 的子集，且满足三个条件： $\Omega$ 是事件； 若 $A$ 是事件，则 $A^c$ 是事件；（$A^c$是$…</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate><category>Math</category><category>随机过程</category><category>概率论</category><category>卷积</category></item><item><title>《随机过程》第二章-马尔科夫链（Markov chain）</title><link>https://aaaaazbx.github.io/categories/Math/stochastic-processes/%E9%9A%8F%E6%9C%BA%E8%BF%87%E7%A8%8B%E7%AC%AC%E4%BA%8C%E7%AB%A0</link><guid isPermaLink="true">https://aaaaazbx.github.io/categories/Math/stochastic-processes/%E9%9A%8F%E6%9C%BA%E8%BF%87%E7%A8%8B%E7%AC%AC%E4%BA%8C%E7%AB%A0</guid><description>| 状态空间 \\ 时间参数 | 离散 (D) | 连续 (C) | | -------------------- | -------- | -------------------- | | 离散 (D) | 马氏链 | 连续时间马氏链 | | 连续 (C) | - | 布朗运动（金融数学） | 定义和例子 定义 考虑一个离散时间的随机过程 $X_n\ (n=0,1,2,\ldots)$，$X_n$ 在有限集合内取值。我们称 $X_n$ 的所有可能取值为系统的状态（state）。 定义转移概率（transition probability），其表达式如下： $$ p_{n+1}(i,j)=\mathbb{P}\!\left(X_{n+1}=j \mid X_n=i,\ X_{n-1}=i_{n-1},\ X_{n-2}=i_{n-2},\ \ldots,\ X_0=i_0\right). …</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate><category>Math</category><category>随机过程</category><category>马尔科夫链</category></item><item><title>2025年（26届）211计算机保研回忆录（北航SE，北航CS，南软，厦大ASC，东南PALM）</title><link>https://aaaaazbx.github.io/categories/Life%20Moments/%E4%BF%9D%E7%A0%94%E7%BB%8F%E9%AA%8C%E8%B4%B4</link><guid isPermaLink="true">https://aaaaazbx.github.io/categories/Life%20Moments/%E4%BF%9D%E7%A0%94%E7%BB%8F%E9%AA%8C%E8%B4%B4</guid><description>个人背景 学校：末流211 成绩：前5% 科研：一篇非一作在投（CCF-B），传统机器学习方向（基本没参与，科研经历≈0） 竞赛：ICPC邀请赛银奖，区域赛铜奖，XCPC省赛银，蓝桥杯CA省一国二，数模省一，若干水赛奖项 英语：四级540+，六级430+ 奖励：各种学生工作获奖，奖学金等（基本无用），无国奖 最终去向：南京大学软件学院 !图片描述 今年可能是夏令营缩招的原因，各个学校的夏令营高得离谱，举个例子：吉林大学cs在夏令营的时候放进来的基本都是不可能来的，我在夏令营的时候报名了cs，但是因为bar太高被筛了，报了se的同学基本都入了，真正到了预推免的时候，遇到各个夏令营冲突，放进来200人，最终只有10几人来参加了预推免 !图片描述 夏令营情况 | 学校院系 | 入营 | 备注 | | -------- | ---- | ------------------------------…</description><pubDate>Sun, 07 Dec 2025 00:00:00 GMT</pubDate><category>保研</category><category>经验分享</category><category>计算机</category></item><item><title>PyTorch入门</title><link>https://aaaaazbx.github.io/categories/LLM/pytorch/pytorch%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0</link><guid isPermaLink="true">https://aaaaazbx.github.io/categories/LLM/pytorch/pytorch%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0</guid><description>一、Pycharm 及 Jupyter notebook使用及对比 例如以下几行Python代码: ~python print(&quot;Start!&quot;) a=&quot;hello world&quot; b=2019 c=a+b print(c) ~ 如果代码是以块为一个整体运行的话，那么，Python文件的块是所有行的代码。 优点：通用，传播方便，适用于大型项目。 缺点：需要从头运行。 在Python控制台中，代码以行为块运行，（按shift+enter也可以多行运行），一般用于单行调试。 优点：可以显示每个变量属性。 缺点：不利于代码阅读及修改。 在Jupyter notebook中可以任意切分代码块。 优点：利于代码的阅读和修改。 缺点：环境需要再使用前配置。 二、使用Python加载数据 1.数据相关类 （1）Dataset 介绍：如果说data是一堆垃圾，那么dataset就提供了一种获取数据及其lab…</description><pubDate>Sat, 06 Dec 2025 00:00:00 GMT</pubDate><category>AI</category><category>PyTorch</category></item><item><title>神经网络的搭建——torch.nn</title><link>https://aaaaazbx.github.io/categories/LLM/pytorch/pytorch%E6%90%AD%E5%BB%BA%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C</link><guid isPermaLink="true">https://aaaaazbx.github.io/categories/LLM/pytorch/pytorch%E6%90%AD%E5%BB%BA%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C</guid><description>一、Container中的Moudule是所有的神经网络的基础、父类 所有的其他神经网络必须从Moudule中继承 自定义类中包括两个函数：初始化网络和前向传播 举一个简单的例子 tensor(2.) 二、torch.nn.functional()卷积相关操作 1.官方文档中介绍的conv2d()相关参数 链接 Parameters input – input tensor of shape (minibatch,in_channels,iH,iW)(\text{minibatch} , \text{in\_channels} , iH , iW)(minibatch,in_channels,iH,iW) weight – filters of shape (out_channels,in_channelsgroups,kH,kW)(\text{out\_channels} , \frac…</description><pubDate>Sat, 06 Dec 2025 00:00:00 GMT</pubDate><category>AI</category><category>PyTorch</category><category>神经网络</category><category>深度学习</category></item><item><title>PyTorch模型训练套路总结</title><link>https://aaaaazbx.github.io/categories/LLM/pytorch/pytorch%E6%A8%A1%E5%9E%8B%E8%AE%AD%E7%BB%83%E5%A5%97%E8%B7%AF%E6%80%BB%E7%BB%93</link><guid isPermaLink="true">https://aaaaazbx.github.io/categories/LLM/pytorch/pytorch%E6%A8%A1%E5%9E%8B%E8%AE%AD%E7%BB%83%E5%A5%97%E8%B7%AF%E6%80%BB%E7%BB%93</guid><description>模型训练 1.完整的模型训练套路 （1）首先导入数据集 Files already downloaded and verified Files already downloaded and verified 训练集的长度为：50000 测试集的长度为：10000 （2）利用DataLoader加载数据集 （3） 搭建神经网络 规范写法中，神经网络的架构都被存放于一个叫做model的Python中，此外，为了验证模型中的参数设置是否正确，使用如下的方法进行验证，看输出参数是否是10个 torch.Size([64, 10]) 将上面的模型放入到model.py文件中以后，便可以在train.py文件中使用如下命令调用此模型 ~ from model import ~ （4）创建网络模型 在train文件中直接使用下面的命令即可调用model文件中的模型 （5）损失函数 这里使用交叉熵损失函数…</description><pubDate>Sat, 06 Dec 2025 00:00:00 GMT</pubDate><category>AI</category><category>PyTorch</category><category>模型训练</category><category>深度学习</category></item><item><title>矩阵相关算法总结</title><link>https://aaaaazbx.github.io/categories/Algorithms/knowledge/matrix</link><guid isPermaLink="true">https://aaaaazbx.github.io/categories/Algorithms/knowledge/matrix</guid><description>矩阵乘法 牛客例题-E斐波 题意 定义$fib_n$为斐波那契数列第$n$项，$fib_1=fib_2=1$，$fib_n=fib_{n-1}+fib_{n-2}$ 给定可重集$S$，定义$f(S)=\sum_{T \subseteq S }fib(\sum_{s\isin T}s)^2$, 支持两种操作： (1)单点修改$a_p\rightarrow v$ (2)区间查询$\sum_{l\le i\le j \le r}f(\{a_{i},a_{i+1},...,a_j\})$. 题解 首先有定理：两个可以线性递推的公式相乘所得到公式一定是可以线性递推的。令 $g(n)=fib^2(n)$ 根据下面的推导： $$ g(n) =fib^2(n) \\ =(fib(n-1)+fib(n-2))^2 \\ =g(n-1)+g(n-2)+2fib(n-1)fib(n-2) \\ =g(n-1)+…</description><pubDate>Mon, 01 Dec 2025 00:00:00 GMT</pubDate><category>矩阵</category><category>矩阵乘法</category><category>线性基</category><category>高斯消元</category></item><item><title>Linux相关语法</title><link>https://aaaaazbx.github.io/categories/Tools/linux%E7%9B%B8%E5%85%B3%E8%AF%AD%E6%B3%95</link><guid isPermaLink="true">https://aaaaazbx.github.io/categories/Tools/linux%E7%9B%B8%E5%85%B3%E8%AF%AD%E6%B3%95</guid><description>常用文件管理命令 一、命令介绍 ㅤㅤ1. ：取消命令，并且换行 ㅤㅤ2. ：清空本行命令 ㅤㅤ3. ：可以补全命令和文件名，如果补全不了快速按两下tab键，可以显示备选选项 ㅤㅤ4. ：列出当前目录下所有文件，蓝色的是文件夹，白色的是普通文件，绿色的是可执行文件 ㅤㅤㅤ●ㅤ ：查看所有文件包括隐藏文件（以.开头的文件就是隐藏文件） ㅤㅤㅤ●ㅤ ：查看当前路径下文件的读、写、执行权限 ㅤㅤㅤ●ㅤ ：查看ls下有多少个文件 ㅤㅤ5. ：显示当前路径 ㅤㅤ6. ：进入 目录下， 返回上层目录 ㅤㅤㅤ●ㅤ ：当前目录 ：上级目录 ㅤㅤㅤ●ㅤ ：家目录，回回到路径 下 ㅤㅤㅤ●ㅤ ：返回改变路径前的路径，比如当前在 然后 这个时候就处于/目录下，然后 就会回到改变路径前的路径也就是 ㅤㅤ7. ：将 文件复制成 ， 和 可以是同一个路径，比如 ，表示上层目录下的 文件夹下的文件 ㅤㅤㅤ●ㅤ 将 目录（…</description><pubDate>Mon, 01 Dec 2025 00:00:00 GMT</pubDate><category>Tools</category><category>linux</category><category>系统</category></item><item><title>Codeforces Edu学习 (ITMO Academy: pilot course) SegmentTree part 1-2 全</title><link>https://aaaaazbx.github.io/categories/Algorithms/knowledge/segmenttree</link><guid isPermaLink="true">https://aaaaazbx.github.io/categories/Algorithms/knowledge/segmenttree</guid><description>博主比较菜，从23年9月份开始学习Codeforces edu上的线段树专题，中间做的断断续续，到25年6月份才翻出来最后一题并AK掉了，主要为个人复习回顾用，所以一些地方不会讲的特别详细，建议再参考一下网上其他人的题解，后面博主有时间的话会把一些题目的题解补全。 Segment Tree, part 1 Step 1: theory, practice: 3 of 3 A. Segment Tree for the Sum 题意：线段树处理区间和 没什么好说的，线段树处理区间加。 B. Segment Tree for the Minimum 题意：线段树处理区间最小值 线段树处理区间最小值。 C. Number of Minimums on a Segment 题意：线段树处理区间最小值数量 记录mn为最小值，num为最小值数量 Step 2: theory, practice: 4 …</description><pubDate>Mon, 30 Jun 2025 00:00:00 GMT</pubDate><category>线段树</category><category>懒标记</category><category>线段树上二分</category></item></channel></rss>