摘要:
在求解最优化问题中,拉格朗日乘子法和 KKT 条件是两种最常用的方法。在有等式约束时使用拉格朗日乘子法,在有不等约束时使用 KKT 条件。 1 无约束条件 这是最简单的情况,解决方法通常是函数对变量求导,令求导函数等于 $0$ 的点可能是极值点。将结果带回原函数进行验证即可。 2 等式约束条件(拉格 阅读全文
摘要:
海森矩阵:是一个多元函数的二阶偏导数构成的方阵。 1. 二元函数的海森矩阵 如果不理解二元函数的泰勒展开可先阅读博客。 $$f(x_{0} + h,y_{0} + k) = f(x_{0},y_{0}) + \frac{h\cdot \frac{\partial }{\partial x} + k\ 阅读全文
摘要:
介绍对称性之前首先介绍下抽象函数 $f(x)$,这个含义是:将映射关系 $f$ 作用于括号内的东西,这里就是 $x$。 强调一下,$f$ 作用的对象是括号内的全体,所以不管括号内的式子长什么样子,需要整体看待。 一个映射关系 $f$ 就对应一个自变量为 $x$ 的函数图像,作用的结果就是函数值。 举 阅读全文
摘要:
做 KMP 算法首先需要计算一个叫做前缀表的东西。 如上图所示,前缀表里面记录的是最长相等的前后缀长度。 当 b 发生不匹配时,由于前缀表对应的数字是 1,即将数组 P 向右拖到索引为 1 的位置,如上右图。 发现还是匹配不上,继续看前缀表,这时的位置是 0,于是再拖动数组 P,如下作图所示。当不匹 阅读全文
摘要:
它最重要的作用就是用来:检查一个图是否存在环。 #define VERTICES 6 void Init(int parent[], int rank[]) { for (int i = 0; i < VERTICES; ++i) { parent[i] = -1; rank[i] = 0; // 阅读全文
摘要:
最大熵模型也是很典型的分类算法,它和逻辑回归类似,都是属于对数线性分类模型。 对一个随机事件的概率分布进行预测时,预测应当满足全部已知的约束,而对未知的情况不要做任何主观假设,也就是说对 未知的情况,概率分布最均匀(等概率),预测的风险最小,模型不会妄加揣测,因此得到的概率分布的熵是最大。 比如:对 阅读全文
摘要:
动态规划是一种算法思想,将原始问题拆分成规模更小且与原始问题性质相同的子问题,利用子问题的解得到原始问题的解。 动态规划的适用条件之一是存在重叠子问题。动态规划的实现方式可以是自顶向下或自底向上。 1)使用自顶向下实现时,通常使用递归实现,但这种方式通常会重复计算相同的子问题,导致时间复杂度很高。 阅读全文
摘要:
堆的结构可以分为大根堆和小根堆,是一个完全二叉树,而堆排序是根据堆的这种数据结构设计的一种排序。 大根堆:每个结点的值都大于其左孩子和右孩子结点的值。所以对任一棵子树:根节点的值都是最大的。 小根堆:每个结点的值都小于其左孩子和右孩子结点的值。所以对任一棵子树:根节点的值都是最小的。 堆可以采用数组 阅读全文
摘要:
先介绍一个分布:逻辑斯谛分布。 设 $X$ 是连续随机变量,且 $X$ 具有以下分布函数和概率密度: $$F(x) = P(X \leq x) = \frac{1}{1 + e^{-\frac{x-\mu}{\gamma}}} \\f(x) = F^{'}(x) = \frac{e^{-\frac{ 阅读全文
摘要:
决策树是一种基本的分类与回归方法,此处主要讨论分类的决策树。 所构造的决策树是一棵多叉树,非叶子结点代表特征或者属性,叶子结点代表输出的类别的集合,有向边则代表一种选择。 决策树的学习本质上是从训练集中归纳出一组分类规则,得到与数据集矛盾较小的决策树,同时具有很好的泛化能力。 决策树的路径:从根节点 阅读全文