基础数学
空间点到平面距离公式
平面法向量
向量的运算法则
数学之美—函数的泰勒(Taylor)展开式
线性代数
教程
笔记
人工智能数学基础-内积和外积
数学-矩阵计算(4)两种布局
矩阵向量求导(Matrix calculus)
排列方式的使用仅限于在分子分母都是列向量或者都是行向量的情况
A
=
[
a
1
a
2
a
3
a
4
]
x
=
[
x
1
x
2
]
A
x
=
[
a
1
x
1
+
a
2
x
2
a
3
x
1
+
a
4
x
2
]
=
[
b
1
b
2
]
A= \left[\begin{matrix} a_{1} & a_{2} \\ a_{3} & a_{4} \\ \end{matrix} \right] x= \left[\begin{matrix} x_{1} \\ x_{2} \\ \end{matrix} \right] Ax= \left[\begin{matrix} a_{1}x_{1} + a_{2}x_{2} \\ a_{3}x_{1} + a_{4}x_{2} \end{matrix} \right]= \left[\begin{matrix} b_{1} \\ b_{2} \end{matrix} \right]
A=[a1a3a2a4]x=[x1x2]Ax=[a1x1+a2x2a3x1+a4x2]=[b1b2]
那么分子布局(Numerator Layout,按照
A
x
Ax
Ax和
(
x
)
T
(x)^{T}
(x)T的布局,即结果的第i列是分母的每行元素对分子的第i行元素求导)可以写成
∂
A
x
∂
x
=
[
∂
b
1
∂
x
1
∂
b
1
∂
x
2
∂
b
2
∂
x
1
∂
b
2
∂
x
2
]
=
A
\frac{\partial Ax}{\partial x}=\left[\begin{matrix} \frac{\partial b_{1}}{\partial x_{1}} & \frac{\partial b_{1}}{\partial x_{2}} \\ \frac{\partial b_{2}}{\partial x_{1}} & \frac{\partial b_{2}}{\partial x_{2}} \\ \end{matrix} \right]=A
∂x∂Ax=[∂x1∂b1∂x1∂b2∂x2∂b1∂x2∂b2]=A
按分母布局(Denominator Layoout,按照
(
A
x
)
T
(Ax)^{T}
(Ax)T和
x
x
x的布局,即结果的第j列是分母的第i行对分子的每行元素求导)可以写成
∂
A
x
∂
x
=
[
∂
b
1
∂
x
1
∂
b
2
∂
x
1
∂
b
1
∂
x
2
∂
b
2
∂
x
2
]
=
A
T
\frac{\partial Ax}{\partial x}=\left[\begin{matrix} \frac{\partial b_{1}}{\partial x_{1}} & \frac{\partial b_{2}}{\partial x_{1}} \\ \frac{\partial b_{1}}{\partial x_{2}} & \frac{\partial b_{2}}{\partial x_{2}} \\ \end{matrix} \right]=A^{T}
∂x∂Ax=[∂x1∂b1∂x2∂b1∂x1∂b2∂x2∂b2]=AT
机器学习中,一般来讲是基于分母布局的,比如梯度
矩阵转置偏导数
看起来好像矩阵的转置的导数跟矩阵本身的导数是相同的
概率与统计
基础
概率论-wiki
数据挖掘中所需的概率论与数理统计知识
PR曲线、ROC曲线和AUC
Intuitive Explanation of the Gini Coefficient
大数定律和中心极限定理
大数定律 wiki
正态分布 wiki
中心极限定理
概率收敛、均方收敛、分布收敛等几个概率之间的区别和联系是什么? - 知乎
贝叶斯方法
先验概率与后验概率
极大似然估计详解
贝叶斯估计、最大似然估计、最大后验概率估计
贝叶斯估计是什么,就是根据先验概率
P
(
θ
)
P(\theta)
P(θ)和观测到的似然概率
P
(
X
∣
θ
)
P(X|\theta)
P(X∣θ),计算出后验概率
P
(
θ
∣
X
)
P(\theta|X)
P(θ∣X),可以理解为在观测到的样本的基础上,对参数
θ
\theta
θ的更新。
详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解
MLE隐含了参数取任何值的概率都一样,而MAP则考虑到了参数取不同值的概率是有差别的,有些值更容易取到,有些值不容易取到。比如扔十次硬币,十次都是正,那MLE估计得结果就是正的概率为1,但大家知道这明显不可能,所以要用到先验概率,就是上面所说,我们预先知道了取1几乎不可能
突然产生疑问,极大似然估计是用条件概率估计还是用联合概率估计啊,引用一下学校教材的话
接着我的疑问,实际上极大似然估计跟用谁没关系,而是看具体问题的建模角度,比如说在LR算法中,似然函数为
L
(
θ
)
=
∏
p
(
y
=
1
∣
x
i
)
y
i
p
(
y
=
0
∣
x
i
)
1
−
y
i
L(\theta)=\prod p(y=1|x_i)^{y_i}p(y=0|x_i)^{1-y_i}
L(θ)=∏p(y=1∣xi)yip(y=0∣xi)1−yi,从另一个角度来看,这个似然函数指的是当前数据集样本类别分布的概率,我们的建模的目标是类别判定的相关参数。因此我们并不关心样本特征和类别的联合分布概率,所以这里用的是条件概率,而没有用
∏
p
(
y
i
,
x
i
)
\prod p(y_i,x_i)
∏p(yi,xi)。
又比如在LSA里用的是联合概率分布,因为那个问题里的似然函数的含义是,整个语料库的文本的生成概率,因此,用的是
L
=
∏
m
∏
n
p
(
d
m
,
w
n
)
c
(
d
m
,
w
n
)
L=\prod_m \prod_n p(d_m,w_n)^{c(d_m,w_n)}
L=∏m∏np(dm,wn)c(dm,wn)
所以用谁,看你的建模角度而已。
采样方法
采样方法(一)
Inverse Sampling:从均匀分布里采样一个
a
a
a,作为目标分布的累积分布函数的逆函数
F
−
1
F^{-1}
F−1的输入,输出
F
−
1
(
a
)
F^{-1}(a)
F−1(a)就满足目标分布了,其中挂掉的公式是
F
(
x
)
=
∫
−
∞
x
p
(
x
)
d
x
F(x)=\int_{-\infty}^{x}p(x)dx
F(x)=∫−∞xp(x)dx
Rejective Sampling:挂掉的公式是
p
(
x
1
)
=
1.5
,
p
(
x
2
)
=
0.5
,
p
(
x
3
)
=
0.3
p(x_1)=1.5,p(x_2)=0.5,p(x_3)=0.3
p(x1)=1.5,p(x2)=0.5,p(x3)=0.3
Importance Sampling:挂掉的公式应该是
∫
x
f
(
x
)
p
(
x
)
=
∫
x
q
(
x
)
p
(
x
)
q
(
x
)
f
(
x
)
d
x
=
E
x
∼
q
(
x
)
[
p
(
x
)
q
(
x
)
f
(
x
)
]
=
E
x
∼
q
(
x
)
[
g
(
x
)
]
\int_{x} f(x)p(x)=\int_{x} q(x)\frac{p(x)}{q(x)}f(x)dx=E_{x \sim q(x)}[\frac{p(x)}{q(x)}f(x)]=E_{x \sim q(x)}[g(x)]
∫xf(x)p(x)=∫xq(x)q(x)p(x)f(x)dx=Ex∼q(x)[q(x)p(x)f(x)]=Ex∼q(x)[g(x)]意思就是说,如果我们不需要真正的从
p
p
p里抽取样本,只是为了计算一个期望,那就用不着真的去采样,可以用上面的方法从
q
q
q分布里采样样本,然后用这个样本去计算
g
(
x
)
g(x)
g(x),然后去求期望,取均值就ok了。
无法直接求得p(x)的情况:挂掉的公式应该是
∫
x
f
(
x
)
p
(
x
)
=
∫
x
q
(
x
)
p
(
x
)
q
(
x
)
f
(
x
)
d
x
=
∫
x
q
(
x
)
p
~
(
x
)
/
Z
p
q
~
(
x
)
/
Z
q
f
(
x
)
d
x
=
Z
q
Z
p
∫
x
q
(
x
)
p
~
(
x
)
q
~
(
x
)
f
(
x
)
d
x
=
Z
q
Z
p
∫
x
q
(
x
)
w
~
(
x
)
f
(
x
)
d
x
=
Z
q
Z
p
E
x
∼
q
(
x
)
(
w
~
(
x
)
f
(
x
)
)
\begin{aligned} \int_{x} f(x)p(x) &=\int_{x} q(x)\frac{p(x)}{q(x)}f(x)dx=\int_{x} q(x)\frac{\tilde{p}(x)/Z_p}{\tilde{q}(x)/Z_q}f(x)dx\\ &=\frac{Z_q}{Z_p}\int_{x} q(x)\frac{\tilde{p}(x)}{\tilde{q}(x)}f(x)dx=\frac{Z_q}{Z_p}\int_{x} q(x)\tilde{w}(x)f(x)dx\\ &=\frac{Z_q}{Z_p}E_{x \sim q(x)}(\tilde{w}(x)f(x)) \end{aligned}
∫xf(x)p(x)=∫xq(x)q(x)p(x)f(x)dx=∫xq(x)q~(x)/Zqp~(x)/Zpf(x)dx=ZpZq∫xq(x)q~(x)p~(x)f(x)dx=ZpZq∫xq(x)w~(x)f(x)dx=ZpZqEx∼q(x)(w~(x)f(x))
上面意思就是从q分布采样一批数据,然后均值作为输出
最终就可以推导出来
E
(
f
)
=
1
m
Z
q
Z
p
∑
i
=
1
m
w
~
(
x
i
)
f
(
x
i
)
=
∑
i
=
1
m
w
^
(
x
i
)
f
(
x
i
)
E(f)=\frac{1}{m} \frac{Z_q}{Z_p} \sum_{i=1}^{m} \tilde{w}(x_i)f(x_i)=\sum_{i=1}^{m} \hat{w}(x_i)f(x_i)
E(f)=m1ZpZq∑i=1mw~(xi)f(xi)=∑i=1mw^(xi)f(xi),这就告诉了我们,所以我们完全不用知道p(x)确切的计算值(不需要softmax),就可以近似地从中得到在p分布下E(f)的取值!!amazing! 原文这段写的有错,我给改了一下。
另外从这篇文章里我知道了,蒙特卡洛方法就特么是个近似求期望的东西。
有趣的马氏链及其平稳分布
MCMC(一)蒙特卡罗方法
MCMC是看明白了,但是,蒙特卡罗方法在这里,有啥用了呢= =
蒙特卡罗采样是什么,比如说求一个直径为1圆的面积,那么就在正方形里随机产生点,看落在圆里的频率是多少,那圆的面积大概就是多少。这一步实际上做的就是一个采样,我们用生成样本在圆里面的频率来估计了,落在圆里的概率。
蒙特卡洛采样也是,按照某个概率来采样样本,那么当样本多到一定程度的时候,这些样本的分布就近似于这个概率分布。这就是MCMC里蒙特卡洛方法的用处
MCMC(二)马尔科夫链
MCMC(三)MCMC采样和M-H采样
MCMC(四)Gibbs采样
这个P应该就是用稳定分布算出来的条件概率,MCMC采样就是通过一个已知分布里生成一定量的样本。然后这批样本的分布满足概率分布的要求。
样本分布
伯努利分布、二项分布、Beta分布、多项分布和Dirichlet分布与他们之间的关系,以及在LDA中的应用
在还不知道名字的分布这段里,每次实验结果都有k个可能,但实际采样下来,只能有一个可能,多项式分布中的
x
i
x_i
xi就指的是,多次式样后,第
i
i
i个结果出现的次数
就是把“抛硬币”换成“投骰子”
假设检验
方差分析(一): 方差分析的基本原理
卡方检验原理及应用
你的A/B测试结果有多靠谱?
文中的置信区间是-1%~ 11%,代表的含义是有百分之95的把握认定差值在这个-1%~ 11%区间内,由于有负值,所以不能说高。
如何理解 95% 置信区间? - 知乎
信息论
信息论:熵与互信息
【机器学习】信息量,信息熵,交叉熵,KL散度和互信息(信息增益)
ID3决策树中连续值的处理
数值概率
概率算法-Las Vegas
考虑用拉斯维加斯算法解决N皇后问题:
对于n后问题的任何一个解而言,每一个皇后在棋盘上的位置无任何规律,不具有系统性,而更象是随机放置的。由此容易想到下面的拉斯维加斯算法。
在棋盘上相继的各行中随机地放置皇后,并注意使新放置的皇后与已放置的皇后互不攻击,直至n个皇后已相容地放置好,或已没有下一个皇后的可放置位置时为止。注意这里解决的是找到其中一个方法,求不是求出N皇后的全部解。
概率算法-sherwood算法
蒙特卡洛算法简单理解与demo
抛硬币次数的期望
最小化交叉熵损失与极大似然
优化算法
基础
NPC问题
P、NP、NPC和NP-Hard相关概念的图形和解释
P问题、NP问题、NPC问题的概念及实例证明
数值优化
为什么说随机最速下降法(SGD)是一个很好的方法?
梯度下降(Gradient Descent)小结
搞清楚梯度和斜率的关系,斜率是一种梯度,但斜率是我们再二维平面之中方便理解而设计的一个概念,而在三维空间中再说斜率就不合适了。因为二维空间的曲线中可以有切线,但三维空间中的曲线只存在切面了。
梯度实际上代表的是函数的等高面的法向量,比如函数
f
(
X
)
∈
R
1
f(X)\in R^1
f(X)∈R1,其中
X
∈
R
n
X\in R^n
X∈Rn,那么如果且
y
1
≠
y
2
y_1\ne y_2
y1=y2,那么
f
(
X
)
=
y
1
f(X)=y_1
f(X)=y1和
f
(
X
)
=
y
2
f(X)=y_2
f(X)=y2分别代表了在
R
n
R^n
Rn空间里的两个曲面,这两个曲面不仅互不相交,并且完全“平行”,就是说如果一个向量是其中一个曲面在某点的法向量,那么这个向量也一定是另一个曲面在某点的法向量,
∂
f
(
X
)
∂
X
\frac{\partial f(X)}{\partial X}
∂X∂f(X)代表的就是这些曲面在不同位置的法向量,并且指向的是
f
(
X
)
f(X)
f(X)增大的方向
常见的几种最优化方法(梯度下降法、牛顿法、拟牛顿法、共轭梯度法等)
数值优化(Numerical Optimization)学习系列-线搜索方法(LineSearch)
牛顿法
有错误,
φ
(
X
)
=
f
(
X
k
)
+
▽
f
(
X
k
)
(
X
−
X
k
)
+
1
2
(
X
−
X
k
)
T
▽
2
f
(
X
k
)
(
X
−
X
k
)
\varphi(X)=f(X_k)+\bigtriangledown f(X_k)(X-X_k)+\frac{1}{2}(X-X_k)^T\bigtriangledown ^2f(X_k)(X-X_k)
φ(X)=f(Xk)+▽f(Xk)(X−Xk)+21(X−Xk)T▽2f(Xk)(X−Xk)这个式子不对,第二项应该是
(
X
−
X
k
)
T
▽
f
(
X
k
)
(X-X_k)^T\bigtriangledown f(X_k)
(X−Xk)T▽f(Xk)
注意牛顿法里提到了两种迭代方法
当用牛顿迭代法求
f
(
x
)
=
0
f(x)=0
f(x)=0的解的时候,迭代方法为
x
n
+
1
=
x
n
−
f
(
x
)
f
′
(
x
)
x_{n+1}=x_n-\frac{f(x)}{f'(x)}
xn+1=xn−f′(x)f(x),核心是用一阶泰勒展开式来拟合
f
(
x
)
f(x)
f(x)在
x
n
x_n
xn附近的情况
当用牛顿迭代法求
m
i
n
(
f
(
x
)
)
min(f(x))
min(f(x))的解的时候,迭代方法为
x
n
+
1
=
x
n
−
f
′
(
x
)
f
′
′
(
x
)
x_{n+1}=x_n-\frac{f'(x)}{f''(x)}
xn+1=xn−f′′(x)f′(x),核心是用二阶泰勒展开式来拟合
f
(
x
)
f(x)
f(x)在
x
n
x_n
xn附近的情况,并对这个二阶展开式对
x
x
x求导为0,找到这个二阶泰勒展开式的最小值点,然后循环迭代这个步骤
因为牛顿法求极值需要求Hessian矩阵及其逆矩阵,计算量比较大,所以机器学习之中一般不用
牛顿法与拟牛顿法学习笔记(二)拟牛顿条件
拟牛顿法与牛顿法的相同点在于,都是用二阶泰勒展开式去拟合当前目标函数
拟牛顿法与牛顿法的区别仅仅就在于,牛顿法的海森阵是直接对目标函数求导求出来的,而拟牛顿法是用一些方法去近似一个海森阵,如文中所说的,式子2.15其实只在
x
=
x
k
+
1
x=x_{k+1}
x=xk+1附近的极小邻域是成立的,而拟牛顿法中认为,这个式子在
x
=
x
k
x=x_{k}
x=xk的时候也近似成立,这就是拟牛顿法对于牛顿法的不同
牛顿法与拟牛顿法学习笔记(三)DFP 算法
共轭梯度算法 详细
深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
这篇文章看看例子就好了,KKT条件的推导是错误的
∇f(x,y)=λ(∇g(x,y)-C)这个写错了,应该是∇f(x,y)=λ∇(g(x,y)-C),对于
m
i
n
f
(
X
)
,
s
.
t
.
g
(
X
)
−
C
=
0
min f(X),s.t.\ g(X)-C=0
minf(X),s.t. g(X)−C=0,其实是在找一个等高面
f
(
X
)
=
y
f(X)=y
f(X)=y使得该等高面与曲面
g
(
X
)
−
C
=
0
g(X)-C=0
g(X)−C=0相切,满足这个条件的点(如果存在的话)
X
X
X就是最优解,所以就有了求解
∂
f
(
X
)
∂
X
=
λ
∂
(
g
(
X
)
−
C
)
∂
X
\frac{\partial f(X)}{\partial X}=\lambda \frac{\partial (g(X)-C)}{\partial X}
∂X∂f(X)=λ∂X∂(g(X)−C)且
∂
L
(
X
,
λ
)
∂
λ
=
(
g
(
X
)
−
C
)
=
0
\frac{\partial L(X,\lambda)}{\partial \lambda}=(g(X)-C)=0
∂λ∂L(X,λ)=(g(X)−C)=0
想象
m
i
n
x
1
2
+
x
2
2
,
s
.
t
.
x
1
2
+
1
=
x
2
min\ x_1^2+x_2^2,s.t.\ x_1^2+1=x_2
min x12+x22,s.t. x12+1=x2,由于
x
1
2
+
x
2
2
x_1^2+x_2^2
x12+x22的等高面是很多的圆,当与
x
1
2
+
1
=
x
2
x_1^2+1=x_2
x12+1=x2相切时,就是最优解
而KKT的推导错误我想了好久才想明白,也比较典型,因为如果按照文中的推导方法,那任何这类问题就都是强对偶的了,这明显是不对的。出错在
max
μ
min
x
L
(
x
,
μ
)
=
max
μ
[
min
x
f
(
x
)
+
min
x
μ
g
(
x
)
]
\max_\mu\min_xL(x,\mu)=\max_\mu[\min_xf(x)+\min_x\mu g(x)]
maxμminxL(x,μ)=maxμ[minxf(x)+minxμg(x)],这是不对的,因为
min
x
L
(
x
,
μ
)
\min_xL(x,\mu)
minxL(x,μ)是对
L
L
L整体对
x
x
x求极小,他并不等于
min
x
f
(
x
)
+
min
x
μ
g
(
x
)
\min_xf(x)+\min_x\mu g(x)
minxf(x)+minxμg(x),因为
f
(
x
)
f(x)
f(x)和
μ
g
(
x
)
\mu g(x)
μg(x)的极小点可能是不同的,所以这一步是错误的
约束优化方法之拉格朗日乘子法与KKT条件
简单记KKT,就是满足拉格朗日乘子大于0、满足原始约束、不等式约束和对应的拉格朗日乘子的积等于0
拉格朗日对偶
上文中有一些瑕疵
f
(
x
)
f(x)
f(x)与
max
α
,
β
;
β
≥
0
L
(
x
,
α
,
β
)
\max_{\alpha,\beta;\beta\ge0}L(x,\alpha,\beta)
maxα,β;β≥0L(x,α,β)的关系写的不太明白,实际上应该是
max
α
,
β
;
β
≥
0
L
(
x
,
α
,
β
)
=
{
f
(
x
)
,
i
f
x
满足原问题约束
+
∞
,
i
f
x
不满足原问题约束
\max_{\alpha,\beta;\beta\ge0}L(x,\alpha,\beta)=\begin{cases}f(x),&if&x满足原问题约束\\+\infty,&if&x不满足原问题约束 \end{cases}
α,β;β≥0maxL(x,α,β)={f(x),+∞,ififx满足原问题约束x不满足原问题约束所以才有
min
x
max
α
,
β
;
β
≥
0
L
(
x
,
α
,
β
)
=
min
x
f
(
x
)
\min_x \max_{\alpha,\beta;\beta\ge0}L(x,\alpha,\beta)=\min_xf(x)
minxmaxα,β;β≥0L(x,α,β)=minxf(x),因为对
min
x
max
α
,
β
;
β
≥
0
L
(
x
,
α
,
β
)
\min_x \max_{\alpha,\beta;\beta\ge0}L(x,\alpha,\beta)
minxmaxα,β;β≥0L(x,α,β)求极小等价于对
f
(
x
)
f(x)
f(x)和正无穷之中小的那个求极小,而这个极小值,就是我们原问题中所要求的,并且同时把一个有约束问题转化成了无约束问题,因为求这个极小值不需要考虑那些约束
对于
D
(
α
,
β
)
=
min
x
L
(
x
,
α
,
β
)
≤
L
(
x
,
α
,
β
)
≤
max
α
,
β
;
β
≥
0
L
(
x
,
α
,
β
)
=
f
(
x
)
D(\alpha,\beta)=\min_xL(x,\alpha,\beta)\le L(x,\alpha,\beta)\le \max_{\alpha,\beta;\beta\ge0}L(x,\alpha,\beta)=f(x)
D(α,β)=minxL(x,α,β)≤L(x,α,β)≤maxα,β;β≥0L(x,α,β)=f(x)的理解,代个数就容易理解了
D
(
2
,
3
)
=
min
x
L
(
x
,
2
,
3
)
≤
L
(
1
,
2
,
3
)
≤
max
α
,
β
;
β
≥
0
L
(
1
,
α
,
β
)
=
f
(
1
)
D(2,3)=\min_xL(x,2,3)\le L(1,2,3)\le \max_{\alpha,\beta;\beta\ge0}L(1,\alpha,\beta)=f(1)
D(2,3)=minxL(x,2,3)≤L(1,2,3)≤maxα,β;β≥0L(1,α,β)=f(1)
文中在介绍KKT条件的时候说的也不太清,如果满足强对偶性,且
x
∗
x^*
x∗和
a
∗
,
b
∗
a^*,b^*
a∗,b∗是原问题与对偶问题的解,那么如下等式成立
∵
D
(
α
∗
,
β
∗
)
=
d
∗
=
min
x
L
(
x
,
α
∗
,
β
∗
)
=
p
∗
=
max
α
,
β
;
β
≥
0
L
(
x
∗
,
α
,
β
)
=
f
(
x
∗
)
又
∵
D
(
α
,
β
)
=
min
x
L
(
x
,
α
,
β
)
≤
L
(
x
,
α
,
β
)
≤
max
α
,
β
;
β
≥
0
L
(
x
,
α
,
β
)
=
f
(
x
)
∴
p
∗
=
L
(
x
∗
,
α
∗
,
β
∗
)
=
d
∗
∴
min
x
f
(
x
)
+
∑
i
=
1
m
α
i
∗
h
i
(
x
)
+
∑
j
=
1
n
β
j
∗
g
j
(
x
)
=
f
(
x
∗
)
+
∑
i
=
1
m
α
i
∗
h
i
(
x
∗
)
+
∑
j
=
1
n
β
j
∗
g
j
(
x
∗
)
=
f
(
x
∗
)
\begin{aligned} &\because D(\alpha^*,\beta^*)= d^*=\min_xL(x,\alpha^*,\beta^*)= p^*=\max_{\alpha,\beta;\beta\ge0}L(x^*,\alpha,\beta) =f(x^*) \\ 又&\because D(\alpha,\beta)=\min_xL(x,\alpha,\beta)\le L(x,\alpha,\beta)\le \max_{\alpha,\beta;\beta\ge0}L(x,\alpha,\beta)=f(x)\\ &\therefore p^*=L(x^*,\alpha^*,\beta^*)=d^*\\ &\therefore \min_x f(x)+ \sum_{i = 1}^m \alpha_i^*h_i(x) + \sum_{j=1}^n\beta_j^*g_j(x) = f(x^*)+ \sum_{i = 1}^m \alpha_i^*h_i(x^*) + \sum_{j=1}^n\beta_j^*g_j(x^*) = f(x^*) \end{aligned}
又∵D(α∗,β∗)=d∗=xminL(x,α∗,β∗)=p∗=α,β;β≥0maxL(x∗,α,β)=f(x∗)∵D(α,β)=xminL(x,α,β)≤L(x,α,β)≤α,β;β≥0maxL(x,α,β)=f(x)∴p∗=L(x∗,α∗,β∗)=d∗∴xminf(x)+i=1∑mαi∗hi(x)+j=1∑nβj∗gj(x)=f(x∗)+i=1∑mαi∗hi(x∗)+j=1∑nβj∗gj(x∗)=f(x∗)
那么因为最后一个等式成立,所以KKT条件成立,因此这里KKT条件是一个必要条件
最优解一定满足KKT条件,如果原问题为凸优化问题,满足KKT条件的解也一定是最优解
组合优化
组合最优化
概论-组合最优化问题、计算复杂性和启发式算法概念(现代优化计算方法)
贪婪算法
贪心算法
从零开始学贪心算法
算法思想 – 贪心算法(1) – 基本概念及步骤
递归,分治算法,动态规划和贪心选择的区别
拟阵理论和贪心算法浅析
搜索算法
线性规划之单纯形法【超详解+图解】
如果有最优解,为什么单纯形最终一定会达到最优解?
局部搜索算法详解
搜索算法(篇一)
搜索算法(篇二)
学习总结:局部搜索
模拟退火算法
进化算法
遗传算法详解(GA)(个人觉得很形象,很适合初学者)
遗传算法入门到掌握(一)
遗传算法入门到掌握(二)
一文读懂遗传算法工作原理(附Python实现)
智能算法—蚁群算法介绍
蚁群算法(独辟蹊径的进化算法)
粒子群算法(1)----粒子群算法简介
粒子群算法(2)----标准的粒子群算法
粒子群算法(3)----标准的粒子群算法(局部版本)