1. 程式人生 > >The CMA(Covariance matrix Adaptation) Evolution Strategy

The CMA(Covariance matrix Adaptation) Evolution Strategy

The CMA Evolution Strategy

最近,學習一些優化演算法,看到一種自適應協方差矩陣進化演算法,抽點時間研究一下。CMA是一種隨機的,不需要計算梯度的數值優化演算法。主要用來解決非線性、非凸的優化問題,屬於進化演算法的一類,具有隨機性。本文主要翻譯的:The CMA Evolution Strategy: A Tutorial,程式碼參見CMA-ES主頁,個人理解,歡迎批評指標。
主要內容如下:

  1. 前言知識
  2. CMA-ES 演算法
  3. matlab程式碼 解釋

1、前言知識

  • 正定矩陣的特徵分解
  • 多元正態分佈
  • 隨機優化
  • Hessian矩陣和協方差矩陣

正定矩陣的特徵分解

正定對稱矩陣C ,對於任意一個不為0的向量x,都有xTCx>0。矩陣C有標準的正交向量B=[b1,...,bn],特徵值d12,...dn2>0
即: Cbi=di2bi
標準的正交向量矩陣BTB=I
C的正交分解

C=BD2BT
C1=(BD2BT)1=BT1D2B1=BD2BT=B[
1d121d221dn2]BT

其中:
D2=DD=diag(d1,...,dn)2=diag(d12,.....dn2)
di是特徵值的平方根。協方差矩陣是個半正定的矩陣。

多元正態分佈

多元正態分佈Nm,C,m是均值,C是協方差。
對於一個二維向量x和一個正定實對稱矩陣C,方程xTCx=D,其中D是常量,描述了一箇中心在原點的橢圓。(參考PCA的相關知識)
中心在原點的橢圓協方差矩陣的幾何解釋如下圖:橢圓的主軸對應協方差的特徵向量,主軸長度對應於協方差的特徵值的大小。特徵分解