国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

解讀神經(jīng)網(wǎng)絡(luò)十大誤解,再也不會弄錯(cuò)它的工作原理

2019-11-11 02:10:23
字體:
供稿:網(wǎng)友

http://synchuman.baijia.baidu.com/article/437961

解讀神經(jīng)網(wǎng)絡(luò)十大誤解,再也不會弄錯(cuò)它的工作原理

機(jī)器之心 Synced 05月05日 09:44神經(jīng)網(wǎng)絡(luò) 誤解 分類 :互聯(lián)網(wǎng)閱讀:1506 搶沙發(fā)
神經(jīng)網(wǎng)絡(luò)是機(jī)器學(xué)習(xí)算法中最流行和最強(qiáng)大的一類。但在作者看來,因?yàn)槿藗儗ι窠?jīng)網(wǎng)絡(luò)工作原理存在誤解,導(dǎo)致網(wǎng)絡(luò)設(shè)計(jì)也很糟糕。所以這篇文章就對其中一些誤解進(jìn)行了討論。

神經(jīng)網(wǎng)絡(luò)是機(jī)器學(xué)習(xí)算法中最流行和最強(qiáng)大的一類。在計(jì)量金融中,神經(jīng)網(wǎng)絡(luò)常被用于時(shí)間序列預(yù)測、構(gòu)建專用指標(biāo)、算法交易、證券分類和信用風(fēng)險(xiǎn)建模。它們也被用于構(gòu)建隨機(jī)過程模型和價(jià)格衍生品。盡管神經(jīng)網(wǎng)絡(luò)有這些用處,但它們卻往往有一個(gè)壞名聲,因?yàn)樗鼈兊谋憩F(xiàn)是「不可靠的」。在我看來,原因在于對神經(jīng)網(wǎng)絡(luò)工作原理存在誤解,導(dǎo)致網(wǎng)絡(luò)設(shè)計(jì)也很糟糕。本文將對其中的一些誤解進(jìn)行討論。

核心要點(diǎn)

神經(jīng)網(wǎng)絡(luò)不是人類大腦的模型

神經(jīng)網(wǎng)絡(luò)并不是統(tǒng)計(jì)學(xué)的「弱形式」

神經(jīng)網(wǎng)絡(luò)流行許多不同的架構(gòu)

規(guī)模很重要,但并不是越大越好

神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法有很多種

神經(jīng)網(wǎng)絡(luò)并不總是需要大量數(shù)據(jù)

神經(jīng)網(wǎng)絡(luò)不能基于任何數(shù)據(jù)訓(xùn)練

神經(jīng)網(wǎng)絡(luò)需要被再訓(xùn)練

神經(jīng)網(wǎng)絡(luò)不是黑箱

神經(jīng)網(wǎng)絡(luò)不難實(shí)現(xiàn)

1. 神經(jīng)網(wǎng)絡(luò)不是人類大腦的模型

人類大腦,是我們這個(gè)時(shí)代最大的奧秘之一,科學(xué)家還未對其工作方式達(dá)成共識。目前已有的關(guān)于大腦的兩個(gè)理論分別叫做祖母細(xì)胞理論(grandmother cell theory)和分布式表征理論。前一個(gè)理論認(rèn)為,單個(gè)神經(jīng)元具有很高的信息容量,能夠表征復(fù)雜的概念,如你的祖母或甚至 Jennifer Aniston(《老友記》女主角之一——譯者)。后一個(gè)理論則認(rèn)為,神經(jīng)元要簡單得多,而復(fù)雜的表征分布在許多神經(jīng)元上。人工神經(jīng)網(wǎng)絡(luò)受到了第二種理論不夠精確的啟發(fā)。

我認(rèn)為,目前這一代神經(jīng)網(wǎng)絡(luò)不具備感知(sentience,一個(gè)與智能不同概念)能力的一個(gè)原因在于,生物神經(jīng)元遠(yuǎn)比人工神經(jīng)元復(fù)雜。

大腦中的一個(gè)單個(gè)神經(jīng)元就是一個(gè)極其復(fù)雜的機(jī)器,即使在今天,我們也還不能理解它。而神經(jīng)網(wǎng)絡(luò)中的一個(gè)「神經(jīng)元」只是一個(gè)極其簡單的數(shù)學(xué)函數(shù),它只能獲取生物神經(jīng)元復(fù)雜性中極小的一部分。所以,如果要說神經(jīng)網(wǎng)絡(luò)模擬大腦,那也只在不夠精確的啟發(fā)水平上是對的,但事實(shí)上人工神經(jīng)網(wǎng)絡(luò)和生物大腦沒什么相似之處。——吳恩達(dá)

大腦和神經(jīng)網(wǎng)絡(luò)之間的另一個(gè)巨大不同:大小和組織性。人類大腦包含的神經(jīng)元和突觸數(shù)量遠(yuǎn)多于神經(jīng)網(wǎng)絡(luò),而且它們是自組織和自適應(yīng)的。相對地,神經(jīng)網(wǎng)絡(luò)是根據(jù)一個(gè)架構(gòu)進(jìn)行組織的。神經(jīng)網(wǎng)絡(luò)的「自組織」非常和大腦的自組織并不是一個(gè)意思,它更類似于一張圖標(biāo),而不是一張有序的網(wǎng)絡(luò)。

最先進(jìn)的大腦成像技術(shù)生成的有趣大腦視圖

所以,那是什么意思?可以這樣想:神經(jīng)網(wǎng)絡(luò)受到大腦啟發(fā),就像北京的奧運(yùn)體育場的設(shè)計(jì)靈感源自鳥巢。這并不意味著,該奧運(yùn)體育場就是一個(gè)鳥巢,只是說,鳥巢的一些元素存在于該體育場的設(shè)計(jì)中。換句話說,大腦的元素存在于神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)中,但它們的相似程度比你想象的低得多。

事實(shí)上,比起人類大腦,神經(jīng)網(wǎng)絡(luò)更接近于曲線擬合(curve fitting)和回歸分析(regression analysis)等統(tǒng)計(jì)方法。我認(rèn)為,在計(jì)量金融的背景中記住這一點(diǎn)很重要,雖說某件事物是「由大腦啟發(fā)的」可能聽起來很酷,但是,這一表述可能會導(dǎo)致不切實(shí)際的期望或擔(dān)憂。

曲線擬合,亦即函數(shù)逼近。神經(jīng)網(wǎng)絡(luò)常被用來逼近復(fù)雜的數(shù)學(xué)函數(shù)

2. 神經(jīng)網(wǎng)絡(luò)并不是統(tǒng)計(jì)學(xué)的「弱形式」

神經(jīng)網(wǎng)絡(luò)由互連節(jié)點(diǎn)層組成。單個(gè)節(jié)點(diǎn)被稱為感知器(perceptron),類似于一個(gè)多元線性回歸(multiple linear regression)。多元線性回歸和感知器之間的不同之處在于:感知器將多元線性回歸生成的信號饋送進(jìn)可能線性也可能非線性的激活函數(shù)中。在多層感知器(MLP)中,感知器按層級排布,層與層之間互相連接。在 MLP 中有三種類型的層,即:輸入層(input layer)、隱藏層(hidden layer)和輸出層(output layer)。輸入層接收輸入模式而輸出層可以包含一個(gè)分類列表或那些輸入模式可以映射的輸出信號。隱藏層調(diào)整那些輸入的權(quán)重,直到將神經(jīng)網(wǎng)絡(luò)的誤差降至最小。對此的一個(gè)解釋是,隱藏層提取輸入數(shù)據(jù)中的顯著特征,這些特征有關(guān)于輸出的預(yù)測能力。

映射輸入:輸出

感知器接收輸入向量,z=(z1,z2,…,zn)z=(z1,z2,…,zn),包含 n 個(gè)屬性。該輸入向量被稱為輸入模式(input pattern)。這些輸入再通過屬于感知器的權(quán)重向量 v=(v1,v2,…,vn) 進(jìn)行加權(quán)。在多元線性回歸的背景中,這些可被認(rèn)為是回歸系數(shù)或 β 系數(shù)。感知器的凈輸入信號通常是輸入模式和其權(quán)重的總和產(chǎn)物。使用該總和產(chǎn)物得到凈值(net)的神經(jīng)元被稱為求和單元(summation unit)。

凈輸入信號減去偏差 θ 后被輸入一些激活函數(shù) f()。激活函數(shù)通常是單調(diào)遞增函數(shù),其值位于 (0,1) 或 (-1,1) 之間(本文后面將進(jìn)一步對此進(jìn)行討論)。激活函數(shù)可以是線性的,也可以是非線性的。

下面是神經(jīng)網(wǎng)絡(luò)中一些常見的激活函數(shù):

依次為:線性函數(shù)、階躍函數(shù)、斜坡函數(shù)、S 型函數(shù)、雙曲正切函數(shù)、高斯函數(shù)

最簡單的神經(jīng)網(wǎng)絡(luò)只有一個(gè)映射輸入到輸出的神經(jīng)元。對于給定模式 p,該網(wǎng)絡(luò)的目標(biāo)是相對一些給定的訓(xùn)練模式 tp 的一些一只的目標(biāo)值來最小化輸出信號 op 的誤差。比如,如果該神經(jīng)元應(yīng)該映射 p 到 -1,但卻將其映射到了 1,那么,根據(jù)距離的求和平方測定,神經(jīng)元的誤差為 4,即 (-1-1)^2.

分層

如上圖所示,感知器被分層進(jìn)行組織。感知器的第一層被稱為輸入層,它接收訓(xùn)練集 PT 中的模式 p. 最后一層映射到這些模型的預(yù)期輸出。舉一個(gè)輸出的例子:模式可以是關(guān)于安全性的不同技術(shù)指標(biāo)的數(shù)量列表,而潛在的輸出則可能是 {買進(jìn)、持有、賣出} 這樣的分類。

隱藏層則將前一層的輸出作為下一層的輸入;而下一層的輸出又會作為另一層的輸入。所以,這些隱藏層到底在做什么?一個(gè)解釋是,它們提取輸入數(shù)據(jù)中的顯著特征,這些特征可以預(yù)測輸出。這個(gè)過程被稱為特征提取(feature extraction),而且在某種程度上,其和主成分分析(PCA)等統(tǒng)計(jì)技術(shù)具有相似的功能。

深度神經(jīng)網(wǎng)絡(luò)具有大量隱藏層,有能力從數(shù)據(jù)中提取更加深層的特征。最近,深度神經(jīng)網(wǎng)絡(luò)在圖像識別問題上取得了異常優(yōu)異的表現(xiàn)。圖像識別中的特征提取的圖示如下:

除了過擬合(overfitting)的明顯風(fēng)險(xiǎn),我認(rèn)為,用于交易的深度神經(jīng)網(wǎng)絡(luò),在使用上所面臨的一個(gè)問題是該神經(jīng)網(wǎng)絡(luò)的輸入幾乎總是經(jīng)過了嚴(yán)重的預(yù)處理,這意味著實(shí)際可以提取的特征可能非常少,因?yàn)檩斎胍呀?jīng)是某種程度的特征了。

學(xué)習(xí)規(guī)則

正如前面提到的那樣,神經(jīng)網(wǎng)絡(luò)的目標(biāo)是最小化一些錯(cuò)誤度量(measure of error) ε. 最常見的錯(cuò)誤度量是誤差平方和(Sum squared error (SSE));盡管在金融市場的應(yīng)用中,這種度量對異常值很敏感,而且可能沒有跟蹤誤差(tracking error)那樣合適。

誤差平方和:

鑒于該網(wǎng)絡(luò)的目標(biāo)是最小化 ε,我們可以使用一種優(yōu)化算法調(diào)整該神經(jīng)網(wǎng)絡(luò)中的權(quán)重。神經(jīng)網(wǎng)絡(luò)最常見的學(xué)習(xí)算法是梯度下降算法,盡管也可能使用其它算法和潛在更好的優(yōu)化算法。梯度下降算法的工作方式是,計(jì)算相對于神經(jīng)網(wǎng)絡(luò)中每一層的權(quán)重的誤差偏導(dǎo)數(shù),然后在與梯度相反的方向上移動(dòng)(因?yàn)槲覀兿胱钚』窠?jīng)網(wǎng)絡(luò)的誤差)。通過最小化誤差,我們可以最大化神經(jīng)網(wǎng)絡(luò)在樣本中的表現(xiàn)。

數(shù)學(xué)表示神經(jīng)網(wǎng)絡(luò)(v)中的權(quán)重更新規(guī)則由下式給出:

其中 η 是指學(xué)習(xí)率,控制著神經(jīng)網(wǎng)絡(luò)收斂的快慢程度。f 相對于模式 p 的凈輸入信號的偏導(dǎo)數(shù)的計(jì)算是所有非連續(xù)激活函數(shù)所面臨的問題,這不值一提;這也是可能使用可選優(yōu)化算法的一個(gè)原因。學(xué)習(xí)率的選擇對神經(jīng)網(wǎng)絡(luò)的表現(xiàn)有很大的影響。較小值的 η 可能導(dǎo)致非常慢的收斂,而較高值的 η 則可能導(dǎo)致訓(xùn)練中的大量偏差。

小學(xué)習(xí)率慢收斂,大學(xué)習(xí)率發(fā)散

總結(jié)

不管我遇見過的一些統(tǒng)計(jì)學(xué)家相信什么,神經(jīng)網(wǎng)絡(luò)不只是「懶人分析師的弱形式的統(tǒng)計(jì)學(xué)」(之前確實(shí)有人跟我這么說,而且這還挺有趣);神經(jīng)網(wǎng)絡(luò)代表了一種可追溯到幾百年前的可靠統(tǒng)計(jì)方法的抽象。對于神經(jīng)網(wǎng)絡(luò)背后的統(tǒng)計(jì)學(xué),我推薦閱讀超棒的這一章(http://page.mi.fu-berlin.de/rojas/neural/chapter/K9.pdf)。話雖如此,但我同意,一些從業(yè)者喜歡將神經(jīng)網(wǎng)絡(luò)看作是「黑箱」,這樣就可以在沒有花時(shí)間了解問題的本質(zhì)和神經(jīng)網(wǎng)絡(luò)是否是合適的選擇的前提下,將神經(jīng)網(wǎng)絡(luò)應(yīng)用于任何問題。在交易使用神經(jīng)網(wǎng)絡(luò)就是其中一例;市場是動(dòng)態(tài)變化的,但是,隨著時(shí)間的過去,神經(jīng)網(wǎng)絡(luò)假設(shè)輸入模式的分布仍然保持靜止。在《All Models are Wrong, 7 Sources of Model Risk》中可看到更詳細(xì)的討論。

3.神經(jīng)網(wǎng)絡(luò)流行許多不同的架構(gòu)

到目前為止,我們已經(jīng)討論了最簡單的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),也就是多層感知器(multi-layer perception)。還有很多不同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(太多了,以至于難以在此提及),而且,任何神經(jīng)網(wǎng)絡(luò)的性能,是其結(jié)構(gòu)和權(quán)重的一個(gè)函數(shù)。如今在機(jī)器學(xué)習(xí)領(lǐng)域中取得的許多進(jìn)步,并非源自重新思考感知器和優(yōu)化算法工作原理,而是創(chuàng)造性地思考如何融合這些組分。在下面,我會討論一些非常有趣且富創(chuàng)造性的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),遞歸神經(jīng)網(wǎng)絡(luò)(RNN)——一些或所有的連接倒流,意味著反饋環(huán)路存在于網(wǎng)絡(luò)中。人們相信,這些網(wǎng)絡(luò)能夠在時(shí)間序列數(shù)據(jù)上表現(xiàn)得更好。照此說來,在金融市場的語境中,他們可能會特別相關(guān)。更多信息,請參見這篇很棒的文章《The unreasonable performance of recurrent [deep] neural networks.》

這張圖表展示了三個(gè)流行的遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),即 Elman 神經(jīng)網(wǎng)絡(luò),Jordan 神經(jīng)網(wǎng)絡(luò)與 Hopfield 單層神經(jīng)網(wǎng)絡(luò)。

一個(gè)更新近、有趣的遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)是神經(jīng)圖靈機(jī)器(Neural Turing Machine),結(jié)合了存儲器與一個(gè)遞歸神經(jīng)網(wǎng)絡(luò)。事實(shí)已經(jīng)證明,這些神經(jīng)網(wǎng)絡(luò)是圖靈完全(Turing complete)的,并能夠?qū)W習(xí)分類算法和其他計(jì)算任務(wù)。

Boltzmann 神經(jīng)網(wǎng)絡(luò)——最早的全連接神經(jīng)網(wǎng)絡(luò)之一,也就是 Boltzmann 機(jī)。這些網(wǎng)絡(luò)是第一批能夠?qū)W習(xí)內(nèi)部表征、解決非常難的組合數(shù)學(xué)問題的網(wǎng)絡(luò)。對 Boltzmann 機(jī)的一個(gè)解釋是這樣的:Hopfield 遞歸神經(jīng)網(wǎng)絡(luò)的蒙特卡洛版。盡管如此,很難訓(xùn)練神經(jīng)網(wǎng)絡(luò),但是,受到約束時(shí),會比傳統(tǒng)神經(jīng)網(wǎng)絡(luò)更有效。給 Boltzmann 機(jī)施加限制,最流行的做法就是不準(zhǔn)許隱藏神經(jīng)元之間建立直接聯(lián)系。這一特殊結(jié)構(gòu)被稱為受限 Boltzmann 機(jī)(Restricted Boltzmann Machine),被用于深度受限 Boltzmann 機(jī)(Deep Botlzmann Machines)。

圖表展示了不同的波茲曼機(jī)(帶有不同節(jié)點(diǎn)連接),如何能顯著影響神經(jīng)網(wǎng)絡(luò)結(jié)果

深度神經(jīng)網(wǎng)絡(luò)——有著多層隱藏層的神經(jīng)網(wǎng)絡(luò)。近些年,深度神經(jīng)網(wǎng)絡(luò)已經(jīng)成為最流行的網(wǎng)絡(luò),因?yàn)樵趫D像和聲音識別方面,它們?nèi)〉昧饲八从械某晒ΑI疃壬窠?jīng)網(wǎng)絡(luò)架構(gòu)數(shù)量正在迅速增長,一些最受歡迎的架構(gòu)包括深度信任網(wǎng)絡(luò)(Deep Belief Networks),卷積神經(jīng)網(wǎng)絡(luò),深度受限波茲曼機(jī),棧化自動(dòng)編碼器,等等。深度神經(jīng)網(wǎng)絡(luò)最大問題之一,尤其是不穩(wěn)定的金融市場環(huán)境下,是過度擬合。

多個(gè)隱藏層組成的深度神經(jīng)網(wǎng)絡(luò)

自適應(yīng)神經(jīng)網(wǎng)絡(luò)(Adaptive Neural Networks)——能夠在學(xué)習(xí)中同時(shí)自適應(yīng)、并優(yōu)化自身結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)。實(shí)現(xiàn)這一點(diǎn),要么是靠發(fā)展結(jié)構(gòu)(添加更多隱藏層)或壓縮結(jié)構(gòu)(修剪不必要的隱藏層)。我相信,自適應(yīng)神經(jīng)網(wǎng)絡(luò)是最適合金融市場的網(wǎng)絡(luò),因?yàn)槭袌鼍哂袆?dòng)態(tài)性。之所以這么說,是因?yàn)樯窠?jīng)網(wǎng)絡(luò)所讀取的特征可能會隨著時(shí)間和市場的變化而有所加強(qiáng)或減弱。這意味著,過去收效很好的架構(gòu)也需要修改,才能在今天達(dá)到最好的效果。

兩個(gè)不同類型的自適應(yīng)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。左圖是級聯(lián)神經(jīng)網(wǎng)絡(luò)(cascade neural network),右圖是自組織映射。

徑向基函數(shù)網(wǎng)絡(luò)(Radial basis networks)——盡管從感知與連接上來說并不是一個(gè)不同類型的結(jié)構(gòu),徑向基函數(shù)網(wǎng)絡(luò)利用徑向基函數(shù)作為它們激活功能,這些是真實(shí)的重要功能,其輸出從一個(gè)特定的角度來看取決于距離。最常用的徑向基函數(shù)是高斯分布。由于徑向基函數(shù)可以采用更加復(fù)雜的形式,他們最初用于執(zhí)行函數(shù)插值。因此徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)可以有一個(gè)更高的信息能力。徑向基函數(shù)還用于支持向量機(jī)(Support Vector Machine)的內(nèi)核。

利用徑向基函數(shù),如何實(shí)現(xiàn)曲線擬合

總之,有數(shù)百個(gè)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),而且一個(gè)神經(jīng)網(wǎng)絡(luò)性能可以會顯著優(yōu)于另一個(gè)。有興趣使用神經(jīng)網(wǎng)絡(luò)進(jìn)行量化分析的人,可能要測試多個(gè)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),并結(jié)合它們的輸出一起考慮,要從總體上最大化他們的投資成績。利用神經(jīng)網(wǎng)絡(luò)進(jìn)行交易之前,我建議先閱讀我寫的《All Your Models are Wrong,7 Sources of Model Risk》,因?yàn)槔锩嬲劦降牟簧賳栴}仍然有用。

4.規(guī)模很重要,但并不是越大越好

選擇了一個(gè)架構(gòu)后,你還要決定神經(jīng)網(wǎng)絡(luò)的規(guī)模大小。多少輸入?應(yīng)該使用多少隱藏神經(jīng)元?又有多少要用的隱藏層(如果我們用的是深度神經(jīng)網(wǎng)絡(luò)的話)?多少輸出神經(jīng)元?這些問題之所以十分重要是因?yàn)槿绻窠?jīng)網(wǎng)絡(luò)太大(或太小),神經(jīng)網(wǎng)絡(luò)可能會出現(xiàn)過度擬合(或擬合不夠),也就是說,網(wǎng)絡(luò)無法順利泛化樣本。

該利用多少或哪些輸入?

輸入的數(shù)量取決于待決問題、可提供數(shù)據(jù)的數(shù)量和質(zhì)量,或許還需要一些創(chuàng)造力。輸入是一些簡單的變量,我們相信,這些變量具有一些預(yù)測能力,可以根據(jù)被預(yù)測的因變量進(jìn)行一些預(yù)測。如果不清楚某個(gè)問題的輸入,你可以系統(tǒng)地決定哪個(gè)變量應(yīng)該被包括在內(nèi),方法就是觀察潛在自變量和因變量之間的相關(guān)性和互相關(guān)。這種方法在《What Drives Real GDP Growth?》中有詳細(xì)介紹。

利用相關(guān)性去選擇輸入變量,存在兩個(gè)問題。首先,如果你正在使用一個(gè)線性相關(guān)矩陣,你也許會不小心排除了有用的變量。第二,兩個(gè)相對不相關(guān)變量,結(jié)合在一起,可能會產(chǎn)生一個(gè)強(qiáng)相關(guān)變量。如果孤立觀察變量,你也許會錯(cuò)失這一良機(jī)。為了克服第二種問題,你應(yīng)該利用主成分分析去獲取有用的特征向量(變量的線性結(jié)合),并將它們作為輸入。這里的問題是,特征向量也許不能很好地泛化,而且它們還假設(shè)輸入模式分布是固定的。

選擇變量過程中會遇到的另一個(gè)問題,就是多重共線性。多重共線性是指,正被輸入到模型中的獨(dú)立變量中,有兩個(gè)或更多的獨(dú)立變量是高度相關(guān)的。在回歸模型的語境下,這種情況可能會引發(fā)回歸系數(shù)根據(jù)模型或數(shù)據(jù)的細(xì)微改變而不規(guī)律地變化。鑒于神經(jīng)網(wǎng)絡(luò)和回歸模型是相似的,我懷疑神經(jīng)網(wǎng)絡(luò)也會存在這個(gè)問題。

最后,但并非不重要的是,當(dāng)選擇變量是基于省略變量的偏見時(shí),或許會引發(fā)統(tǒng)計(jì)學(xué)上的偏見。當(dāng)創(chuàng)建一個(gè)模型,這個(gè)模型遺漏了一個(gè)或者更加重要的原因變量時(shí),省略變量偏見會出現(xiàn)。

當(dāng)模型通過過度或低估某個(gè)其他變量影響的方式,不正確地補(bǔ)償漏掉的變量時(shí),也會制造偏見。比如,權(quán)重會變得過大,或SSE(誤差平方和)會過大。

我該使用多少隱藏神經(jīng)元?

隱藏單元的最佳數(shù)目,是個(gè)細(xì)節(jié)問題。這也就是說,作為一條經(jīng)驗(yàn)法則,隱藏層越多,過度擬合風(fēng)險(xiǎn)越大。當(dāng)神經(jīng)網(wǎng)絡(luò)并沒有學(xué)習(xí)數(shù)據(jù)的重要統(tǒng)計(jì)特征,而是「記憶」模式與他們可能收集到的任何噪音,過度擬合就會發(fā)生。在樣本中,這個(gè)結(jié)果不錯(cuò),但是,離開樣本,這個(gè)結(jié)果沒有說服力。如何避免過度擬合?在產(chǎn)業(yè)領(lǐng)域,有兩種流行的方法:早期停止(early stopping)和規(guī)則化(regularization),而我個(gè)人最喜歡的方法——全程檢索。

早期停止,包括將訓(xùn)練組分為主要訓(xùn)練組和一個(gè)驗(yàn)證組。然后,不是以固定的迭代量來訓(xùn)練神經(jīng)網(wǎng)絡(luò),而是訓(xùn)練網(wǎng)絡(luò),直到它在驗(yàn)證組上的表現(xiàn)成績開始惡化。本質(zhì)上,這能防止神經(jīng)網(wǎng)絡(luò)使用所有可以接觸到的參數(shù),并限制它簡單記憶每一個(gè)所見模式的能力。這幅圖顯示了兩個(gè)潛在的停止點(diǎn)(a 和 b)。

圖片展示了神經(jīng)網(wǎng)絡(luò)在a到b進(jìn)行阻止后的效果與過度擬合

規(guī)范化是指,神經(jīng)網(wǎng)絡(luò)利用復(fù)雜結(jié)構(gòu)時(shí),對其進(jìn)行懲罰。可以根據(jù)神經(jīng)網(wǎng)絡(luò)權(quán)重大小來衡量這一方法的復(fù)雜性。可以這樣實(shí)現(xiàn)規(guī)范化,添加一個(gè)條件(term),求平方誤差目標(biāo)函數(shù),這個(gè)函數(shù)取決于權(quán)重大小。這相當(dāng)于添加一個(gè)先驗(yàn)(PRior),讓神經(jīng)網(wǎng)絡(luò)相信它正在逼近的函數(shù)是平滑的。

n是神經(jīng)網(wǎng)絡(luò)中的權(quán)重?cái)?shù)值。參數(shù)α與β控制著神經(jīng)網(wǎng)絡(luò)過度擬合或擬合不足程度。

我最喜歡的技術(shù),也是到目前為止計(jì)算最昂貴的,就是全程搜索。在這一方法中,搜索算法被用來嘗試不同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),最終做出一個(gè)近乎最佳的選擇。人們經(jīng)常使用基因算法來實(shí)現(xiàn)這個(gè)。

什么是輸出?

神經(jīng)網(wǎng)絡(luò)能被用于回歸或分類。在回歸模型中,一個(gè)簡單輸出值可能被會被隱射到一組真實(shí)數(shù)字,這意味著只需要一個(gè)輸出神經(jīng)元。在分類模型中,針對模式可能被歸入的每個(gè)潛在類別,系統(tǒng)需要一個(gè)輸出神經(jīng)元。如果類別是未知的,我們就要使用無監(jiān)督神經(jīng)網(wǎng)絡(luò)技術(shù),比如自組織映射。

總而言之,最好的辦法是遵守奧卡姆剃刀原理。奧卡姆剃刀原理主張,對于兩個(gè)性能相當(dāng)?shù)哪P停杂蓞?shù)更少的模型,其泛化效果越加。另一方面,絕不能通過犧牲效果,來選擇過度簡化的模型。類似地,人們不能去假設(shè),僅僅因?yàn)樯窠?jīng)網(wǎng)絡(luò)有更多的隱藏層與隱藏神經(jīng)元,它就一定優(yōu)于更簡單的網(wǎng)絡(luò)。不幸的是,在我看來,人們似乎太重視大型網(wǎng)絡(luò),很少強(qiáng)調(diào)做一個(gè)好的設(shè)計(jì)決策。就神經(jīng)網(wǎng)絡(luò)而言,規(guī)模更大并不意味著效果更好。

5. 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法有很多種

神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法不斷嘗試優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)重,直到遇到必須停止的情況。這種情況通常發(fā)生在網(wǎng)絡(luò)的誤差率降到了可接受水平時(shí)、驗(yàn)證集的誤差率開始變差時(shí)、或指定的計(jì)算資源預(yù)算已被耗盡時(shí)。目前最常見的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法是反向轉(zhuǎn)播(backpropagation)算法,這種算法使用了前文提到過的隨機(jī)梯度下降。反向轉(zhuǎn)播包括兩個(gè)步驟:

前向傳播——將訓(xùn)練數(shù)據(jù)集通過網(wǎng)絡(luò),記錄下神經(jīng)網(wǎng)絡(luò)的輸出并計(jì)算出網(wǎng)絡(luò)的誤差。

反向轉(zhuǎn)播——將誤差信號反向通過網(wǎng)絡(luò),使用梯度下降優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)重。

這種算法存在一些問題:一次性調(diào)整所有權(quán)重將會導(dǎo)致權(quán)重空間中的神經(jīng)網(wǎng)絡(luò)出現(xiàn)明顯的變化、隨機(jī)梯度下降算法非常慢、對局部最小值敏感。對于一些特定的神經(jīng)網(wǎng)絡(luò)(包括所有的 product link 神經(jīng)網(wǎng)絡(luò))局部最小值是一個(gè)問題。反向轉(zhuǎn)播算法的前兩個(gè)問題可以通過使用梯度下降算法的變體來解決,例如動(dòng)量梯度下降(QuickProp)、Nesterov 加速動(dòng)量(NAG)梯度下降、自適應(yīng)梯度算法(AdaGrad)、彈性反向傳播(RProp)和均方根反向傳播(RMSProp)。下圖可以看到,變體算法相比經(jīng)典梯度下降算法可以有明顯的提高。

需要指出的是,這些算法并不能完全解決局部最小值問題,而且在同時(shí)優(yōu)化神經(jīng)網(wǎng)絡(luò)的架構(gòu)和權(quán)重時(shí)用處也不大。為了得到所需的全局優(yōu)化算法。兩種流行的全局優(yōu)化算法是粒子群優(yōu)化算法(PSO)和遺傳算法(GA)。下面是兩者可被用來訓(xùn)練神經(jīng)網(wǎng)絡(luò)的方式:

神經(jīng)網(wǎng)絡(luò)向量表示—— 通過將神經(jīng)網(wǎng)絡(luò)編碼為權(quán)重向量,每一個(gè)向量代表神經(jīng)網(wǎng)絡(luò)中一個(gè)連接的權(quán)重,我們可以使用大部分元啟發(fā)式(meta-heuristic)搜索算法來訓(xùn)練這種神經(jīng)網(wǎng)絡(luò)。因?yàn)橄蛄繒兊锰@種算法在訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)上效果不佳。

下圖展示了將神經(jīng)網(wǎng)絡(luò)表示為向量并與搜索空間或適應(yīng)度曲面的概念相聯(lián)系的方式:

粒子群優(yōu)化算法(PSO)——使用 PSO 訓(xùn)練神經(jīng)網(wǎng)絡(luò)可以構(gòu)建一個(gè)這些神經(jīng)網(wǎng)絡(luò)的群體/集群。每個(gè)神經(jīng)網(wǎng)絡(luò)都可表示為權(quán)重的向量,并根據(jù)它在全局最優(yōu)粒子中的位置和它自身最優(yōu)的情況來進(jìn)行調(diào)整。

在訓(xùn)練數(shù)據(jù)集一次前向傳播之后,適應(yīng)度函數(shù)將作為重構(gòu)的神經(jīng)網(wǎng)絡(luò)的誤差平方和進(jìn)行計(jì)算。這個(gè)方法主要考慮的是權(quán)重更新的波動(dòng)性。因?yàn)槿绻麢?quán)重調(diào)整的太快,神經(jīng)網(wǎng)絡(luò)的誤差平方和的變化將停滯,不會產(chǎn)生學(xué)習(xí)行為。

下圖示出了在單一群體的粒子群優(yōu)化算法中粒子是如何被其它粒子吸引的。

遺傳算法——使用遺傳算法訓(xùn)練神經(jīng)網(wǎng)絡(luò),首先構(gòu)建一個(gè)表示神經(jīng)網(wǎng)絡(luò)的向量的群體。然后對群體應(yīng)用三項(xiàng)遺傳因子以使其逐步進(jìn)化成越來越好的神經(jīng)網(wǎng)絡(luò)。這三項(xiàng)遺傳因子是:

1.選擇——使用一次前向傳播之后的誤差平方和,對神經(jīng)網(wǎng)絡(luò)群體進(jìn)行排序。群體中排名前 x %的神經(jīng)網(wǎng)絡(luò)可「生存」至下一輪,被用于雜交。

2.雜交——將排名前 x %的神經(jīng)網(wǎng)絡(luò)相互混合。這個(gè)過程生成了「子代」。這種情況下,每個(gè)后代都代表一個(gè)新的神經(jīng)網(wǎng)絡(luò),其權(quán)重來自「親代」神經(jīng)網(wǎng)絡(luò)。

3.變異 ——這個(gè)過程是為了保持群體的基因多樣性。一小部分的群體被選中進(jìn)行變異。這些神經(jīng)網(wǎng)絡(luò)的部分權(quán)重將在一個(gè)特定范圍內(nèi)隨機(jī)調(diào)整。

下圖展示了選擇、雜交、變異遺傳因子應(yīng)用至由向量表示的神經(jīng)網(wǎng)絡(luò)群體的過程:

除了基于群體的元啟發(fā)式搜索算法,用來訓(xùn)練神經(jīng)網(wǎng)絡(luò)的算法還包括加入動(dòng)量的反向傳播、差分進(jìn)化法、Levenberg Marquardt 算法、模擬退火法等。我個(gè)人推薦將局部最優(yōu)算法和全局最優(yōu)算法相結(jié)合,來克服兩者的短處。

6. 神經(jīng)網(wǎng)絡(luò)并不總是需要大量數(shù)據(jù)

神經(jīng)網(wǎng)絡(luò)可以使用的三種學(xué)習(xí)策略,包括監(jiān)督學(xué)習(xí)策略、無監(jiān)督學(xué)習(xí)策略、增強(qiáng)學(xué)習(xí)策略。監(jiān)督學(xué)習(xí)需要至少兩個(gè)數(shù)據(jù)集,其中訓(xùn)練集由輸入數(shù)據(jù)和預(yù)期輸出數(shù)據(jù)組成,測試集只包含輸入數(shù)據(jù)。這兩個(gè)數(shù)據(jù)集的數(shù)據(jù)必須有標(biāo)記,即數(shù)據(jù)模式是已知的。無監(jiān)督學(xué)習(xí)策略一般用在沒有標(biāo)記的數(shù)據(jù)中以發(fā)現(xiàn)隱藏結(jié)構(gòu)(例如隱藏的馬爾科夫鏈)。其行為模式與聚類算法相似。增強(qiáng)學(xué)習(xí)基于對神經(jīng)網(wǎng)絡(luò)好的行為獎(jiǎng)賞,對壞的行為懲罰這樣一個(gè)簡單前提。因?yàn)闊o監(jiān)督學(xué)習(xí)和增強(qiáng)學(xué)習(xí)策略不需要帶有標(biāo)記的數(shù)據(jù),所以它們可以應(yīng)用在正確輸出結(jié)果未知的非規(guī)范化問題上。

無監(jiān)督學(xué)習(xí)

最流行的無監(jiān)督神經(jīng)網(wǎng)絡(luò)架構(gòu)之一是自組織映射(Self Organizing Map,也稱為 Kohonen 映射)。自組織映射本質(zhì)上是一個(gè)多維量度技術(shù),其可在保存該數(shù)據(jù)集的拓?fù)浣Y(jié)構(gòu)的同時(shí),構(gòu)建一個(gè)基礎(chǔ)數(shù)據(jù)集 Z 的概率密度分布函數(shù)的近似值。這是通過將數(shù)據(jù)集 Z 中的輸入向量 zi 映射到特征映射 V 中的權(quán)重向量 vj (神經(jīng)元)實(shí)現(xiàn)的。保存拓?fù)浣Y(jié)構(gòu)意味著如果兩個(gè)輸入向量在 Z 中是相鄰的,那么這些輸入向量用 V 所映射神經(jīng)元也是相鄰的。

自組織映射的另一個(gè)有趣的應(yīng)用是對股票交易的時(shí)間序列圖表進(jìn)行上色。這是為了顯示在某一時(shí)間點(diǎn)的市場情況。

強(qiáng)化學(xué)習(xí)

強(qiáng)化學(xué)習(xí)策略由三個(gè)部分組成:一個(gè)指定神經(jīng)網(wǎng)絡(luò)如何進(jìn)行決策的規(guī)則,例如使用技術(shù)分析和基本面分析;一個(gè)區(qū)分好壞的獎(jiǎng)賞功能,例如掙錢 vs. 賠錢;一個(gè)指定長期目標(biāo)的價(jià)值函數(shù)。在金融市場(和游戲領(lǐng)域)環(huán)境中,強(qiáng)化學(xué)習(xí)策略特別有用,因?yàn)樯窠?jīng)網(wǎng)絡(luò)可以學(xué)習(xí)對特定量化指標(biāo)進(jìn)行優(yōu)化,例如對風(fēng)險(xiǎn)調(diào)整收益的合適量度。

下圖展示了神經(jīng)網(wǎng)絡(luò)可以負(fù)面或正面增強(qiáng)。

7. 神經(jīng)網(wǎng)絡(luò)不能基于任何數(shù)據(jù)訓(xùn)練

神經(jīng)網(wǎng)絡(luò)可能不能工作的一個(gè)最大的問題是使用者沒有對注入神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)做適當(dāng)?shù)念A(yù)處理。數(shù)據(jù)標(biāo)準(zhǔn)化、冗余信息消除和異常點(diǎn)移除都應(yīng)該被用以提高性能良好的神經(jīng)網(wǎng)絡(luò)的可能性。

數(shù)據(jù)標(biāo)準(zhǔn)化——神經(jīng)網(wǎng)絡(luò)由多層感知器組成,感知器由經(jīng)過加權(quán)的連接相互連接。每個(gè)感知器包含一個(gè)擁有特定的「激活范圍」的激活函數(shù)( 徑向基函數(shù)除外)。進(jìn)到神經(jīng)網(wǎng)絡(luò)的輸入需要被調(diào)整到激活范圍內(nèi)以使神經(jīng)網(wǎng)絡(luò)可以區(qū)分不同輸入模式的差別。

舉例來說,給定一個(gè)神經(jīng)網(wǎng)絡(luò)交易系統(tǒng),該系統(tǒng)接收證券組合中提示需要售出或買入證券的輸入和輸出的指示信息。其中一個(gè)輸入是證券的價(jià)格,我們使用 S 型激活函數(shù)。然而,大多數(shù)證券的成本在每股 5 美元和 15 美元之間,在 S 型激活函數(shù)輸出值接近1.0。這樣的話,所有證券的 S 型激活函數(shù)的輸出值都將為1.0,所有的感知器都會失效,神經(jīng)網(wǎng)絡(luò)也無法學(xué)習(xí)。

通過未處理的數(shù)據(jù)獲得訓(xùn)練的神經(jīng)網(wǎng)絡(luò)會產(chǎn)生類似「the lights are on but nobody's home(燈亮著但無人在家)」的模型。

異常點(diǎn)移除——一個(gè)異常點(diǎn)是指數(shù)據(jù)組中遠(yuǎn)大于或遠(yuǎn)小于其它數(shù)據(jù)的值。異常點(diǎn)會因?yàn)榛貧w分析和曲線擬合等統(tǒng)計(jì)技術(shù)而出現(xiàn)問題,因?yàn)楫?dāng)該模型試圖「容納」異常值時(shí),模型在所有其它數(shù)據(jù)上的表現(xiàn)都將下降。

上圖展示了試圖將異常值納入線性回歸模型所導(dǎo)致的數(shù)據(jù)集的糟糕匹配。異常點(diǎn)對包括神經(jīng)網(wǎng)絡(luò)在內(nèi)的線性回歸分析模型的影響是相似的。因此將異常點(diǎn)移出訓(xùn)練數(shù)據(jù)組是非常有必要的。

冗余消除——當(dāng)兩個(gè)或更多被注入神經(jīng)網(wǎng)絡(luò)的獨(dú)立變量高度相關(guān)時(shí)(多元共線性),這將對神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力產(chǎn)生負(fù)面影響。高度相關(guān)的輸入數(shù)據(jù)也說明了每個(gè)變量具有的獨(dú)特信息是較少的,所以更無關(guān)緊要的輸入可以被移除。移除冗余變量的另一個(gè)好處是更快的訓(xùn)練時(shí)間。適應(yīng)性的神經(jīng)網(wǎng)絡(luò)可以用來精簡冗余的連接和感知器。

8. 神經(jīng)網(wǎng)絡(luò)需要被再訓(xùn)練

假定你可以訓(xùn)練一個(gè)在樣本中成功買進(jìn)和賣出的神經(jīng)網(wǎng)絡(luò),這個(gè)神經(jīng)網(wǎng)絡(luò)也可能會隨時(shí)間逐漸失效。這并非是神經(jīng)網(wǎng)絡(luò)的功能有限的體現(xiàn),而是金融市場的準(zhǔn)確反映。金融市場是復(fù)雜的自適應(yīng)系統(tǒng),這意味著它們是實(shí)時(shí)變化的,所以在過去有效的模型在未來可能就可能失效。這種特性被稱作非穩(wěn)態(tài)或動(dòng)態(tài)優(yōu)化問題,神經(jīng)網(wǎng)絡(luò)并不很擅長于解決此類問題。

類似于金融市場的動(dòng)態(tài)環(huán)境對神經(jīng)網(wǎng)絡(luò)而言是非常難以建模處理的。現(xiàn)有兩種解決的方式要么是隨時(shí)間持續(xù)再訓(xùn)練神經(jīng)網(wǎng)絡(luò),要么是使用動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)。動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)「跟蹤」環(huán)境隨時(shí)間產(chǎn)生的變化并相應(yīng)地調(diào)整它們的架構(gòu)和權(quán)值。它們是自適應(yīng)變化的。對于動(dòng)態(tài)問題,多重解的啟發(fā)式優(yōu)化算法可被用于追蹤本地最優(yōu)解隨時(shí)間的變化。其中一個(gè)這樣的算法是多集群優(yōu)化算法(multi-swarm optimization algorithm),這是粒子群優(yōu)化算法衍生算法。另外,增強(qiáng)了多樣性和內(nèi)存的基因算法在動(dòng)態(tài)系統(tǒng)中被證明是穩(wěn)健的。

下圖展示了基因算法是如何隨時(shí)間演化而找到動(dòng)態(tài)系統(tǒng)的最優(yōu)解的。該圖也說明了模仿(從眾)交易群( mimic trade crowding)——市場參與者爭相選擇一個(gè)可觀的市場交易策略的情景,因此爭搶交易機(jī)會讓交易變得不那么有利可圖。

9. 神經(jīng)網(wǎng)絡(luò)不是黑箱

神經(jīng)網(wǎng)絡(luò)本身并不是黑箱。這將問題拋給了那些想要使用神經(jīng)網(wǎng)絡(luò)工具的人,比如,基金經(jīng)理不會知道一個(gè)神經(jīng)網(wǎng)絡(luò)如何做出交易決策,因此也不可能評估這個(gè)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的交易策略的風(fēng)險(xiǎn)。類似地,那些使用神經(jīng)網(wǎng)絡(luò)為信用風(fēng)險(xiǎn)建模的銀行也沒法合理說明為什么一位客戶有著特殊的信用評級。這是一個(gè)監(jiān)管要求。話雖如此,但最先進(jìn)的規(guī)則提取算法已被開發(fā)出來以透明化一些神經(jīng)網(wǎng)絡(luò)架構(gòu)。這些算法從作為數(shù)學(xué)公式、符號邏輯、模糊邏輯或決策樹的神經(jīng)網(wǎng)絡(luò)中提取知識。

數(shù)學(xué)規(guī)則——可以從神經(jīng)網(wǎng)絡(luò)中提取多重線性回歸線的算法已被開發(fā)出來。這些技術(shù)的問題在于,這些規(guī)則往往是很難理解的,因此這些方法還是沒有解決黑箱問題。

命題邏輯——命題邏輯是處理在離散值變量上完成的操作的數(shù)學(xué)邏輯的一個(gè)分支。這些變量, 比如 A  或者  B ,通常要么為「真」,要么為「假」;但它們能覆蓋一個(gè)離散范圍里的值,如  {買進(jìn),持有,賣出}這樣的范圍。

邏輯運(yùn)算可以被應(yīng)用于那些變量,比如 OR, AND 以及 XOR 。這些結(jié)果被稱為謂詞(predicates),可以用量詞量化。這就是謂詞和命題邏輯的區(qū)別。如果有個(gè)簡單神經(jīng)網(wǎng)絡(luò),其中,價(jià)格(P) , 簡單易懂均數(shù) SMA,指數(shù)移動(dòng)均數(shù)EM作為輸入,從命題邏輯神經(jīng)網(wǎng)絡(luò)中提取出一個(gè)遵從策略的趨勢,或許可以得到類似這樣的規(guī)則:

模糊邏輯—模糊邏輯就是概率與命題邏輯相遇之處。命題邏輯的問題在于那是一種絕對處理。比如,買入或者出售,真或偽,0或1。 因此,交易者沒有辦法確定這些結(jié)果的可信度。模糊邏輯克服了這一局限性,因?yàn)橐肓藦膶俸瘮?shù)(membership function),詳細(xì)說明了一個(gè)變量多大程度上屬于某個(gè)特定域。比如,一家公司(谷歌)可能屬于一個(gè)域(買入)的可信度為0.7, 屬于另一個(gè)域(出售)的可信度為 0.3。將神經(jīng)網(wǎng)絡(luò)與模糊邏輯結(jié)合起來,就是神經(jīng)—模糊系統(tǒng)。這種研究調(diào)查討論了各種模糊規(guī)則的提取技術(shù)。

決策樹——決策樹向我們展示了,給定信息后,如何做出決策。決策樹推導(dǎo)是一個(gè)術(shù)語,指的是從神經(jīng)網(wǎng)絡(luò)中提取決策樹這個(gè)過程。

例如,使用決策樹來表示一個(gè)簡單的交易策略。三角型表示決策節(jié)點(diǎn),可以是買入、持有或者出售一家公司。每個(gè)長方塊表示一個(gè)元組 <indicator, inequality,="" value="">。例如 <sma,>, 25> or <ema, <="," 30="">。

10. 神經(jīng)網(wǎng)絡(luò)不難實(shí)現(xiàn)

從經(jīng)驗(yàn)角度來說,白手起家進(jìn)行編碼,這樣搭建神經(jīng)網(wǎng)絡(luò)很有挑戰(zhàn)性。幸運(yùn)的是,現(xiàn)在有數(shù)以百計(jì)的開源和專有包,使得使用神經(jīng)網(wǎng)絡(luò)工作起來簡單多了。以下就是相關(guān)列表,數(shù)量分析專家可能會覺得對計(jì)量金融有用。

H20

H2O 并不只是提供機(jī)器學(xué)習(xí)的算法包,也為使用大數(shù)據(jù)的智能應(yīng)用提供了一套處理速度更快,更具可拓展性的機(jī)器學(xué)習(xí) API 。他們的 API 提供了深度學(xué)習(xí)模型,通用加速模型和通用線性模型以及更多人工智能模型。

谷歌 TENSORFLOW

TensorFlow 是一項(xiàng)用于使用數(shù)據(jù)流圖的數(shù)值計(jì)算的開源軟件庫。數(shù)據(jù)流圖中的節(jié)點(diǎn)代表數(shù)學(xué)運(yùn)算符,圖像邊緣則代表著在此間流動(dòng)的多維數(shù)據(jù)數(shù)組(tensors)。這種靈活的架構(gòu)幫助你在桌面電腦,服務(wù)器以及移動(dòng)設(shè)備的 CPU 和 GPU 上部署計(jì)算任務(wù),而不需要重寫代碼以適應(yīng)各平臺。

微軟 DMTK

DMTK 包括以下項(xiàng)目:DMTK 框架(Mutiverso)——分布式機(jī)器學(xué)習(xí)的參數(shù)服務(wù)器框架。LightLDA ——可拓展,快速,輕量的大規(guī)模主題建模系統(tǒng)。分布式詞嵌入:詞嵌入的分布式算法。分布式 skipgram 混合物:分布式多感知詞嵌入算法。

微軟 Azure 機(jī)器學(xué)習(xí)

這個(gè)基于微軟云服務(wù)機(jī)器學(xué)習(xí)/預(yù)測分析平臺,是一個(gè)完全托管的云服務(wù)系統(tǒng),可以幫助你輕松地創(chuàng)建,配置和分享預(yù)測分析解決方案。該軟件允許你拖放預(yù)設(shè)的組件(包括機(jī)器學(xué)習(xí)模型),用于操作流程中數(shù)據(jù)組的自定義組件。該流程圖之后將被編譯為可以配置為互聯(lián)網(wǎng)服務(wù)的程序。它和更早的 SAS 公司的數(shù)據(jù)挖掘解決方案相似,除了它更現(xiàn)代化,更實(shí)用,支持深度學(xué)習(xí)模型,以及為客戶提供 Python 和 R 語言。

MXNET

MXNet是一為兼顧效率和靈活性而設(shè)計(jì)的深度學(xué)習(xí)框架。它允許用戶混合符號式編程和指令式編程的特點(diǎn),最大化程序執(zhí)行效率和你的生產(chǎn)效率。它的核心,是一個(gè)自動(dòng)并行化符號和指令操作符的動(dòng)態(tài)依賴調(diào)度器。構(gòu)建在頂層的圖形優(yōu)化層,使符號運(yùn)算快速且節(jié)省內(nèi)存。該算法庫便攜且輕量化,并且適配多種 GPU 和多種機(jī)器。

Neon

Neon 是 Nervana 的基于深度學(xué)習(xí)框架的 Python 庫,在很多常見的如 AlexNet, VGG 以及 GoogLeNet 深度神經(jīng)網(wǎng)絡(luò)取得了最快速的運(yùn)算表現(xiàn)。我們按照以下功能設(shè)計(jì):1)支持常用模型和樣例: convnets, MLPs, RNNs, LSTMs, autoencoders。2)和用于fp16和fp32 (benchmarks)的基于 Maxwell 架構(gòu)的 nervanaGPU 內(nèi)核密切聯(lián)合。3)基本的自動(dòng)微分支持。4)可視化框架。5)可交換的硬件后端...

Theano

Theano 是一個(gè)允許用戶高效地定義、優(yōu)化和評估包含多維數(shù)組的數(shù)學(xué)表達(dá)式的 Python 庫。它可以利用 GPU來完成高效地符號區(qū)分。

Theano 和 TensorFlow 及 Torch 一樣,得到了比神經(jīng)網(wǎng)絡(luò)更加廣泛的應(yīng)用:它是一個(gè)整合現(xiàn)存的或利用現(xiàn)成的數(shù)據(jù)結(jié)構(gòu)以及算法創(chuàng)建的機(jī)器學(xué)習(xí)模型的人工智能框架。

Torch

Torch 是一個(gè)廣泛支持機(jī)器學(xué)習(xí)算法的科學(xué)計(jì)算框架...其核心特性的摘要包括一個(gè) N 維數(shù)組,索引流程,切片,轉(zhuǎn)置,面向 C 的接口,通過 LuaJIT,線性代數(shù)流程,神經(jīng)網(wǎng)絡(luò),基于能源的模型,數(shù)值加速例程,快速和高效的 GPU 支持,嵌入式,面向 iOS,Andriod 和 FPGA 的端口。

像Tensorflow 和 Theano,Torch 得到了比神經(jīng)網(wǎng)絡(luò)更加廣泛的應(yīng)用:它是一個(gè)整合現(xiàn)存的或利用現(xiàn)成的數(shù)據(jù)結(jié)構(gòu)以及算法創(chuàng)建的機(jī)器學(xué)習(xí)模型的人工智能框架。

SciKit Learn

SciKit Learn 是一個(gè)用于機(jī)器學(xué)習(xí)的 Python 包,非常受歡迎。基于NumPy, SciPy, 和 matplotlib 開源,而且用于各種機(jī)器學(xué)習(xí)模型的實(shí)施:分類,回歸,聚類,降維,模型選擇和數(shù)據(jù)預(yù)處理等。

正如上文提及的,現(xiàn)在有數(shù)以百計(jì)的機(jī)器學(xué)習(xí)包和框架。討論解決方案之前,我建議做個(gè)適當(dāng)分析,看看哪種開源或者專屬機(jī)器學(xué)習(xí)包或者軟件最適合你的應(yīng)用案例。總的說來,在軟件工程以及針對計(jì)量金融的模型研發(fā)中,有一個(gè)需要遵循的好規(guī)則:不要重復(fù)造車輪。已經(jīng)有了足夠先進(jìn)的模型,就不要再寫自己的代碼了。

結(jié)  論

神經(jīng)網(wǎng)絡(luò)是一種強(qiáng)大的機(jī)器學(xué)習(xí)算法。建立在可靠的統(tǒng)計(jì)基礎(chǔ)上,多年來,已被成功用于金融模型以及交易策略。盡管如此,由于許多失敗的應(yīng)用嘗試,這些算法的名聲依然不好。在絕大多數(shù)案例中,我們可以將那些不成功的使用案例歸因于不合理的神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)決策以及錯(cuò)誤理解了這些網(wǎng)絡(luò)的運(yùn)作原理。這篇文章指出了這些誤解中的一部分。當(dāng)你需要了解神經(jīng)網(wǎng)絡(luò)以及它們在金融模型和算法交易中的作用時(shí),可以看看這些書。

?機(jī)器之心,最專業(yè)的前沿科技媒體和產(chǎn)業(yè)服務(wù)平臺,每日提供優(yōu)質(zhì)產(chǎn)業(yè)資訊與深度思考,歡迎關(guān)注微信公眾號「機(jī)器之心」(almosthuman2014),或登錄機(jī)器之心網(wǎng)站www.almosthuman.cn查看更多精彩內(nèi)容。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 积石山| 凤凰县| 晋宁县| 临高县| 海林市| 鄂托克旗| 大英县| 全南县| 镇远县| 太原市| 淮安市| 佳木斯市| 左权县| 五峰| 南投县| 成安县| 永寿县| 成都市| 都昌县| 河津市| 珠海市| 五台县| 黄山市| 陆良县| 天水市| 龙泉市| 蒲江县| 赤壁市| 密山市| 会宁县| 上蔡县| 夏河县| 鄂伦春自治旗| 凤凰县| 凤冈县| 黔西县| 阜新市| 北海市| 铁力市| 惠来县| 合阳县|