精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PyTorch教程-18.1. 高斯過程簡介

jf_pJlTbmA9 ? 來源:PyTorch ? 作者:PyTorch ? 2023-06-05 15:44 ? 次閱讀

在許多情況下,機器學習相當于從數據中估計參數這些參數通常很多且相對難以解釋——例如神經網絡的權重。相比之下,高斯過程提供了一種機制,可以直接推理適合我們數據的函數的高級屬性。例如,我們可能了解這些函數是否快速變化、周期性、涉及條件獨立性或平移不變性。高斯過程使我們能夠通過直接指定適合我們數據的函數值的高斯分布,輕松地將這些屬性合并到我們的模型中。

讓我們從一些例子開始,感受一下高斯過程是如何運作的。

假設我們觀察以下回歸目標(輸出)的數據集,y,由輸入索引x. 例如,目標可以是二氧化碳濃度的變化,輸入可以是記錄這些目標的時間。數據有哪些特點?它看起來變化多快?我們是否定期收集數據點,或者是否缺少輸入?您如何想象填補缺失的區域,或預測直到x=25

https://file.elecfans.com/web2/M00/A9/CD/poYBAGR9PPyAc7YNAAC_o4iD57A201.svg

圖 18.1.1觀測數據。

為了用高斯過程擬合數據,我們首先指定我們認為合理的函數類型的先驗分布。在這里,我們展示了幾個來自高斯過程的示例函數。這個先驗看起來合理嗎?請注意,這里我們不是在尋找適合我們數據集的函數,而是在尋找解決方案的合理高級屬性,例如它們隨輸入變化的速度。請注意,我們將在下一個關于先驗和推理的筆記本中看到用于重現此筆記本中所有圖的代碼。

https://file.elecfans.com/web2/M00/AA/48/pYYBAGR9PP6AGLMoAAByefveCHc747.svg

圖 18.1.2我們可能希望用我們的模型表示的示例先驗函數。

一旦我們以數據為條件,我們就可以使用它來推斷適合數據的函數的后驗分布。在這里,我們展示了示例后驗函數。

https://file.elecfans.com/web2/M00/AA/48/pYYBAGR9PQCAK2WmAAF9sEzpcC8328.svg

圖 18.1.3樣本后驗函數,一旦我們觀察到數據。

我們看到這些函數中的每一個都與我們的數據完全一致,完美地貫穿了每一次觀察。為了使用這些后驗樣本進行預測,我們可以對后驗中每個可能的樣本函數的值進行平均,以創建下面的粗藍色曲線。請注意,我們實際上不必采用無限數量的樣本來計算此期望;正如我們稍后將看到的,我們可以計算封閉形式的期望。

https://file.elecfans.com/web2/M00/A9/CD/poYBAGR9PQOAANq0AAGKOFg-YU4060.svg

圖 18.1.4后驗樣本,以及后驗均值,可用于點預測,藍色。

我們可能還需要不確定性的表示,因此我們知道我們應該對我們的預測有多大的信心。直覺上,我們應該有更多的不確定性,因為樣本后驗函數的可變性更大,因為這告訴我們真實函數可以采用更多可能的值。這種不確定性稱為認知不確定性,即可約化的不確定性。與缺乏信息有關。隨著我們獲取更多數據,這種不確定性就會消失,因為與我們觀察到的一致的解決方案將越來越少。與后驗均值一樣,我們可以計算封閉形式的后驗方差(這些函數在后驗中的可變性)。使用陰影,我們在均值兩側顯示兩倍的后驗標準差,創建一個可信區間 ,該區間有 95% 的概率包含任何輸入的函數真實值x.

https://file.elecfans.com/web2/M00/A9/CD/poYBAGR9PQWATnU9AAHgGnHjlss694.svg

圖 18.1.5后驗樣本,包括 95% 的可信集。

如果我們刪除后驗樣本,只需可視化數據、后驗均值和 95% 可信集,該圖看起來會更清晰一些。注意不確定性如何從數據中增長,這是認知不確定性的一個特性。

https://file.elecfans.com/web2/M00/A9/CD/poYBAGR9PQeAWUckAADQ-Om3KjE055.svg

圖 18.1.6點預測和可信集。

我們用來擬合數據的高斯過程的屬性受到所謂的協方差函數(也稱為內核)的強烈控制。我們使用的協方差函數稱為RBF(徑向基函數)核,其形式為

(18.1.1)kRBF(x,x′)=Cov(f(x),f(x′))=a2exp?(?12?2||x?x′||2)

這個內核的超參數是可解釋振幅 參數_a控制函數變化的垂直尺度,以及長度尺度參數?控制函數的變化率(擺動度)。更大a 意味著更大的函數值,并且更大?意味著更緩慢地改變函數。讓我們看看我們的樣本先驗函數和后驗函數隨著我們的變化會發生什么a?.

長度尺度對 GP 的預測和不確定性有特別顯著的影響。||x?x′||=?,一對函數值之間的協方差是a2exp?(?0.5). 在比更遠的距離?,函數值變得幾乎不相關。這意味著如果我們想在某個點做出預測x?,然后是帶有輸入的函數值 x這樣||x?x′||>?不會對我們的預測產生強烈影響。

讓我們看看更改長度尺度如何影響樣本先驗和后驗函數以及可信集。以上擬合使用長度尺度2. 現在讓我們考慮 ?=0.1,0.5,2,5,10. 的長度尺度0.1相對于我們正在考慮的輸入域的范圍來說非常小, 25. 例如,函數的值在x=5x=10在這樣的長度范圍內基本上沒有相關性。另一方面,對于長度尺度10,這些輸入的函數值將高度相關。請注意,下圖中的垂直比例發生了變化。

先驗點1郵寄1

優先點5郵寄5

先驗2post2

先驗5post5

請注意,隨著長度尺度的增加,函數的“擺動性”會降低,我們的不確定性也會降低。如果長度尺度很小,隨著我們遠離數據,不確定性會迅速增加,因為數據點對函數值的信息變得越來越少。

現在,讓我們改變振幅參數,將長度尺度固定在2. 請注意,垂直比例對于先驗樣本保持固定,而對于后驗樣本則不同,因此您可以清楚地看到函數的增加比例以及對數據的擬合。

先驗1郵寄點1

先驗2posta2

先驗8郵局8

我們看到振幅參數影響函數的尺度,但不影響變化率。在這一點上,我們也感覺到我們程序的泛化性能將取決于這些超參數的合理值。價值觀?=2a=1似乎提供了合理的擬合,而其他一些值卻沒有。幸運的是,有一種強大且自動的方法可以使用所謂的邊際似然來指定這些超參數,我們將在筆記本中進行推理。

那么究竟什么是全科醫生呢?在我們開始時,GP 簡單地說任何函數值的集合f(x1),…,f(xn), 由任何輸入集合索引x1,…,xn具有聯合多元高斯分布。均值向量μ此分布的 由均值函數給出,該函數通常被視為常數或零。該分布的協方差矩陣由 在所有輸入對上評估的內核給出x.

(18.1.2)[f(x)f(x1)?f(xn)]~N(μ,[k(x,x)k(x,x1)…k(x,xn)k(x1,x)k(x1,x1)…k(x1,xn)????k(xn,x)k(xn,x1)…k(xn,xn)])

等式(18.1.2)指定了一個 GP 先驗。我們可以計算條件分布f(x)對于任何x給予 f(x1),…,f(xn),我們觀察到的函數值。這種條件分布稱為后驗分布,我們用它來進行預測。

尤其,

(18.1.3)f(x)|f(x1),…,f(xn)~N(m,s2)

在哪里

(18.1.4)m=k(x,x1:n)k(x1:n,x1:n)?1f(x1:n)
(18.1.5)s2=k(x,x)?k(x,x1:n)k(x1:n,x1:n)?1k(x,x1:n)

在哪里k(x,x1:n)是一個1×n通過評估形成的向量k(x,xi)為了i=1,…,nk(x1:n,x1:n)是一個n×n通過評估形成的矩陣k(xi,xj)為了i,j=1,…,n.m是我們可以用作任何的點預測器x, 和s2 是我們用于不確定性的東西:如果我們想創建一個有 95% 概率的區間f(x)在區間內,我們將使用 m±2s. 上述所有數字的預測方法和不確定性都是使用這些方程式創建的。觀察到的數據點由f(x1),…,f(xn)并選擇了一組細粒度的x點來做出預測。

假設我們觀察到一個數據點,f(x1),我們想確定的價值f(x)在一些x. 因為 f(x)由高斯過程描述,我們知道聯合分布(f(x),f(x1))是高斯分布的:

(18.1.6)[f(x)f(x1)]~N(μ,[k(x,x)k(x,x1)k(x1,x)k(x1,x1)])

非對角表達式k(x,x1)=k(x1,x)告訴我們函數值的相關程度——確定程度 f(x)將來自f(x1). 我們已經看到,如果我們使用大長度尺度,相對于之間的距離xx1,||x?x1||,則函數值將高度相關。我們可以想象確定的過程 f(x)f(x1)無論是在功能空間,還是在聯合分布f(x1),f(x). 讓我們首先考慮一個x這樣k(x,x1)=0.9, 和 k(x,x)=1,這意味著f(x)與值適度相關f(x1). 在聯合分布中,恒定概率的等高線將是相對較窄的橢圓。

假設我們觀察f(x1)=1.2. 以這個值為條件 f(x1),我們可以畫一條水平線1.2在我們的密度圖上,可以看到f(x)主要限于[0.64,1.52]. 我們還在函數空間中繪制了這個圖,顯示了觀察點f(x1)橙色,高斯過程預測分布的 1 個標準差 f(x)藍色,關于的平均值1.08.

雙變量高斯密度在 :math:`f(x_1)` 和 :math:`f(x)` 上的等值線,其中 :math:`k(x,x_1) = 0.9`。函數空間中的高斯過程預測分布:math:`f(x)`,其中:math:`k(x,x_1) = 0.9`。

現在假設我們有更強的相關性,k(x,x1)=0.95. 現在橢圓進一步縮小,并且值f(x)更強烈地決定于f(x1). 畫一條水平線在1.2,我們看到輪廓f(x)支持值主要在[0.83,1.45]. 同樣,我們還在函數空間中顯示了該圖,其中關于平均預測值的一個標準偏差1.14.

雙變量高斯密度在 :math:`f(x_1)` 和 :math:`f(x)` 上的等值線,其中 :math:`k(x,x_1) = 0.95`。函數空間中的高斯過程預測分布:math:`f(x)`,其中:math:`k(x,x_1)` = 0.95。

我們看到我們的高斯過程的后驗均值預測器更接近于1.2,因為現在有更強的相關性。我們還看到我們的不確定性(誤差條)有所減少。盡管這些函數值之間存在很強的相關性,但我們的不確定性仍然相當大,因為我們只觀察到一個數據點!

這個過程可以給我們一個后驗f(x)對于任何 x,對于我們觀察到的任意數量的點。假設我們觀察 f(x1),f(x2). 我們現在將后驗可視化為f(x) 在特定的x=x′在函數空間。的確切分布f(x)由上述等式給出。f(x)是高斯分布的,均值

(18.1.7)m=k(x,x1:3)k(x1:3,x1:3)?1f(x1:3)

和方差

(18.1.8)s2=k(x,x)?k(x,x1:3)k(x1:3,x1:3)?1k(x,x1:3)

在這個介紹性筆記本中,我們一直在考慮無噪聲 觀察。正如我們將看到的,很容易包含觀察噪聲。如果我們假設數據是從潛在無噪聲函數生成的f(x)加上 iid 高斯噪聲 ?(x)~N(0,σ2)有方差 σ2,那么我們的協方差函數就變成了 k(xi,xj)→k(xi,xj)+δijσ2, 在哪里 δij=1如果i=j0否則。

我們已經開始對如何使用高斯過程指定先驗和后驗解以及核函數如何影響這些解的屬性有了一些直覺。在后面的notebook中,我們將準確地展示如何先驗指定高斯過程,介紹和推導各種核函數,然后通過如何自動學習核超參數,形成高斯過程后驗進行預測的機制。雖然習慣“函數分布”等概念需要時間和實踐,但尋找 GP 預測方程的實際機制實際上非常簡單——通過實踐可以很容易地形成對這些概念的直觀理解。

18.1.1. 概括

在典型的機器學習中,我們指定一個帶有一些自由參數(例如神經網絡及其權重)的函數,我們專注于估計那些可能無法解釋的參數。使用高斯過程,我們直接對函數的分布進行推理,這使我們能夠對解決方案的高級屬性進行推理。這些屬性由協方差函數(內核)控制,該函數通常具有一些高度可解釋的超參數。這些超參數包括長度尺度,它控制函數的速度(波動程度)。另一個超參數是振幅,它控制我們的函數變化的垂直尺度。表示可以擬合數據的許多不同函數,并將它們組合在一起形成預測分布,是貝葉斯方法的一個顯著特征。因為遠離數據的可能解決方案之間存在更大的可變性,所以隨著我們遠離數據,我們的不確定性直觀地增加。

高斯過程通過指定所有可能函數值的多元正態(高斯)分布來表示函數分布。可以輕松地操縱高斯分布以根據任何一組其他值的值找到一個函數值的分布。換句話說,如果我們觀察一組點,那么我們可以以這些點為條件,并推斷函數值在任何其他輸入下的分布。我們如何對這些點之間的相關性進行建模由協方差函數決定,并且定義了高斯過程的泛化屬性。雖然習慣高斯過程需要時間,但它們很容易使用,有很多應用程序,并幫助我們理解和開發其他模型類,如神經網絡。

18.1.2. 練習

  1. 認知不確定性與觀察不確定性之間有什么區別?

  2. 除了變化率和幅度之外,我們可能還想考慮函數的哪些其他屬性,以及具有這些屬性的函數的真實示例是什么?

  3. 我們考慮的 RBF 協方差函數表示觀測值之間的協方差(和相關性)隨著它們在輸入空間(時間、空間位置等)中的距離而減小。這是一個合理的假設嗎?為什么或者為什么不?

  4. 兩個高斯變量之和是高斯分布嗎?兩個高斯變量的乘積是高斯分布嗎?如果 (a,b) 服從聯合高斯分布,a|b (a given b) 是否服從高斯分布?是高斯分布嗎?

  5. 重復我們觀察數據點的練習 f(x1)=1.2,但現在假設我們另外觀察 f(x2)=1.4. k(x,x1)=0.9, 和 k(x,x2)=0.8. 我們會或多或少地確定f(x),比我們只觀察到f(x1)我們的價值的平均值和 95% 可信集是多少f(x) 現在?

  6. 您認為增加我們對觀測噪聲的估計會增加還是減少我們對地面真值函數長度尺度的估計?

  7. 當我們遠離數據時,假設我們的預測分布中的不確定性增加到一個點,然后停止增加。為什么會發生這種情況?

Discussions


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • pytorch
    +關注

    關注

    2

    文章

    803

    瀏覽量

    13149
收藏 人收藏

    評論

    相關推薦

    一文了解高斯濾波器,附原理及實現過程

    `本文主要介紹了高斯濾波器的原理及其實現過程高斯濾波器是一種線性濾波器,能夠有效的抑制噪聲,平滑圖像。其作用原理和均值濾波器類似,都是取濾波器窗口內的像素的均值作為輸出。其窗口模板的系數和均值濾波器
    發表于 09-04 08:00

    高斯過程回歸GPR和多任務高斯過程MTGP

    文章目錄高斯過程回歸多任務高斯過程文獻閱讀文獻[1]文獻[2]文獻[3]文獻[4]文獻[5]文獻[6]編程實現參考文獻和資料本文介紹了高斯
    發表于 06-30 06:59

    高斯-牛頓迭代法簡介

    高斯牛頓迭代法簡介,包括高斯牛頓迭代法推演及及結論
    發表于 01-08 16:21 ?0次下載

    監測時間序列數據的高斯過程建模與多步預測

    針對傳感網環境監測應用采集的時間序列數據,提出了一種新的基于高斯過程模型的多步預測方法,實現了對未來時刻的環境監測數據的預測。高斯過程模型通過核函數描述數據的特性,通過對環境監測數據的
    發表于 03-08 10:12 ?1次下載

    高斯濾波簡介,高斯濾波性質及應用

    二維高斯函數具有旋轉對稱性,即濾波器在各個方向上的平滑程度是相同的。一般來說,一幅圖像的邊緣方向是事先不知道的,因此,在濾波前是無法確定一個方向上比另一方向上需要更多的平滑。旋轉對稱性意味著高斯平滑濾波器在后續邊緣檢測中不會偏向任一方向。
    的頭像 發表于 04-09 15:54 ?2.5w次閱讀
    <b class='flag-5'>高斯</b>濾波<b class='flag-5'>簡介</b>,<b class='flag-5'>高斯</b>濾波性質及應用

    高斯過程隱變量模型及相關實踐

    高斯過程隱變量模型(GPLⅴM)作為一種無監督的貝葉斯非參數降維模型,無法有效利用數據所包含的語義標記信息,同時其建模過程中假設觀測變量的各特征相互獨立,忽略了特征之間的空間結構信息。為解決上述問題
    發表于 03-11 16:01 ?8次下載

    什么是高斯過程 神經網絡高斯過程解析

    神經網絡是怎么和高斯過程聯系在一起的呢?Lee et al. [1] and Neal [2] 指出,隨機初始化無限寬網絡的參數會產生一個高斯過程,稱作神經網絡
    發表于 08-10 11:25 ?4360次閱讀

    PyTorch教程簡介

    電子發燒友網站提供《PyTorch教程簡介.pdf》資料免費下載
    發表于 06-02 14:12 ?14次下載
    <b class='flag-5'>PyTorch</b>教程<b class='flag-5'>簡介</b>

    PyTorch教程18.1高斯過程簡介

    電子發燒友網站提供《PyTorch教程18.1高斯過程簡介.pdf》資料免費下載
    發表于 06-05 10:46 ?0次下載
    <b class='flag-5'>PyTorch</b>教程<b class='flag-5'>18.1</b>之<b class='flag-5'>高斯</b><b class='flag-5'>過程</b><b class='flag-5'>簡介</b>

    PyTorch教程18.2之高斯過程先驗

    電子發燒友網站提供《PyTorch教程18.2之高斯過程先驗.pdf》資料免費下載
    發表于 06-05 10:47 ?0次下載
    <b class='flag-5'>PyTorch</b>教程18.2之<b class='flag-5'>高斯</b><b class='flag-5'>過程</b>先驗

    PyTorch教程18.3之高斯過程推理

    電子發燒友網站提供《PyTorch教程18.3之高斯過程推理.pdf》資料免費下載
    發表于 06-05 10:48 ?0次下載
    <b class='flag-5'>PyTorch</b>教程18.3之<b class='flag-5'>高斯</b><b class='flag-5'>過程</b>推理

    PyTorch教程-18.2. 高斯過程先驗

    18.2. 高斯過程先驗? Colab [火炬]在 Colab 中打開筆記本 Colab [mxnet] Open the notebook in Colab Colab [jax
    的頭像 發表于 06-05 15:44 ?782次閱讀
    <b class='flag-5'>PyTorch</b>教程-18.2. <b class='flag-5'>高斯</b><b class='flag-5'>過程</b>先驗

    PyTorch教程-18.3。高斯過程推理

    18.3。高斯過程推理? Colab [火炬]在 Colab 中打開筆記本 Colab [mxnet] Open the notebook in Colab Colab [jax
    的頭像 發表于 06-05 15:44 ?984次閱讀
    <b class='flag-5'>PyTorch</b>教程-18.3。<b class='flag-5'>高斯</b><b class='flag-5'>過程</b>推理

    解讀PyTorch模型訓練過程

    PyTorch作為一個開源的機器學習庫,以其動態計算圖、易于使用的API和強大的靈活性,在深度學習領域得到了廣泛的應用。本文將深入解讀PyTorch模型訓練的全過程,包括數據準備、模型構建、訓練循環、評估與保存等關鍵步驟,并結合
    的頭像 發表于 07-03 16:07 ?928次閱讀

    PyTorch神經網絡模型構建過程

    PyTorch,作為一個廣泛使用的開源深度學習庫,提供了豐富的工具和模塊,幫助開發者構建、訓練和部署神經網絡模型。在神經網絡模型中,輸出層是尤為關鍵的部分,它負責將模型的預測結果以合適的形式輸出。以下將詳細解析PyTorch中神經網絡輸出層的特性及整個模型的構建
    的頭像 發表于 07-10 14:57 ?449次閱讀