㈠ 什麼是高斯過程其主要性質有哪些
高斯過程(Gaussian Process。GP)是概率論和數理統計中隨機過程(stochastic process)的一種,是一系列服從正態分布的隨機變數(random variable)在一指數集(index set)內的組合。
高斯過程中任意隨機變數的線性組合都服從正態分布,每個有限維分布都是聯合正態分布,且其本身在連續指數集上的概率密度函數即是所有隨機變數的高斯測度,因此被視為聯合正態分布的無限維廣義延伸。高斯過程由其數學期望和協方差函數完全決定,並繼承了正態分布的諸多性質。
高斯過程的例子
高斯過程的例子包括維納過程、奧恩斯坦-烏倫貝克過程等。
對高斯過程進行建模和預測是機器學習、信號處理等領域的重要內容,其中常見的模型包括高斯過程回歸(Gaussian Process Regression,GPR)和高斯過程分類(Gaussian Process Classification,GPC)。
高斯過程的命名來自德國數學家卡爾·弗里德里希·高斯(Carl Friedrich Gauss)以紀念其提出正態分布概念。
㈡ 如何用mcmc方法估計高斯過程回歸參數
高斯過程將多元高斯分布擴展到無限維度。任意數據集中n個觀測量,y={y_{1},..,y_{n}}y=y1,..,yn都可以理解成從某個多元高斯分布中抽取的一個樣本。高斯過程最重要的應用是解決回歸問題。假設訓練集數據為y,新數據為y*,那麼我們可以根據高斯過程的性質估計新數據的分布。例子:假設我們有下圖的歷史數據:我們要估計新的數據點x*=0.2的分布。根據上述過程,我們首先有6個觀測值y,分別是:從誤差線得知\sigma_{n}=0.3,那麼根據協方差公式,我們有:根據高斯過程的條件概率公式,我們可以計算出新觀測點的均值與方差分別是0.95與0.21。即服從N(0.95,0.21)的高斯分布。
㈢ pattern recognition and machine learning這本書怎麼看
作者:Richardmore
這本書可以說是機器學習的經典學習之作。以前在上機器學習這么課的時候,很多細節還沒聯繫到,結果在讀論文中就顯得捉襟見肘。本文打算理清楚這本書的脈絡,也順便為學習機器學習的人打下一個學習路線圖。
1. 排除兩塊內容
現排除第五章的內容神經網路,之所以把神經網路先單列出來,原因一是一個比較獨立的研究脈絡,二是因為這部分因為深度學習的原因太熱了,所以我認為在學習機器學習中把神經網路單列出來學習,在交大的研究生課程安排中,神經網路是機器學習的後續課程。
對於第6,7章,也不在下面的學習路線中,因為這部分是關於核技巧方面的,主要是就是高斯過程回歸,高斯過程分類以及SVM等內容。
2. 一個概率圖框架為中心視角
排除了上面幾章的內容,PRML書中可以用下面的學習路線圖覆蓋,通過這個圖可以理清楚了各個內容的不同角色。
<img src="https://pic3.mg.com/_b.png" data-rawwidth="1888" data-rawheight="412" class="origin_image zh-lightbox-thumb" width="1888" data-original="https://pic3.mg.com/_r.png">
說明:
(1)一般模型中都會有隱變數因此,,因此對於P(X)的採用MLE學習的另一個技巧,便是第九章 EM演算法。條件是在M步時,Q要可以被analytically computed。
(2)至於為什麼近似,Exact Inference is hard we resort to approximation
3. 隱變數技巧
下面我們看看另外一個視角:隱變數技巧。隱變數不僅可以使得模型的表達能力豐富起來,而且通常對於隱變數往往富有一定的實際意義。
<img src="https://pic1.mg.com/_b.png" data-rawwidth="1764" data-rawheight="422" class="origin_image zh-lightbox-thumb" width="1764" data-original="https://pic1.mg.com/_r.png">
說明:
(1)這里所謂的結合模型中,在PRML中最後一章僅僅提到了以加法的方式進行模型集合,也就是mixture of experts,在論文Hinton G E. Training procts of experts by minimizing contrastive divergence[J]. Neural computation, 2002, 14(8): 1771-1800. 提出了proct of experts 模型,也就是以乘法的方式進行結合,RBM就是一種特殊的proct of experts 模型,而高斯混合模型便是加法模型的代表。
(2)隱變數的技巧是機器學習中一種重要的技巧,隱變數的加入不僅僅增加了模型的表達能力,而且,隱變數還可以被賦予某種特殊的意義,比如RBM模型中隱變數h被當成顯變數v的特徵抽象。這當然歸根結底是因為隱變數模型確實是現實世界真實存在的情況,unobserved but important variables do exist! 當然隱變數的引入也為模型的推斷帶來了新的挑戰,有很多比較好的隱變數模型往往找不到很高效的方法,而被限制著。
4. 例子說明
下面分別從上面兩個視角來分析RBM模型,貝葉斯線性回歸和序列模型。
4.1 RBM模型
RBM模型是一個無向2層對稱的圖模型,從隱變數的視角來看,它是一個以乘法方式結合的distributed models。當然隱變數的引入增加了模型的復雜性和表達能力,但是也為學習,推斷帶來了問題。對於RBM的參數學習,因為是無向圖,所以採用MLE最大化P(X),但是由於此時P(X,Z)難以評估,所以
<img src="https://pic2.mg.com/v2-_b.png" data-rawwidth="834" data-rawheight="94" class="origin_image zh-lightbox-thumb" width="834" data-original="https://pic2.mg.com/v2-_r.png">
很難計算,沒有在RBM的學習中不能像高斯混合模型那樣可以採取EM演算法。因此只能採取最為標準的做法,求取P(X)的梯度,結果梯度公式如下:
<img src="https://pic2.mg.com/v2-_b.png" data-rawwidth="800" data-rawheight="90" class="origin_image zh-lightbox-thumb" width="800" data-original="https://pic2.mg.com/v2-_r.png">
然而對於計算後面的model部分的積分需要知道模型的概率分布,評估模型的概率分布需要計算一個標准化的分母,難以計算。因此就需要依賴近似,由於p(v|h),p(h|v)都是可以分析公式表達,因此採用Gibbs sampler來數值逼近積分。當然後來Hinton G E. Training procts of experts by minimizing contrastive divergence[J].發現對於這一部分,Gibbs sampler 不需要多部的迭代,一次迭代就可以了,從而使的訓練RBM的時間代價大大降低了,後來(A fast learning algorithm for deep belief nets,2006)提出了貪婪式的訓練多層DBN(stacked RBM),每層都是訓練RBM,從而使的深度學習煥發新的活力(Recing the dimensionality of data with neural networks,2006)。
4.2 貝葉斯線性回歸Bayesian Linear Regression BLR
這個模型是最為基礎的,這個模型在PRML中,利用直接推斷,變分法推斷,MCMC采樣都是可以做的;因此便於比較不同演算法得到的結果。之前,本來打算在這里以LDA主題模型來舉例,雖然LDA的EM演算法, 變分法,以及Gibbs sampling 都是可以做的,但是模型太復雜,所以果斷放棄了,以BLR模型作為例子說明。
BLR是一個有向圖模型,是一個典型的貝葉斯網路(雖然簡單一點)。如果以一個貝葉斯的視角來看,其中的隱變數便是線性參數w,以及各種超參數α,β.....,在貝葉斯的處理視角之下,這些都會賦予一個先驗分布。當然,有些模型書中也提到,有不同層次上的貝葉斯網路。有的是僅僅對參數w賦予一個先驗分布,而對於其他的參數(hyperparameter)僅僅是作為模型參數,就是假設是一個渡固定的數值,然後再通過learn evidence function,其實說白了就是MLE,來尋找最佳的超參數α,β....。相比於把線性參數w,以及各種超參數α,β.....全部作為放入到貝葉斯網路中,這樣的做法顯然簡化了模型,降低了貝葉斯網路的復雜性。這個技巧也在多處的論文中出現。
從隱變數的角度來看,由於BLR模型相對簡單,其中並沒有隨機隱變數,僅僅是一些參數w,以及各種超參數α,β..的環境隱變數。
4.3 序列模型:隱馬爾可夫鏈HMM與條件隨機CRF
隱馬爾可夫鏈HMM這個模型是一個有向圖模型,典型的貝葉斯網路,只不過這個網路是一個線性鏈(linear chains),因此可以進行分析上推斷,要知道對於一般網路,並不存在通用的實用的inference演算法。因為HMM是一個有向圖模型。但是(1)在PRML書中,以及李航《統計學習》中並沒有把其當作一個貝葉斯網路來進行處理,對所有的參數比如發射概率,轉移矩陣概率都是模型的參數,而不是通過賦予一個先驗分布,從而納入到貝葉斯網路框架之中。因此對於模型而言,關鍵的便是通過MLE最大化P(X)來學習模型的參數,因為這里的有隱變數,因此在PRML,以及《統計學習》中都是通過EM演算法做的。(2)其實,HMM是一個典型的線性鏈式的貝葉斯網路,因此對於通過對其參數賦予先驗分布,進而從貝葉斯的角度,來對模型進行推斷是一個非常自然的想法。我在論文Sharon Goldwater, Thomas L Griffiths 論文 A Fully Bayesian Approach to Unsupervised Part-of-Speech Tagging,中作者採用了Bayesian HMM 重新做了POS任務。作者在文中還詳細羅列了Bayesian HMM 相比普通的HMM的優點:(a)可以使用先驗知識,例如在POS中語言的認知可以加入到先驗分布之中,而且(b)貝葉斯的推斷,是通過一個後驗分布推斷參數,相比MLE點估計,會更加准確。對於貝葉斯的推斷,作者在文中使用了Gibbs sample抽樣實現了數值采樣推斷模型。最後作者比較了Gibbs sample+Bayesian HMM和普通的HMM +EM,在POS任務效果更加好。另外,對於本論文的作者Thomas L Griffiths,第一次接觸這個學者,是在讀Gibbs sample in LDA這篇文章,作者推導了LDA的各種的條件分布,然後基於Gibbs sample 進行采樣,記得Github上有Java版的實現代碼,其推導十分嚴謹,並且有代碼輔助,是學習LDA的一個捷徑。在近似推斷方面可以看出Thomas L Griffiths是一個堅定的數值采樣學派,而LDA的開山之作《Latent Dirichlet Allocation 》的作者David M. Blei,看了作者部分文章以後,發現這個人是在近似推斷方面是一個變分法的堅定學派,在《Latent Dirichlet Allocation 》之中,便是通過變分法進行推斷了,David M. Blei還寫了一個關於變分法的入門講義pdf,網上可以搜到。所以回看我們概率圖視角,做機器學習推斷是不可避免的,有的是變分法近似,有的是數值采樣近似,也有的是EM演算法試一試。至於選擇哪一種,就看你的問題哪一個比較簡單了。但是好像有的人對這些方面各有偏愛。
再說一下條件隨機場CRF,相比與HMM,這也是一個序列模型,在很多的NLP任務中,CRF都是state of art 的演算法,畢竟人家可以方便的特徵工程嘛。但是這種日子被深度學習取代了,在NLP方面,RNN(遞歸神經網路)要比CRF表現更好,見我之前博文基於RNN做語義理解和詞向量。先不說這么遠,CRF的模型架構上是一個典型的無向的鏈式概率圖模型,因此,(回看我們概率圖的視角),CRF的關鍵問題便是如何進行學習了P(X),好在求其該模型直接求其梯度並沒有太大的困難,具體可以參見李航的《統計學習》。
5 結束語
這篇文章,從概率圖,隱變數兩個視角對PRML中各個章節進行了串聯,並以RBM,BLR,序列模型(HMM&CRF)具體說明這種串聯。
㈣ 高斯過程說它是非參數模型,這點怎麼理解
1、Clarke Modal最理想的模型:
其中N為多徑徑數,Cn為每一徑的幅度增益,wd為最大多普勒頻散,an為每一徑來波方向,phin為每一徑初始相位。其中Cn,an,phin是隨機數,在徑數N很大的時候,g(t)可被視為高斯隨機過程,an,phin看做在(-pi,pi]均勻分布,由此有以下結論:(1)信號幅度服從瑞利分布;(2)相位在(-pi,pi]均勻分布;(3)信道響應的二階統計特性:如自相關滿足貝塞爾曲線J(wd*tau),(tau:相關時間差,之前我寫過一篇速度估計的日誌,其中的相關演算法就是基於自相關的二階統計特性估計移動速度),信號兩個正交分量的互相關為0;(4)以及四階統計特性。由於告誡統計特性不好表達,直接給出公式了:
2、Jake Modal:這是現在常用的信道模型,與Clarke的不同時,歸一化後每一徑幅度增益相同且為1/sqrt(N),每徑初始相位都為0,第n徑來波方向為2*pi*n/N,n=1,2,3,..N。也就是上述中的Cn,an,phin為:
Jake模型大名就不說了,我覺得大家之所以那麼愛用它是因為它將Clarke理論模型優化了,它是可以用模擬實現的。畢竟Clarke是個統計模型,每一徑來波方向都在(-pi,pi]均勻分布的隨機數,但只當多徑數量趨於無窮的時候才符合以上統計特性,看到許多文章都用100個正弦分量來合成一個徑,這對系統模擬來說代價太大。那麼怎麼才能用有限個的正弦分量(N)產生符合Clarke統計特性的信道呢?Jake模型為了減少計算量,就人為的把N徑均勻的分布在(-pi,pi]范圍內,模擬的時候這N個徑不是(-pi,pi]的隨機數,而是公式an=2*pi*n/N給出的特定值,這樣即使N很小也能保證N個徑合成的信號與Clarke模型理論一致的,圖1給出了N=6時的情況。可以說Jake模型為Clarke理論模型找到了實際模擬可用的信道設計方案。但是有些地方理想的比較過分,比如每一徑的增益都一樣(實際中可能嗎?多徑延時特別小的話可以吧),而且初始相位也相同(可能嗎?多徑延時特別小的話可以吧),這樣設計可能對演算法模擬結果上有好處,不過做工程的話還是希望模擬模型更接近實際一些吧,所以文章【1】對Jake模型進行改進。
圖1 方位角an分布
但Jake模型的有一處設計讓我很驚嘆它的巧妙,即徑數的選擇N=4M+2,有了這個條件就可以簡化模擬運算,可以減少做硬體用到的震盪器(正弦分量)數量,想想本來要用N個正弦分量,現在只需M=(N-2)/4個了,簡化運算量。就拿TD-SCDMA信道來說吧,通常給出5個徑的Power Average和多徑時延tau_t,注意這里的徑區別於上述徑。此處為「大徑」,大徑由多徑時延區分開,而其中每一個「大徑」由無窮個「小徑」合成,這些「小徑」才是上面模型所提到的徑的概念,「小徑」合成的大徑服從上述的Clarke模型或Jake模型的統計特性,假設有6個小徑N=6,那麼M=1,從圖1可以看出這6個「小徑」方位角分布的對稱關系,從而將信道模型化簡為:
從上面看出,Jake模型和Clarke有那麼多不同,就可以很容易理解為什麼Jake模型的統計特性與Clarke理論不符了,下面給出公式:
3、改進信道:盡管Jake信道那麼的受歡迎,但是由於其高階統計特性與理想不符,所以文章【1】的作者對它進行了改進,其實我倒是覺得這個信道怎麼又朝著Clarke改回去了,說白了就是讓幅度、初始相位、來波方向盡可能隨機以符合Clarke理論的統計分布,但同時又能保證如Jake模型中所有徑總體來看在(-pi,pi]上均勻分布的,是有可借鑒之處的。挺適合我之前說的速度估計演算法使用,畢竟相關演算法、CrossingRate演算法都是由理論Clarke模型推出來的嘛。既能保證統計特性符合Clarke理論,又借鑒了Jake模型的優點能減少硬體實現和模擬時用到的正弦分量(徑數N)的個數。另外文章【1】說Clarke模型無法產生用於頻率選擇性和MIMO的信道,這個我是百思不得其解,怎樣的統計特性才符合呢?為什麼文章【1】的統計特性就可以產生符合MIMO的信道呢,想通了留到總結(2)記錄好了。下面給出Cn,an,phi公式:
其高階統計特性如下,與在徑數大的時候與Clarke完全一致:
㈤ 高斯過程回歸
對於人口模型可以採用Logistic增長函數形式,它考慮了初期的指數增長以及總資源的限制。其函數形式如下。
首先載入car包以便讀取數據,然後使用nls函數進行建模,其中theta1、theta2、theta3表示三個待估計參數,start設置了參數初始值,設定trace為真以顯示迭代過程。nls函數默認採用Gauss-Newton方法尋找極值,迭代過程中第一列為RSS值,後面三列是各參數估計值。然後用summary返回回歸結果。
library(car)
pop.mod1 <- nls(population ~ theta1/(1+exp(-(theta2+theta3*year))),start=list(theta1 = 400, theta2 = -49, theta3 = 0.025), data=USPop, trace=T)
summary(pop.mod)
在上面的回歸過程中我們直接指定參數初始值,另一種方法是採用搜索策略,首先確定參數取值范圍,然後利用nls2包的暴力方法來得到最優參數。但這種方法相當費時。
還有一種更為簡便的方法就是採用內置自啟動模型(self-starting Models),此時我們只需要指定函數形式,而不需要指定參數初始值。本例的logistic函數所對應的selfstarting函數名為SSlogis
pop.mod2 <- nls(population ~ SSlogis(year,phi1,phi2,phi3),data=USPop)
二、判斷擬合效果
非線性回歸模型建立後需要判斷擬合效果,因為有時候參數最優化過程會捕捉到局部極值點而非全局極值點。最直觀的方法是在原始數據點上繪制擬合曲線。
library(ggplot2)
p <- ggplot(USPop,aes(year, population))
㈥ 高斯過程的應用
高斯過程將多元高斯分布擴展到無限維度。任意數據集中n個觀測量,y={y_{1},..,y_{n}}y=y1,..,yn都可以理解成從某個多元高斯分布中抽取的一個樣本。高斯過程最重要的應用是解決回歸問題 。假設訓練集數據為y,新數據為y*,那麼我們可以根據高斯過程的性質估計新數據的分布。
例子:假設我們有下圖的歷史數據:
我們要估計新的數據點x*=0.2的分布。根據上述過程,我們首先有6個觀測值y,分別是:
從誤差線得知sigma_{n}=0.3,那麼根據協方差公式,我們有:
根據高斯過程的條件概率公式,我們可以計算出新觀測點的均值與方差分別是0.95與0.21。即服從N(0.95,0.21)的高斯分布。
㈦ 怎麼用Java寫高斯回歸方程
高斯消元法(或譯:高斯消去法),是線性代數規劃中的一個演算法,可用來為線性方程組求解。但其演算法十分復雜,不常用於加減消元法,求出矩陣的秩,以及求出可逆方陣的逆矩陣。不過,如果有過百萬條等式時,這個演算法會十分省時。
一些極大的方程組通常會用迭代法以及花式消元來解決。當用於一個矩陣時,高斯消元法會產生出一個「行梯陣式」。
高斯消元法可以用在電腦中來解決數千條等式及未知數。亦有一些方法特地用來解決一些有特別排列的系數的方程組。
㈧ Gaussian process是什麼意思
Gaussian process
詞典結果:
Gaussian process
高斯過程;
以上結果來自金山詞霸
例句:
1.
Instead, the authors of the new paper employ a technique called gaussian process regression ( gpr), which is not commonly used in the field of global health, but which they believe is more accurate, to plug the gaps and make the forecasts.
相反,該報告的作者們採用了一種叫做高斯過程回歸(gpr)的技術,這種技術還沒有廣泛應用於全球衛生范圍,但是他們相信這種技術天枰缺口和預測結果時將更加准確。
㈨ 高斯過程回歸中有哪些常用的核函數
有各向同性的平方指數核函數,各向異性的平方指數核函數,線性核函數,各向同性有理核函數以及各向異性有理核函數等等
㈩ AutoML自動超參調優
現在AutoML非常的火,各大雲平台都在推出自己的AutoML服務,包括Google Cloud,Amazon SageMaker,MS Azure等等。AutoML要解決的問題主要是釋放機器學習過程中的人力投入,包括:
本文主要關注的是 模型超參優化 的自動化。
AutoML自動調參又可以稱作黑箱超參優化(Blackbox hyperparameter optimization)。比較常見的做法是將調參系統和訓練系統分離開,模型、數據和訓練過程由用戶來控制,調參系統給訓練系統建議一組或多組參數,訓練系統反饋結果,然後調參系統根據反饋結果產生下一組建議的參數。這個過程一直迭代直至滿足了終止條件。
調參演算法的輸入是用戶指定的參數及其范圍,比如設定學習率范圍為[0.0001, 0.01]。比較常見的演算法為網格搜索,隨機搜索和貝葉斯優化等。
遍歷所有可能的參數組合。網格搜索很容易理解和實現,例如我們的超參數A有2種選擇,超參數B有3種選擇,超參數C有5種選擇,那麼我們所有的超參數組合就有2 * 3 * 5也就是30種,我們需要遍歷這30種組合並且找到其中最優的方案,對於連續值我們還需要等間距采樣。實際上這30種組合不一定取得全局最優解,而且計算量很大很容易組合爆炸,並不是一種高效的參數調優方法。
限定搜索次數,隨機選擇參數進行實驗。業界公認的Random search效果會比Grid search好,Random search其實就是隨機搜索,例如前面的場景A有2種選擇、B有3種、C有5種、連續值隨機采樣,那麼每次分別在A、B、C中隨機取值組合成新的超參數組合來訓練。雖然有隨機因素,但隨機搜索可能出現效果特別差、也可能出現效果特別好,在嘗試次數和Grid search相同的情況下一般最值會更大
業界的很多參數調優系統都是基於貝葉斯優化的,如Google Vizier [1], SigOpt[2].
該演算法要求已經存在幾個樣本點(一開始可以採用隨機搜索來確定幾個初始點),並且通過高斯過程回歸(假設超參數間符合聯合高斯分布)計算前面n個點的後驗概率分布,得到每一個超參數在每一個取值點的期望均值和方差,其中均值代表這個點最終的期望效果,均值越大表示模型最終指標越大,方差表示這個點的效果不確定性,方差越大表示這個點不確定是否可能取得最大值非常值得去探索。
在調參的過程中,有的參數在訓練的過程中,觀察曲線的趨勢,會發現它是不太有希望在訓練結束達成目標的,這個時候,將這些任務終止掉,釋放資源,繼續別的參數的嘗試。這樣可以快速試錯,快速調整。[1]
我調研了Github上開源的超參調優系統,按照受關注程度排序如下:
現在的調參系統基本上都是基於貝葉斯優化的思想,將調參任務作為一個黑箱優化的問題。在後面的博客中,我會詳細介紹貝葉斯超參調優的思想。
[1] Google Vizier A Service for Black-Box Optimization
[2] SigOpt: https://sigopt.com/