线性规划,就是在一组线性约束条件的限制下,求一线性目标函数最大或最小的问题。
线性规划由三部分组成:
- 决策变量
- 目标函数
- 约束条件
形式
编程中,线性规划的标准形式为:
其中
线性规划,就是在一组线性约束条件的限制下,求一线性目标函数最大或最小的问题。
线性规划由三部分组成:
编程中,线性规划的标准形式为:
其中
隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。然后利用这些参数来作进一步的分析,例如模式识别。
HMM 模型是一种生成式模型。
HMM 模型中有 2 个相关序列,分别是状态序列和观测序列,HMM 模型具有以下规则:
设状态序列
则HMM 的基本假设为:
Spring Boot 源码分析——RequestContextHolder 与 ThreadLocal
笔者一直在思考 Shiro 如何通过 SecurityUtils
拿到当前用户。原来是对于每个 HTTP 请求,在 Java
中都会开启一个线程进行处理,这个线程内就存放了当前的请求与请求信息,Shiro
通过当前线程,就可以拿到对应的 HTTP 请求,从而拿到当前用户。
进一步考虑,Spring Boot 是如何实现这一过程的呢?Spring Boot 如何为每个请求分配线程,在线程中注入请求信息,又如何通过线程取出请求呢?
维数灾难(Curse of Dimensionality):通常是指在涉及到向量的计算的问题中,随着维数的增加,计算量呈指数倍增长的一种现象。
在机器学习中,随着数据集维数的增加,数据的计算量将呈几何倍数增加,同时样本间的距离会远远增大,这将导致样本数据失去其意义。
为了减少计算量、增加准确度,我们有必要按照一定的规则去除一些维度 (特征),这便是降维算法。PCA 算法就是机器学习中的典型降维算法。
如果学过概率论,我们知道高斯分布的公式如下:

AdaBoost 是一种典型的集成学习算法,通过对多个弱学习器的集合,构成一个强学习器。
graph LR weak1[弱学习器] weak2[弱学习器] weak...[...] weak3[弱学习器] strong[强学习器] weak1 --> strong weak2 --> strong weak... --> strong weak3 --> strong
贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。
根据贝叶斯公式,如果已知一个实例的特征,要求该实例属于哪个类别的概率最大,只需要知道该特征在每个类别种的概率即可!
即根据先验概率求解后验概率。
决策树如果任其自由生长,很容易产生过拟合。因此,我们有必要对决策树进行剪枝。
CART 剪枝算法从"完全生长"的决策树的底端剪去一些子树,使决策树变小(模型变简单),从而能够对未知数据有更准确的预测。
CART 剪枝的思想:
决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度,使用算法ID3, C4.5和C5.0生成树算法使用熵。这一度量是基于信息学理论中熵的概念。
熵 (entropy) 泛指某些物质系统状态的一种量度,某些物质系统状态可能出现的程度。亦被社会科学用以借喻人类社会某些状态的程度。