我的知识记录 | digSelf
digSelf

文章系列

按机器学习、最优化、算法、C/C++ 逆向和工程实践整理的文章阅读路线。

最优化理论基础

适合想补数学推导能力、理解机器学习优化问题的读者;建议具备线性代数和多元微积分基础;推荐从矩阵求导开始,再读优化问题、凸集、凸函数、凸性判定,最后进入拉格朗日对偶和 KKT 条件。

进入系列
最优化理论基础:常见优化问题凸性判定举例

最优化理论基础:常见优化问题凸性判定举例

通过具体的例子探讨如何判定常见优化问题中的函数是否为凸函数。凸性是优化领域中的一个关键概念,尤其是在凸优化问题中,凸性确保了局部最优解即为全局最优解。理解如何识别一个函数是否为凸函数对于有效地求解实际问题至关重要。
831
2024-08-18
最优化理论基础:判定凸函数

最优化理论基础:判定凸函数

了解如何识别凸函数对于解决实际问题至关重要,凸函数是优化理论和应用中的核心概念之一,它们具有许多优良的性质,特别是对于凸优化问题来说,找到局部最优解就等同于找到了全局最优解。
908
2024-08-16
最优化理论基础:矩阵求导

最优化理论基础:矩阵求导

向量和矩阵求导在机器学习、图像处理、最优化等领域的公式推导中经常用到。比如多元线性回归中损失函数是一个标量,每个输入都有多个属性,计算权重权重时就需要用到标量对向量的求导。此外,在计算神经网络梯度时,相比于求解参数矩阵里的单独每一个元素的梯度,使用向量和矩阵求导能极大增加效率。
305
2024-08-11

工具环境与桌面开发

适合需要复现开发环境、整理工程实践或查找桌面开发笔记的读者;建议具备基础 Linux 使用经验和 C++ 类概念;推荐先看远程开发环境配置,再看 MFC 控件使用笔记。

进入系列
MFC控件的使用:List Control和Tab Control

MFC控件的使用:List Control和Tab Control

记录 MFC 中 List Control 与 Tab Control 的初始化、事件处理和常用模板代码,方便后续项目复用。
MFC
3005
2022-01-25
CentOS7上配置Anaconda3并使用vscode远程连接jupyter

CentOS7上配置Anaconda3并使用vscode远程连接jupyter

本文记录了笔者在Centosy7服务器上搭建了jupyter notebook的实验环境和使用vscode远程连接jupyter notebook的过程。
3442
2021-09-02

C/C++ 逆向分析

适合已经学过 C/C++、想从汇编层理解程序行为的读者;建议熟悉指针、函数调用、栈、寄存器和常见汇编指令;推荐先读 main 函数和基本数据类型,再读选择、循环、switch-case、表达式生成和除法优化,最后理解虚函数机制。

进入系列
C++逆向:浅谈C++的虚函数机制

C++逆向:浅谈C++的虚函数机制

通过代码示例分析 C++ 虚函数机制,拆解虚指针、虚表、构造阶段填充和虚调用过程,帮助理解对象模型在汇编中的表现。
3149
2022-01-29
C++逆向:对main函数的分析和识别

C++逆向:对main函数的分析和识别

从程序入口的真实执行路径出发,分析 VC6 下 main 函数在反汇编中的识别方式,帮助理解运行库初始化与用户代码入口的关系。
3275
2021-09-02
C++逆向:基本数据类型在内存中的表现形式的分析

C++逆向:基本数据类型在内存中的表现形式的分析

围绕 C/C++ 基本数据类型,分析整数、浮点数、指针等对象在内存和汇编中的表现,为后续逆向识别变量语义打基础。
2727
2021-09-02

数据结构与算法

适合准备算法题或复习数据结构的读者;建议具备 C/C++、数组、递归和复杂度分析基础;推荐先读排序、二分、前缀和与差分,再补高精度、快速选择和杂项技巧,最后进入红黑树与 B 树。

进入系列
高级数据结构:B树的拆解与实现

高级数据结构:B树的拆解与实现

从磁盘访问成本和多叉树需求出发,拆解 B 树的节点结构、查找、插入和分裂过程,并给出实现思路。
4350
2022-08-17
高级数据结构:红黑树的拆解与实现

高级数据结构:红黑树的拆解与实现

红黑树的定义通俗理解,红黑树是一棵添加了额外限制的二叉排序树。它的本质还是一棵二叉排序树,只是添加了一些其他的规则,以使得它可以做到自平衡。
3224
2022-07-24
基础算法:杂项选讲

基础算法:杂项选讲

选择几个经典简单的算法来进行统一讲解,因为这些算法的思想和模板不需要单开一个章节来进行分开讲解。这些算法有:双指针、位运算的经典应用、整数有序离散化以及区间合并等内容...
2445
2021-08-24

机器学习基础与深度学习

适合系统补机器学习与深度学习基础的读者;建议具备 Python、矩阵运算和概率分布直觉;推荐先读 Pandas/NumPy,再读概率建模、线性模型、Logistic/Softmax,最后进入神经网络、CNN、RNN、Transformer 与 PCA。

进入系列
深入浅出主成分分析(PCA):从原理到推导的完全指南

深入浅出主成分分析(PCA):从原理到推导的完全指南

从降维与信息保留问题出发,推导 PCA 的目标函数、协方差矩阵和特征值分解,解释主成分如何概括高维数据结构。
5571
2025-07-16
告别循环,拥抱并行:一步步构建你自己的Transformer

告别循环,拥抱并行:一步步构建你自己的Transformer

从 RNN 的串行瓶颈出发,逐步构建自注意力、多头注意力、位置编码和掩码机制,理解 Transformer 的并行建模思想。
220
2025-07-13
序列之思:从零推导循环神经网络与注意力机制

序列之思:从零推导循环神经网络与注意力机制

面向序列建模问题,推导 RNN、Encoder-Decoder 与注意力机制,解释 Query、Key、Value 如何缓解长序列信息瓶颈。
297
2025-06-18