從數學到實現,全面回顧高斯過程中的函數最優化

2020-12-05 機器之心Pro

高斯過程可以被認為是一種機器學習算法,它利用點與點之間同質性的度量作為核函數,以從輸入的訓練數據預測未知點的值。本文從理論推導和實現詳細地介紹了高斯過程,並在後面提供了用它來近似求未知函數最優解的方法。

我們回顧了高斯過程(GP)擬合數據所需的數學和代碼,最後得出一個常用應用的 demo——通過高斯過程搜索法快速實現函數最小化。下面的動圖演示了這種方法的動態過程,其中紅色的點是從紅色曲線採樣的樣本。使用這些樣本,我們試圖利用 GP 儘快找到曲線的最小值。

附錄包含(i)高斯回歸後驗推導; (ii)SKLearn 的 GP 實現;(iii) GP 分類器的快速回顧。

前言

高斯過程(GP)是處理以下一般問題的一個工具:函數 f(x) 在 n 個點採樣,並得到一組有噪聲 [1] 的函數度量值 {f(xi)=y_i ± σ_i,i=1,…,n}。那麼若給定這些可用的樣本,且 f hat 為一些候選函數,我們是否就能估計出 f =f hat 的概率?

為了逐步明確上述問題,我們首先應用貝葉斯法則,

上式左邊的數值是所求概率的簡寫,即給定樣本函數值 {y} 的條件下 f=f hat 的概率。在上式的右邊,分子中的第一項需要我們對測量過程中的誤差來源做一些假設,分子中的第二項是先驗概率,在這裡我們必須採用最合理的假設。例如,我們將在下面看到先驗概率有效地決定了 f 函數在給定平滑度的概率。

在 GP 方法中,右式中兩個分子都服從多元正態/高斯分布。模型可以選擇高斯的具體參數來達到良好的擬合度,但特徵的正態族假設對於解決數學問題是必不可少的。採用這種方法,我們可以通過分析寫出後驗概率,然後用在一些應用和計算中。例如,我們使用這種方法來獲得文中最開始處圖片上的曲線,即通過擬合 GP 後驗概率中隨機抽樣而得到曲線估計,在兩個收縮點處被固定為相等的測量值。後驗樣本對於可視化和求蒙特卡洛的平均值都很有用。

在本文中,我們做的工作有:

(i)回顧計算上述後驗概率所需的數學運算;

(ii)討論數值評估,並使用 GP 來擬合一些實例數據;

(iii)回顧擬合的 GP 如何快速最小化成本函數,例如機器學習中的交叉驗證分。

附錄包括高斯過程回歸推導,SKLearn 的 GP 實現和 GP 分類器的快速回顧。

我們的 GitHub 提供了簡單的高斯過程示例:https://github.com/EFavDB/gaussian_processes

注意:為了理解這篇文章中的數學細節,應該熟悉多元正態分布。但如果主要對應用感興趣,可以忽略這些細節。

後驗分析評估

為了計算 (1) 式左邊的值,我們要先計算右邊的值。因為分母不依賴 f hat,我們只需要考慮分子中的項。這意味著分母必須是所有候選函數共有的歸一化因子。在本節中,我們先將分子兩項的估計公式寫出來,然後考慮後驗概率。

我們要做的第一個假設是,假如實際函數是 f hat,那麼我們的測量值 y 關於 f hat 是獨立的並且服從高斯分布。這個假設意味著方程 (1) 右邊的第一項是:

上式中的 y_i 是我們樣本點的實際測量值,σ_i 方是它們的方差不確定度。

第二個假設是,假設先驗概率 p(f hat)的公式。我們將注意力集中在一組數據點點 {x_i : i=1,…,N} 上,其中前 n 個點是已被抽樣的點,剩下的(N-n)個點是其他位置的測試點,即我們用來估計 f 函數聯合統計數據的點。接下來,簡單地假設這些點服從 f 的多元正態分布,由協方差矩陣Σ來控制,由此得到

這裡,我們簡寫 f_i≡f(x_i)。請注意,我們已經默認上面正態分布的均值是零。這是為了簡便起見:如果非零均值合適,那麼可以與均值相加分析,或者從原始 f 中減去非零均值使新的分布均值為零。

Σ的特殊形式是在 GP 建模時最需要建模者觀察力和獨創性的地方。對研究主題非常熟悉的研究者可以構建非常好且非常複雜的先驗概率,而這種先驗通常是各項求和的形式,其中每一項都在所討論問題的數據基礎上加入了一些物理相關的貢獻。在這篇文章中,我們假設一個簡單的公式,

注意,這個假設下,如果 x_i 和 x_j 很接近,那麼指數近似等於 1。這確保了附近的點高度相關,從而使所有高概率函數變得平滑。當兩測試點遠離時,式 (4) 中的衰減速率由長度參數 l 控制。如果 l 很大(小),曲線將在一個很長(短)的距離上平滑。我們將在下一節中說明這些問題,並在下下節中解釋如何從已有的樣本數據中推斷合適的長度參數。

現在,如果我們把式 (2) 和式 (3) 代入式 (1),將得到後驗概率 p(f1|{y}) 的表達式。這是一個指數函數,它的獨立變量是 f_i 函數中的二次項。也可以說,與前驗概率一樣,後驗概率服從多變量正態分布。通過簡單計算,就可以得到這個分布均值和協方差的明確表達式:使用塊(符號),其中 0 對應於採樣點,1 對應於測試點,測試點的邊緣分布是

y 是測量值的向量,長度為 n,

方程 (5) 是高斯過程回歸的一個主要結果——有了這個結果,我們就可以評估後驗概率了。注意,在採樣值 y 中所有點的均值是線性的,並且在測量值附近每個點處的方差減小。如果你有興趣仔細推導這個結果,可以參考我們的附錄,在那裡有兩個推導。但是,在接下來的正文中,我們僅簡單地探討這個公式的應用。

後驗概率的數值計算

在本節中,我們將介紹式 (5) 的兩個典型應用:(i)在測試點 x 處評估後驗分布的均值和標準差,(ii)從後驗概率中直接採樣函數 f_hat。前者可以獲得 f 函數在所有位置的置信區間,而後者可以用來實現可視化和從後驗概率中獲得一般的蒙特卡洛平均值。這兩個概念都在這篇文章的標題圖片中進行了說明:圖片中,我們將 GP 擬合一個已有兩個測量點的一維函數。藍色陰影區域表示每個位置函數值的一個σ置信區間,彩色曲線是後驗樣本。

我們的 SimpleGP fitter 類的代碼可以在 GitHub 上找到。我們將在下文中解釋他是如何工作的,但如果對細節感興趣應該仔細查閱代碼。

區間

下面的代碼對我們的 SimpleGP 類進行了初始化,定義了一些樣本位置、樣本值和不確定性,然後評估了一組測試點後驗概率的均值和標準差。簡而言之,這個過程如下:通過擬合評估了出現在式(5)中的逆矩陣

,並保留結果供以後使用,這可以避免在每個測試點中重新評估這個逆矩陣。接下來,通過調用區間,針對每個測試點再次評估式 (5)。

# Initialize fitter -- set covariance parameters

WIDTH_SCALE = 1.0

LENGTH_SCALE = 1.0

model = SimpleGP(WIDTH_SCALE, LENGTH_SCALE, noise=0)

# Insert observed sample data here, fit

sample_x = [-0.5, 2.5]

sample_y = [.5, 0]

sample_s = [0.01, 0.25]

model.fit(sample_x, sample_y, sample_s)

# Get the mean and std at each point in x_test

test_x = np.arange(-5, 5, .05)

means, stds = model.interval(test_x)

在以上代碼塊中,WIDTH_SCALE 和 LENGTH_SCALE 用來指定協方差矩陣式(4)。前者對應於等式中的σ,後者對應於 l。增加 WIDTH_SCALE 對應於未知函數大小不確定度的增加,增加 LENGTH_SCALE 對應於增加我們期望的函數平滑程度。下圖說明這些問題:這裡,通過設置 WIDTH_SCALE = LENGTH_SCALE = 1 獲得藍色區間,通過設置 WIDTH_SCALE = 0.5 和 LENGTH_SCALE = 2 獲得橙色區間。結果是橙色相對藍色後驗估計更加緊密平滑。在這兩幅圖中,實曲線表示後驗分布均值,豎線表示一個σ置信區間。

後驗採樣

為了從後驗概率中採樣實際函數,我們將再次簡單地評估式 (5) 中的均值和協方差矩陣,這次是對我們所求採樣函數的多個測試點進行。一旦我們有了這些測試點後驗概率的均值和協方差矩陣,我們可以使用多元正態採樣的外部庫從 (5) 中抽取樣本——為此,我們使用了 python 中的 numpy。下面代碼的最後一步執行這些步驟。

# Insert observed sample data here.

sample_x = [-1.5, -0.5, 0.7, 1.4, 2.5, 3.0]

sample_y = [1, 2, 2, .5, 0, 0.5]

sample_s = [0.01, 0.25, 0.5, 0.01, 0.3, 0.01]

# Initialize fitter -- set covariance parameters

WIDTH_SCALE = 1.0

LENGTH_SCALE = 1.0

model = SimpleGP(WIDTH_SCALE, LENGTH_SCALE, noise=0)

model.fit(sample_x, sample_y, sample_s)

# Get the mean and std at each point in test_x

test_x = np.arange(-5, 5, .05)

means, stds = model.interval(test_x)

# Sample here

SAMPLES = 10

samples = model.sample(test_x, SAMPLES)

注意在第 2-4 行中,我們添加了一些附加的函數樣本點(為了好玩)。最後的區間和後驗樣本如下圖所示。注意到在採樣點附近,後驗結果非常理想。然而,在圖的左側,一旦我們移動的距離≥1(即協方差矩陣 (4) 中的長度參數),後驗就趨近於先驗。

選擇協方差超參數

之前,我們證明了我們的協方差的長度參數顯著地影響後驗概率的區間形狀以及其中的樣本。適當設置這些參數是使用 GP 的一個普遍難點。在這裡,我們描述兩種方法,可以巧妙地設置超參數,並給出一些採樣數據。

交叉驗證

交叉驗證是設置超參數的標準方法。這需要將可用的樣本數據分為訓練集和驗證集。訓練集通過一系列超參數進行 GP 擬合,然後在已有的驗證集上評估模型的準確性。然後,通過選擇不同的超參數重複這個過程,選擇可以使驗證集表現最優的一組。

邊緣似然最大化

通常情況下,人們傾向於將 GP 應用於評估樣本有較高成本的情況。這意味著人們通常在只有少數樣本可用的情況下使用 GP。這種情況下,隨著訓練點數量的增加,最優超參數可以快速變化,意味著通過交叉驗證得到的最優選擇可能遠不如訓練一個完整樣本集得到的最優集合 [3]。

設置超參數的另一種常見方法是使邊緣似然最大化。這就是說,我們試圖最大化已關察樣本的可能性,因而在可用超參數的基礎上進行優化。具體來說,就是通過對未知的 f hat 進行積分來評估邊緣似然 [4]。

我們可以像附錄中評估後驗分布那樣直接進行積分。但更快的方法是注意到 f 積分後,y 值服從如下的正態分布

其中σ^2 * I_00 在式(6)中定義,由此得出,

上面兩項是矛盾的:第二項通過找出使指數最大的協方差矩陣來減小,最大化指數使數據過度擬合。然而,第一項與第二項相反,第一項是高斯積分的歸一化因子,它隨著衰減長度變短和對角線偏差降低而變大,相當於抑制複雜度的正則項。

實際中,為了使式 (10) 最大,通常利用梯度的解析表達式和梯度下降法,這是 SKLearn 採取的方法。模型的一個優點是能夠優化 GP 的超參數。然而,式(10)不一定是凸的,通常存在多個局部最小值。為了獲得一個好的最小值,可以嘗試在一些優秀的初始點上進行初始化。或者可以在隨機點重複初始化梯度下降,最後選擇最優解。

函數最小搜索和機器學習

現在我們將介紹 GP 的一個常用的應用:快速地搜索函數最小值。在這個問題中,我們可以迭代獲得函數的噪聲樣本,從而儘快識別函數的全局最小值。梯度下降可以應用於這種情況,但是如果函數不具備凸性,通常需要重複採樣。為了減少所需的步驟/樣本的數量,可以嘗試應用更一般的探索式策略,即平衡「優化當前已知最小值的目標」與「尋找可能更小的新局部最小值的目標」。GP 後驗為開發這樣的策略的提供了一個天然的起點。

GP 搜索法的想法是在 GP 後驗的基礎上獲得一個得分函數。這個得分函數用來對搜索給定點的信息進行編碼,它可以對探索(explore)和利用(exploit)形成一種權衡。一旦每個點都進行評分,那麼具有最大(或最小,最合適的)分數的點將會被採樣。然後迭代重複該過程直到找到一個符合要求的解為止。我們將在下面討論四種可能的選擇,並給出一個例子。

高斯置信下界(GLCB)

GLCB 在每點的評分方式為

這裡,μ和σ是函數在 x 處的均值和標準差的 GP 後驗估計值,κ是控制參數。請注意,第一項μ(x)鼓勵利用最可靠的局部最小值,並在它的周圍執行搜索。類似地,第二項κσ鼓勵在當前 GP 最不確定真實函數值的點上進行探索。

改進的高斯概率(GPI)

如果目前為止所看到的最小值是 y,則可以利用該點處的真實函數值小於 y 的概率來給每個點評分。也就是說,我們可以寫為

高斯預期改進(EI)

上式常見的變形叫做預期改進,定義為

這個得分函數傾向於鼓勵更多地去探索而不是改善概率,因為它更重視不確定性。

概率最小值

要得到的最終得分函數是問題中最小值的概率。獲得這個分數的一個方法是進行多次後驗採樣。對於每個樣本,首先標記它的全局最小值,然後採取多數投票方法來決定接下來的樣本。

本文最開始處的動圖展示了一個實際的 GP 搜索,使用 skopt[5] 在 python 中執行。左邊的紅色曲線是正在尋找全局最小值的(隱藏)曲線 f。紅點是目前已經獲得的樣本,綠色陰影曲線是每個點的 GP 後驗置信區間,該置信區間會隨著更多樣本的獲得而逐漸改進。右邊是通過在 GP 後驗基礎上分析得到的每點的預期改進(EI)得分函數——該例中用於指導搜索的得分函數。該過程用五個隨機樣本進行初始化,然後進行引導搜索。請注意,隨著過程的演變,前幾個樣本集中利用已知的局部最小值。但經過幾次迭代後,繼續對這些位置採樣的收益減小,探索中間點的需求佔了上風——中間點是發現的實際全局最小值的點。

討論

在這篇文章中,我們概括了大部分 GP 的數學運算:得到後驗概率所需的數學,如何進行後驗採樣,最後討論了如何實際應用後驗概率。

總的來說,GP 代表了一個可以擬合任何函數的強大工具。實際中,使用這個工具的挑戰主要在於合適超參數的選擇,尋找合適的參數經常被困在局部最小,使擬合失效。不過,如果選擇得當,GP 的應用可以提供一些有價值的性能提升。

附錄中討論了關於 GP 的其他話題。如果對更多的細節感興趣,我們可以推薦 Rasmussen 和 Williams 的免費在線文本 [6]。

附錄 A:後驗推導

本附錄中,我們提出後驗推導(5)的兩種方法。

方法 1

先平方,結合式(2)和式(3),簡單地計算得出

這裡,(1/σ^2) * I 在式(6)中被定義,但在樣本集外的所有行中都為零。為了得到式(5),我們必須統一為正文中逆矩陣的分塊結構。

首先,我們可以得出

這裡我們使用了分塊表示法。為了計算上述的逆矩陣,我們將利用分塊矩陣求逆公式,

矩陣(A2)中塊 C = 0、D = 1,這大大簡化了上述過程。代入後得到

利用這個結果和(A1),我們可以得到測試集的平均值

其中第二行的分子分母同時乘了 (1/σ^2) * I_00 的逆。類似地,測試集的協方差由(A3)的右下塊給出。得到,

由(A4)和(A5)得出式(5)。

方法 2

在第二種方法中,我們考慮一組測試點 f_1 和一組觀測樣本 f_0 的聯合分布,我們再次假設密度函數的均值為零。那麼兩者的聯合概率密度是

現在,我們利用結果

式(5)的得出需要利用上述兩個表達式。主要的困難在於平方,類似於之前的推導,這可以通過分塊矩陣求逆公式來完成。

附錄 B:SKLearn 實現和其他內核

SKLearn 提供了包含 GaussianProcessRegressor 的類。使得可以在任何維度上進行擬合和採樣——即它比我們的最小類更一般,因為它可以在多維上擬合特徵向量。另外,SKLearn 類的擬合方法嘗試為一組給定的數據找到一組最佳的超參數。如上所述,這是通過邊緣似然的最大化來完成的。這裡,我們提供一些關於這個類的基本注釋和可以用來定義(3)中協方差矩陣Σ的內核函數,以及一段說明調用的簡單代碼。

預定義的核函數

徑向基函數(RBF):這是默認值,相當於式(4)。RBF 由一個尺度參數 l 表徵,多維情況下,可以是一個允許各向異性相關長度的向量。White kernel:The White Kernel 用於噪聲估計——文檔建議用於估計全局噪聲水平,但不是逐點。Matern:這是一個廣義的指數衰減,其中指數是分離距離的冪律。特殊限制包括 RBF 和絕對距離指數衰減。有理二次方程:(1+(d / l)2)α。Exp-Sine-Squared:它允許模擬周期性函數。類似於 RBF,但其距離是實際距離的正弦。存在周期性參數和「方差」——高斯抑制(Gaussian suppression)的尺度。點積核函數:格式為 1 +xixj。它不是穩定的,就是說如果加入一個常量的平移,結果就會改變。如果把 N(0,1)的先驗值放在係數上,將得到線性回歸分析的結果。核函數作為對象:可以支持核函數之間的二進位操作以創建更複雜的核函數,例如加法、乘法和指數(後者只是將初始核函數提升為冪)。你可以通過一些輔助函數來訪問核函數中的所有參數,例如 kernel.get_params().kernel.hyperparameters 是所有超參數的列表。

參數

n_restarts_optimizer:重新擬合的次數,用於探索多個局部最小值,默認值是零。alpha:這個可選參數允許每個測量都傳遞不確定性。normalize_y:用來表示我們正在尋找的 y 的平均值不一定是零。

調用示例

下面的代碼進行了一次簡單擬合,結果是本文最開始展示的圖片。

from sklearn.gaussian_process.kernels import RBF, ConstantKernel as C

from sklearn.gaussian_process import GaussianProcessRegressor

import numpy as np

# Build a model

kernel = C(1.0, (1e-3, 1e3)) * RBF(10, (0.5, 2))

gp = GaussianProcessRegressor(kernel=kernel, n_restarts_optimizer=9)

# Some data

xobs = np.array([[1], [1.5], [-3]])

yobs = np.array([3, 0, 1])

# Fit the model to the data (optimize hyper parameters)

gp.fit(xobs, yobs)

# Plot points and predictions

x_set = np.arange(-6, 6, 0.1)

x_set = np.array([[i] for i in x_set])

means, sigmas = gp.predict(x_set, return_std=True)

plt.figure(figsize=(8, 5))

plt.errorbar(x_set, means, yerr=sigmas, alpha=0.5)

plt.plot(x_set, means, 'g', linewidth=4)

colors = ['g', 'r', 'b', 'k']

for c in colors:

y_set = gp.sample_y(x_set, random_state=np.random.randint(1000))

plt.plot(x_set, y_set, c + '--', alpha=0.5)

關於 sklearn 實現的更多細節可以在這裡找到:http://scikit-learn.org/stable/modules/generated/sklearn.gaussian_process.GaussianProcessRegressor.html

附錄 C:GP 分類器

這裡,我們說明通常 GP 如何被用來擬合二進位類型數據,響應變量 y 可以取 0 或 1 的數據。GP 分類器的數學運算不像 GP 回歸那樣清楚。因為 0/1 響應不是高斯分布的,意味著後驗概率也不是。為了利用該程序,可以通過拉普拉斯(Laplace)近似正常地對後驗概率近似。

首先寫這樣一個公式,表示在 x 處看到一個給定的 y 值的概率。具體如下,

這個公式是 logistic 回歸的一個正常非線性泛化。此外,f 的先驗概率再次得到等式(3)。使用此式和(A8),我們可以得到 f 的後驗概率

相關焦點

  • 高斯函數---最接近上帝的函數
    ,如果讓我選擇一個最特別的函數,我會選擇高斯函數。而且,我將高斯函數稱為最接近上帝的函數。我曾經將Fourier變換比作西遊記中的照妖鏡。在照妖鏡裡仍不能現出原形的大抵只能是法力很高的東西了。而在函數群體裡,高斯函數的確有這種特質:即使你用照妖鏡,你看到的仍然是一個高斯函數。也就是,高斯函數的Fourier變換仍然是高斯函數。用數學的語言來說,就是高斯函數是Fourier變換的特徵函數。
  • 高斯函數 ——最接近上帝的函數
    高斯函數的確有很多特別之處,雖然我並不能夠真正完全洞悉它的內在,但我依然認為它是最接近上帝的函數。在前面的博文裡,我曾經將Fourier變換比作西遊記中的照妖鏡。在照妖鏡裡仍不能現出原形的大抵只能是法力很高的東西了。而在函數群體裡,高斯函數的確有這種特質:即使你用照妖鏡,你看到的仍然是一個高斯函數。也就是,高斯函數的Fourier變換仍然是高斯函數。用數學的語言來說,就是高斯函數是Fourier變換的特徵函數。
  • 《數學博覽》 數學家高斯
    高斯的數學研究幾乎遍及所有領域,在數論、代數學、非歐幾何、複變函數和微分幾何等方面都做出了開創性的貢獻。他還把數學應用於天文學、大地測量學和磁學的研究,發明了最小二乘法原理。高理的數論研究 總結 在《算術研究》(1801)中,這本書奠定了近代數論的基礎,它不僅是數論方面的劃時代之作,也是數學史上不可多得的經典著作之一。
  • 數學之美:貝葉斯優化
    你的任務:找到函數得全局最小值。這無疑是一項艱巨的任務,比機器學習中的其他優化問題還要困難。一般得優化問題可以通過以下三種方式求解:梯度下降方法依賴函數求導,通過數學方法快速估計表達式。函數的評估成本很低得優化場景下,可以在很短時間內獲得輸入x的許多結果,然後使用簡單的網格搜索選擇較好結果。使用粒子群或模擬退火等非梯度優化方法。
  • 【高斯過程】到底有何過人之處?
    大數據文摘作品,編譯:丁慧、文明、Katherine Hou、雲舟 高斯過程可能不是當前機器學習最火的研究方向,但仍然在很多前沿的研究中被使用到——例如,最近在AlphaGo Zero中自動調整MCTS超參數就使用了它。在建模能力和進行不確定性估計方面,它們具有非常高的易用性。
  • 「高斯過程」到底有何過人之處?
    大數據文摘作品編譯:丁慧、文明、Katherine Hou、雲舟高斯過程可能不是當前機器學習最火的研究方向,但仍然在很多前沿的研究中被使用到然而,高斯過程很難掌握,尤其是當你習慣了深度學習中其他常見的模型之後。所以本文希望在具備相當少的ML知識背景下,對高斯過程提供一個直觀的理論介紹,請學習者下載notebook並實現本文中提到的所有代碼。
  • 看得見的高斯過程:這是一份直觀的入門解讀
    本文旨在向讀者介紹高斯過程,並且把它背後的數學原理講得更加直觀易懂。高斯過程是機器學習工具箱裡一種相當有用的工具 [1]。它讓我們得以結合先驗知識,對數據做出預測。它最直觀的應用領域是回歸問題,比如在機器人學裡會用到。同時,也可以把它拓展到分類和聚類任務裡。
  • 一文了解高斯濾波器,附原理及實現過程
    生成的過程,首先根據模板的大小,找到模板的中心位置ksize/2。然後就是遍歷,根據高斯分布的函數,計算模板中每個係數的值。需要注意的是,最後歸一化的過程,使用模板左上角的係數的倒數作為歸一化的係數(左上角的係數值被歸一化為1),模板中的每個係數都乘以該值(左上角係數的倒數),然後將得到的值取整,就得到了整數型的高斯濾波器模板。
  • 高斯過程回歸詳解
    本文介紹了高斯回歸的基本概念,並在 R 中利用高斯回歸實現對時間序列的預測。
  • 高斯混合模型(GMM):理念、數學、EM算法和python實現
    高斯混合模型是一種流行的無監督學習算法。GMM方法類似於K-Means聚類算法,但是由於其複雜性,它更健壯,更有用。K-means聚類使用歐式距離函數來發現數據中的聚類。只要數據相對於質心呈圓形分布,此方法就可以很好地工作。
  • 擬合目標函數後驗分布的調參利器:貝葉斯優化
    如何優化機器學習的超參數一直是一個難題,我們在模型訓練中經常需要花費大量的精力來調節超參數而獲得更好的性能。因此,貝葉斯優化利用先驗知識逼近未知目標函數的後驗分布從而調節超參數就變得十分重要了。本文簡單介紹了貝葉斯優化的基本思想和概念,更詳細的推導可查看文末提供的論文。超參數超參數是指模型在訓練過程中並不能直接從數據學到的參數。
  • 數學王子——高斯 1777年4月30 日
    1777 年 4 月 30 日,高斯出生在德國的布倫瑞克。 據說,高斯 3 歲能心算帳目;9 歲能迅速計算自然級數之和;11 歲發現二項式定理;12歲能做出幾何學證明;16 歲已經能預料非歐幾何學的存在;18 歲發現質數分布定理和最小二乘法;19 歲能用沒有刻度的直尺和圓規構造出正十七邊形,解決了 2000 多年來曾難倒阿基米德和牛頓的數學難題;21歲完成代表性著作《數論》,成為數論奠基性著作。
  • 高斯濾波器的原理和實現
    生成的過程,首先根據模板的大小,找到模板的中心位置ksize/2。然後就是遍歷,根據高斯分布的函數,計算模板中每個係數的值。 需要注意的是,最後歸一化的過程,使用模板左上角的係數的倒數作為歸一化的係數(左上角的係數值被歸一化為1),模板中的每個係數都乘以該值(左上角係數的倒數),然後將得到的值取整,就得到了整數型的高斯濾波器模板。
  • 德國偉大的數學家,近代數學的奠基者之一——高斯
    高斯,德國偉大的數學家,近代數學的寞基者之一,人們往往把高斯和阿基米德、歐拉、牛頓一起稱為世界上最偉大的數學家。在數論方面,高斯做出了特殊的貢獻。所謂數論,就是研究數的規律的學科。1827年,高斯在《關於曲面473輕鬆讀書的一般研究》中,還建立了微積分幾何中關於曲面的系統理論。高斯關於數論研究總結的《算術研究》(1801年)一書莫定了近論的基礎,在數學史上是不可多得的經典著作之一。19世紀,德國的代數論有著突飛猛進的發展,是與高斯分不開的。
  • 數學天才——高斯的故事
    迪德裡赫後來娶了羅捷雅,第二年他們的孩子高斯出生了,這是他們唯一的孩子。父親對高斯要求極為嚴厲,甚至有些過份,常常喜歡憑自己的經驗為年幼的高斯規劃人生。高斯尊重他的父親,並且秉承了其父誠實、謹慎的性格。1806年迪德裡赫逝世,此時高斯已經做出了許多劃時代的成就。   在成長過程中,幼年的高斯主要是力於母親和舅舅。
  • 從高斯、黎曼到希爾伯特,看世界數學中心哥廷根學派200年興衰史
    這個少年就是高斯,被譽為數學史最偉大的天才之一,仿佛是「數學之神」的阿基米德的轉世一般,高斯自小就顯示出強大的數學天賦,高斯三歲的時候,當時高斯的父親在貴族的家裡當工頭,在核算工人們的周薪,高斯看了一眼帳本,就已經能夠幫父親糾正帳目的錯誤。
  • 高考數學中的幾類非基本初等函數總結
    函數章節是高考數學的重要組成部分。它有著」三最」之稱。即:最基礎、最重要、最難學。曾經我的高中數學老師毫不保留地說「高中數學得函數者得天下」,函數學好了,你的高中數學成功了一半。不管是不是過於誇張,但也足以說明函數的重要性。
  • 偉大的數學大師——高斯
    老師很驚訝,一個年僅10歲的孩子,憑藉自己的觀察就能發現這樣的數學規律,真的很不簡單。從此,老師對他刮目相看。這個令老師驚訝的孩子就是高斯。由於高斯在數學上表現出了出色的天賦,老師特意從德國漢堡買來了最好的算術書送給他,由此高斯便開始在數學海洋中盡情徜徉。
  • 數學巨擘高斯: 從貧窮人家的神童到「數學之王」
    ——哥廷根大學數學研究學生 C. F. Gauss這是高斯一生中僅有的一次預告他的發現。 後來「等分圓周」出現在高斯巨著《整數論研考》的第七章,正十七邊形的頂點求法成為這一章的一個例子。這本書因經費與出版商的問題遲延到1801年9月29日才出版,一出版就被搶購一空,造成一時的轟動。
  • 數學巨擘高斯:從貧窮人家的神童到「數學之王」
    高斯九歲便能快速算出1到100的總和,十一歲時便能導出二項定理的一般展開式,並對無限級數的展開頗為熟稔。那麼,這樣一位出身貧窮的神童,他是如何一步步成為「數學之王」的呢?他如何將自己的數學才能應用於天文學的計算當中?在與自己同時代的數學家拉普拉斯、勒讓德、貝瑟爾等人的交往中又發生過哪些故事?