遺忘演算法 演算法概述

2021-07-14 05:37:07 字數 2604 閱讀 8103

一、遺忘演算法原理

能夠從未知的事物中發現關聯、提煉規律才是真正智慧型的標誌,而遺忘正是使用智慧型生物具備這一能力的工具,也是適應變化的利器,「遺忘」這一頗具負能量特徵的傢伙是如何實現發現這麼個神奇魔法的呢?

讓我們從巴甫洛夫的狗說起:狗聽到了鈴聲就知道開飯了。

鈴聲和開飯之間並不存在必然的聯絡,我們知道之所以狗會將兩者聯絡在一起,是因為巴甫洛夫有意的將兩者一次次在狗那兒重複出現。所以,重複是建立關聯的必要條件。

我們還可以想象,狗在進食的時候聽到的聲音還可能有鳥叫聲、風吹樹葉的沙沙聲,為什麼這些同樣具備重複特徵聲音卻沒有和開飯建立關聯呢?

細分辨我們不難想到:鈴聲和開飯之間不僅重複共現,而且這種重複共現還具備乙個相對穩定的週期,而其他的那些聲音和開飯的共現則是隨機的。

那麼遺忘又在其中如何起作用呢?

1、所有事物一視同仁的按相同的規律進行遺忘;

2、偶爾或隨機出現的事物因此會隨時間而逐漸淡忘;

3、而具有相對穩定週期重複再現的事物,雖然也按同樣的規則遺忘,但由於週期性的得到補充,從而可以動態的保留在記憶中。

在自然語言處理中,很多物件比如:詞、詞與詞的關聯、模版等,都具備按相對穩定重現的特徵,因此非常適用遺忘來處理。

二、相關演算法

那麼,用什麼來模擬遺忘呢?

提到遺忘,很自然的會想到艾賓浩斯遺忘曲線,如果這條曲線有個函式形式,那麼無疑是模擬遺忘的最佳建模選擇。遺憾的是它只是一組離散的實驗資料,但至少讓我們知道,遺忘是呈指數衰減的。另外有乙個事實,有的人記性好些,有的人記性差些,不同人之間的遺忘曲線是不同的,但這並不會從本質上影響不同人對事物的認知,也就是說,如果存在乙個遺忘的函式,它首先是指數形式的,其次在實用過程中,該函式的係數並不那麼重要。

這提醒我們,可以嘗試用一些指數形式的函式來代替遺忘曲線,然後用實踐去檢驗,如果能滿足工程實用就很好,這樣的函式公式並不難找,比如:退火演算法、半衰期公式。

三、牛頓冷卻公式

現在,我們來講乙個新的問題:根據使用者的投票,決定最近一段時間內的「熱文排名」。我們可以把「熱文排名」想象成乙個「自然冷卻」的過程:

1)任意時刻,**中所有的文章,都有乙個「當前溫度」,溫度最高的文章就排在第一位。

2)如果乙個使用者對某篇文章投了贊成票,該文章的溫度就上公升一度。

3)隨著時間流逝,所有文章的溫度都逐漸「冷卻」。

這樣假設的意義,在於我們可以照搬物理學的冷卻定律,使用現成的公式,建立「溫度」與「時間」之間的函式關係,輕鬆構造乙個「指數式衰減」的過程。

偉大的物理學家牛頓,早在17世紀就提出了溫度冷卻的數學公式,然後被後人稱作「

」用一句話概括:物體的冷卻速度,與其當前溫度與室溫之間的溫差成正比

數學公式:

其中,t(t) 是溫度 t 的時間 t 函式,h表示室溫,t(t) - h 表當前溫度與室溫的溫差,a 室溫與降溫速率之間的比例關係。

第一步:改寫方程,然後兩邊去積分。

第二步: 求積分的解,c為常數

第三步:假定在時刻t0,該物體的溫度是t(t0),簡寫為t0。帶入上面方程得到

第四步:將c帶入第二步的方程

假設室溫為0,那麼

本期溫度 = 上期溫度*exp(-(冷卻係數)*時間間隔)

同理:本期得分 = 上期得分*exp(-(冷卻係數)*時間間隔)

非主流自然語言處理 遺忘演算法系列(一) 演算法概述

一 前言 這裡 遺忘 不是筆誤,這個系列要講的 遺忘演算法 是以牛頓冷卻公式模擬遺忘為基礎 用於自然語言處理 nlp 的一類方法的統稱,而不是大名鼎鼎的 遺傳演算法 在 遺忘 這條非主流自然語言處理路上,不知不覺已經摸索了三年有餘,遺忘演算法也算略成體系,雖然仍覺時機未到,還是決定先停一下,將腦中所...

演算法初階1 演算法概述

天祿貔貅 王冬冬 技術部落格 1.1什麼是演算法?字面義 演算法就是用於計算的方法,通過這種方法可以達到預期的結果。專業定義 演算法是模型分析的一組可行的 確定的和有窮的規則。從程式設計角度 演算法由一系列求解問題的指令構成,能夠根據規則的輸入在有限的時間內獲得有效的輸出結果。演算法的五個特徵 有窮...

演算法總結 1 演算法概述

演算法 演算法 algorithm 在thomas h.cormen書中的定義是求解良說明的計算問題的工具。這裡提到的良說明就是完全符合iso標準而不存在任何歧義的說明。一般來說,問題陳述說明了期望的輸入和輸出。演算法則是描述乙個特定的過程來實現該輸入 輸出的關係。進入例子 演算法好比是菜譜,我們的...