凸优化问题标准形式以及条件23-24
局部最优解=全局最优解
证明:
无约束
无约束问题
- 换言之就是它的约束条件下的最优解的梯度方向垂直于化零空间即ax=0这条线
非负象限的极小化
线性规划问题
图解线性规划
补充笔记
HMM
import numpy as np
class HMM(object):
def __init__(self, N, M, pi=None, A=None, B=None):
self.N = N
self.M = M
self.pi = pi
self.A = A
self.B = B
def get_data_with_distribute(self, dist): # 根据给定的概率分布随机返回数据(索引)
r = np.random.rand()
for i, p in enumerate(dist):
if r < p: return i
r -= p
def generate(self, T: int):
'''
根据给定的参数生成观测序列
T: 指定要生成数据的数量
'''
z = self.get_data_with_distribute(self.pi) # 根据初始概率分布生成第一个状态
x = self.get_data_with_distribute(self.B[z]) # 生成第一个观测数据
result = [x]
for _ in range(T-1): # 依次生成余下的状态和观测数据
z = self.get_data_with_distribute(self.A[z])
x = self.get_data_with_distribute(self.B[z])
result.append(x)
return result
if __name__ == "__main__":
pi = np.array([.25, .25, .25, .25])
A = np.array([
[0, 1, 0, 0],
[.4, 0, .6, 0],
[0, .4, 0, .6],
[0, 0, .5, .5]])
B = np.array([
[.5, .5],
[.3, .7],
[.6, .4],
[.8, .2]])
hmm = HMM(4, 2, pi, A, B)
print(hmm.generate(10)) # 生成10个数据
# 生成结果如下
[0, 0, 1, 1, 1, 1, 0, 1, 0, 0] # 0代表红球,1代表白球
- 三个hmm的基本问题
- 两个基本假设
前向计算(顶不住了下章在搞吧)
优化初探(内容均来自以下专栏)属于二次消化
- 这个专栏似乎更贴近优化本身
矩阵向量求导(在回首)
- 文中引入了两个数分中的简化公式用来矩阵求导
求导例子
-
这个有点印象,再次留下悔恨的泪水
-
反证
-
这个在上面优化学习里证过,有所衍生
-
花书中有提及
-
迭代–方向和步长