人工智能:模擬退火初始溫度值的計算

1.模擬退火法簡介

模擬退火法是一種狀態空間的局部搜索算法,它屬於比較通用的尋找最優解的算法。

模擬退火算法從某一較高初溫出發,伴隨溫度參數的不斷下降,結合概率突跳特性在解空間中隨機尋找目標函數的全局最優解,即在局部最優解能概率性地跳出並最終趨於全局最優。

2.模擬退火法算法描述

function Simulated-Annealing(problem, schedule) returns a solution state
inputs: problem, a problem schedule, a mapping from time to “temperature”
local variables: current, a node next, a node T, a “temperature” controlling prob. of downward steps
current←Make-Node(Initial-State[problem])
for t← 1 todo
    T←schedule[t]
    if T = 0 then return current
    next←a randomly selected successor of current
    ΔE←Value[next] – Value[current]
    if ΔE > 0 then current←next
    else current←next only with probability p

注:
①p = eΔE/T

3.模擬退火法的優勢

模擬退火算法的主要優點之一就是能以一定的概率接受目標函數值不太好的狀態, 這使得該算法即便落入局部最優的陷阱中,理論上經過足夠長的時間也可以跳出局部最優

4.模擬退火法初始溫度的重要性

由模擬退火法的優勢可以知道,模擬退火算法相對於爬山法來說,它可以從局部最優的陷阱中走出來,形象點說就是它可以“智能地下山”。從算法描述可以看出,該算法由一個概率決定該算法是否會選擇”下山”, 這個概率就是p=eΔE/T , T爲當前的溫度,因此選擇一個退火策略很重要。退火策略一般是設定一個溫度初始值,然後根據實際情景設計迭代次數進行溫度下降,當迭代滿足次數時候,該算法就會終止。因此對於模擬退火法來說,合理設計一個初始溫度值很重要,因爲溫度它影響着選擇”下山”的概率,如果概率不合理,模擬退火算法可能從一個局部最優解走不出來,得不到全局最優解。

5.模擬退火法初始溫度值的計算方法

從google學術中找到關於模擬退火法的論文,它們多數都是優化退火策略的研究。其中一篇論文(作者是Hajek), 他提出要保證找到全局最優解所需要的迭代次數是很多的。在迭代的過程中,從一個狀態i到一個狀態j的轉換概率可以表示如下:

Pij = Gij * Aij , 其中Gij 是狀態生成概率(generation probability), Aij 是可接受概率(acceptance probability)

在這篇論文中, 作者給出了Aij 的計算方法:

Aij = exp(EjEiT ) if Ej > Ei ,and Aij = 1 otherwise

通俗點講,Aij 就是eΔE/T

對於Gij , 假設狀態生成概率是對稱的(即Gij = Gji ), 那麼對於處於平衡狀態的系統,我們就可以使用麥克斯韋-玻爾茲曼分佈去描述:

這裏寫圖片描述

其中,N(i)表示狀態i附近的狀態數目

根據Hajek的這篇論文,WALID BEN-AMEUR給出了一個對於在溫度T下面計算狀態轉換可以接受的概率公式:

這裏寫圖片描述

根據概率估計的方法,可以得出下面的公式:

這裏寫圖片描述

有了可接受概率的近似估計公式之後,我們使用可接受概率的近似值替代複雜的可接受概率計算公式,從而簡化初始溫度值的計算複雜度。

計算模擬退火法溫度值的方法

Step 1

(a)爲了計算χˆ (T ) ,估算樣本||s||的數目

(b)隨機產生並存儲||s||的正變換(正變換意思是說變換後的狀態值要比變換前的狀態值要大,即Δ E > 0)

(c)設定T1,T1是嚴格的正數,設置n=1(T1可能會比初始溫度T0離得很遠,但最後還是可以通過溫度迭代的計算不斷逼近T0)

Step 2

(a) 計算χˆ (Tn)

(b)If |χˆ(Tn)χˆ(0)|ε return Tn(χˆ (0)是一開始定義的可接受概率,通過不斷迭代,當χˆ (Tn)靠近χˆ (0)時候,則溫度T1收斂到T0)

otherwise

-Tn+1 = Tn * χˆ (Tn)

-n = n + 1

-go to Step2 (a)

End

關於該方法的具體證明以及實踐應用,可以參考WALID BEN-AMEUR的論文

Computing the Initial Temperature of Simulated Annealing

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章