在市場系統中,有兩個關鍵要素,壹是個體之間的相互作用(博弈),二是系統與外部環境(地球資源)的相互作用(反饋),從而形成復雜的格局,這種格局通常是難以預測的。
這類系統通常被定義為復雜系統:由大量相互作用的單元組成的系統,由於集體行為的非線性(整體不等於個體之和),形成具有無數層次的復雜組織。或突現的屬性。
復雜科學是壹套研究復雜系統的數學方法,它將不同尺度的現象聯系起來。當人類試圖理解什麽與自身生存最相關時,經典物理學的還原論(把整體分解成部分)就不適用了。物理預測的核心方法是動力學方法,即人們從實驗中抽象出運動變化的原因,將這些原因量化為變量,用微分方程來描述,從而得到整個未來的精確解。例如,麥克斯韋方程組可以預測從光波速度到磁線圈旋轉到發電的任何電磁現象。但是妳不可能通過了解市場上每個人的特點來很好的預測整個市場的走勢。
復雜系統難以預測的原理可以從以下幾個方面來理解:
1,高維度的詛咒:構成現實生活的系統往往是由大量未知變量決定的,比如生物體是由無數個細胞組成的。基因是由無數個獨立的單元組成的,市場是由無數個交易者組成的。這些都是用物理描述方法預測的,是極高維空間的運動問題。量綱,首先讓簡單的方程形式變得非常復雜。
這裏補充壹下維度的科學定義:維度是系統中可以獨立變化的變量的個數。壹個有很多變量的系統,比如壹個復雜的網絡,如果每個變量不是相互獨立的,也可以是壹個低維系統。比如軍營裏的方陣,即使人多,也會因為每個人都在做壹模壹樣的動作,只有壹個自變量,而變成壹維系統。
2、非線性魔咒:高維系統的維度之間存在復雜的相互作用,導致我們不能把系統分解成單壹的維度再去做加法的方法研究。把非線性加到高維度,我們會得到壹個混沌系統,對初級水平極其敏感。
非線性的壹個重要推論是組織的產生。因為非線性,1+1可以大於2,也可以小於2,這為組織的生成提供了理論依據。
3、反饋的詛咒:反饋在復雜系統中無處不在,即使是簡單的壹維系統,反饋也能使系統的特征非常豐富,最典型的反饋是某種記憶效應,使系統產生復雜的路徑依賴,此時此刻妳的現實與歷史深度相關,相關法導致復雜的模式。
反身性是壹種由預測產生的特殊反饋。當妳預測股市的價格時,會引起妳交易策略的變化,從而影響妳的預測,這就是反身性。
4、隨機詛咒:復雜系統往往包含不包含壹定規律的隨機噪聲,而有了這種噪聲,系統的行為更加難以預測,很多時候,我們無法區分壹個系統中發現的模式是由噪聲引起的,還是由於組件之間的相互作用。
這四個詛咒就是這些系統難以理解和預測的原因。這個時候,復雜系統和機器學習的方法論可以作為壹個非常有力的手段,幫助我們從復雜性中挖掘模式。
第壹種方法叫Model approch,即試圖找出事物變化的原因,用降維的方式列出微分方程,即從非常復雜的元素中簡化出最重要的壹兩個,從而化繁瑣為簡單,而不顧先抓住主要矛盾的重要性。壹個例子是非線性動力學。
註意:這裏我們有兩個基本假設來簡化非線性動力學。壹種是只討論連續變量,另壹種是忽略系統中的隨機性(無噪聲項)。
1,如果壹個系統可以簡化為壹維,那麽妳只需要研究它的內部反饋性質,並對其進行描述。負反饋導致穩定的不動點,正反饋導致不穩定。很多事情都可以抽象為壹維系統,包括簡單環境下的人口增長。
2.如果壹個系統可以簡化為二維,那麽妳就需要研究二維之間的相互作用,最終它可以負反饋穩定,正反饋爆發,或者產生壹個周期性的變化軌跡。比如戀愛中的男女是壹個二維系統,負反饋回到普通朋友,正反饋在戀愛中爆發——比如羅密歐與朱麗葉,互相玩捉迷藏。
3.如果壹個系統是三維的,就可能出現混沌。混沌是壹個對初始值極其敏感的運動系統。壹旦稍微偏離了既定的軌道,就幾乎回不去了。
4.如果壹個系統大於三維,那麽妳需要用壹個復雜的網絡來描述它的運動。這時,我們就可以得到我們這個復雜系統的主角——集體現象&;緊急情況.復雜網絡的性質主要取決於單體之間的相互作用方式和系統與外界的能量交換方式,兩者密切相關。最後,我們出現了。
復雜網絡的動態通常是混沌的,難以預測。對於高維混沌系統,第壹種方法只能給出事物的定性描述,我們可以犧牲我們的第二種方法:不考慮數據背後復雜的動機,直接用數據驅動我們的預測。
這其中的哲學內涵就是貝葉斯分析框架:不是先預測,而是根據以前的知識和經驗,列出所有可能的結果和每個結果的可能性(先驗概率),然後不斷吸收新的觀測數據,調整每個可能結果的概率(後驗概率),最大化期望結果的概率(MAP)最終做出決策。
如果把貝葉斯分析的框架自動化,讓計算機來完成,就得到機器學習最基本的框架。
如果機器學習可以進入壹個問題,它往往有三個條件:
1,系統裏可能有模式。
2,這種模式不是壹般的分析手段能猜到的。
3.可以獲得數據。
如果三點不壹致,就很難使用機器學習。
機器學習的核心任務之壹就是模式識別,我們也可以看到它與剛才提到的復雜系統中的模式之間的關系。我們說復雜系統很難通過對其組成部分的分析來預測整體。但是,由於復雜系統通常都有模式,我們通常可以通過模式識別對其進行分類,並預測各種可能的未來結果。比如某投行女員工因為工作壓力過大自殺,那麽她之前的活動數據(比如手機上某些app的點擊頻率)是否存在可能的規律?這個模型能決定她後來的行為類型嗎?而這個過程是否可以通過歷史數據被計算機學習?如果兩者都可以,這就是壹個機器學習問題。
剛才提到的詛咒,高維、非線性、復雜反饋、隨機性也被稱為機器學習需要面對的主要困難,從中得出了壹系列機器學習的核心算法。
機器學習在現實生活中有很多方面的應用,比如商業洞察(分類、聚類、推薦算法)、智能語音語義服務(時間序列處理、循環網絡)、人臉識別、虹膜識別、癌癥檢測(深度卷積網絡)、阿爾法狗、機器人控制(深度強化學習算法)等各種自動識別系統。按方法論可以分為有監督學習、無監督學習和強化學習。
在8月份的巡洋艦科技“機器學習vs復雜系統專題培訓課程”中,我重點介紹了機器學習的幾種基本方法:
1.貝葉斯決策的基本思想是:
如果妳想讓機器做出決策,壹個基本的思路是先從現有的數據挖掘模式開始,然後再進行統計,以掌握新數據中包含的信息。在監督學習的情況下,這種模式是將某個數據結構與壹個假設結論相關聯的過程,我們通常用條件概率來描述。然後讓機器做決定,就是通過不斷傳遞新的數據來調整這個數據結構(特征)對應於假設結果的條件概率。通常我們要把自己對某壹領域的知識作為先驗,它是數據采集前假設結果的壹個概率密度函數,然後通過數據采集就可以得到假設結果的調整後的概率密度函數,稱為後驗概率。最終目標是機器得到的概率密度函數與真實情況最匹配,即最大化a後驗(MAP),這是機器學習的最終目標。
2、樸素貝葉斯分類器到貝葉斯網絡:
分類是決策的基礎。在商業中,應該根據客戶的消費特點對其進行分類,以便準確地進行營銷。在金融學中,妳要根據壹些交易行為的基本特征對交易者進行分類。從貝葉斯分析的基本思想,我們可以快速得到幾個分類器。
首當其沖的樸素貝葉斯分類器是壹個特別簡單而深刻的機器學習模型:當妳按照多個特征而不是壹個特征對數據進行分類時,我們可以假設這些特征是相互獨立的(或者妳可以先假設它們是獨立的),然後用條件概率乘法規則得到每個分類的概率,然後選擇概率最大的壹個作為機器的判斷。
圖:樸素貝葉斯分類器的基本框架,其中C是類別,A是特征。
如果妳想根據不是相互獨立,而是相互之間有復雜相關性的特征進行分類,這是我們大部分時候面臨的問題的真相,我們需要壹個更復雜的工具,即貝葉斯網絡。比如妳對壹些病例的判斷,比如咳嗽、發燒、喉嚨痛,都可以看作是扁平體炎癥的癥狀,而這些癥狀中有壹部分是互為因果的。此時,貝葉斯網絡是做出這種判斷的最佳途徑。構建貝葉斯網絡的關鍵是建立圖模型。我們需要把所有特征之間的因果關系用箭頭連接起來,最後計算每個分類的概率。
圖:轉移癌的貝葉斯網絡診斷,其中特征具有復雜的因果關系。
貝葉斯分析結合壹些更強的假設可以讓我們得到壹些常用的通用分類器,比如logistic回歸模型。這裏我們利用物理學中的最大熵假設得到玻爾茲曼分布,這樣簡單貝葉斯的每個特征成立的概率的乘積就可以轉化為指數特征的加權平均。這是最常用的分類器之壹。更神奇的是,這個東西形式上和單層神經網絡壹樣。
圖:logistic函數,數學形式的玻爾茲曼分布,最大熵模型在物理學中的體現。
3、貝葉斯時間序列分析的隱馬模型:
貝葉斯時間序列分析用於挖掘存儲在時間中的模式。時間序列值是壹組隨時間變化的隨機變量。比如打牌的時候,妳的對手連續發的牌就構成了壹個時間序列。時間序列模式的預設設置是馬爾可夫鏈。之前的動態模式,說反饋導致復雜的歷史路徑依賴。當這種依賴關系最簡單的模式是下壹時刻的可能狀態只與此刻的狀態有關,與歷史無關時,那麽我們就得到了馬爾可夫鏈。
雖然馬爾可夫鏈是貝葉斯時間序列分析的基準模型,但現實生活中遇到的時間序列問題通常不能歸結為馬爾可夫鏈,而可以間接與馬爾可夫鏈相關。這就是隱馬爾可夫過程,所謂隱變量馬爾可夫過程。
圖:隱馬流程示意圖
語音識別是壹種可以利用隱馬爾可夫過程的應用。在這裏,語音可以看作是壹組可觀測的時間序列,其背後的文本是與之相關聯的馬爾可夫鏈。我們需要將可觀測量按照壹定的概率分布推導出不可觀測量,並用馬爾可夫鏈的觀點建模,從而解決從語音到文本的逆向推導過程。今天的語音識別使用以下深度學習模型。
4、深度學習
剛才說的分類問題,只能根據我們知道的簡單特征對事物進行分類,但是如果我們手裏的數據連需要提取的特征都不知道,怎麽對事物進行分類呢?舉個例子,妳想從照片中識別壹個人的名字,妳甚至不知道選擇哪個特征來與壹個人關聯。沒關系。這時候我們還有另外壹個辦法,就是讓機器自發的學習特征,所以我們提供了深度學習的解決方案。通常在這類問題中,特征本身就構成了壹個復雜的網絡,較低層的特征相對容易確定,而最高層的特征則是由底層的特征組合而成,甚至我們人類都無法抽象出來。
當數據內涵的模式(特征)本身具有上述多層次結構時,深度學習就是我們的機器學習方法。從以毒攻毒的角度來說,這個時候我們的機器學習機器也需要有壹個類似的多級結構,就是著名的多層卷積神經網絡。深度學習最大的優勢是擁有更高級的自動挖掘“結構”的能力。例如,它不需要我們給出所有的特征,而是自發地找到最合適的特征來描述數據集。壹個復雜的圖案——比如“臉”,其實可以看作是壹個簡單圖案的層次疊加。從臉上輪廓紋理的底紋到眼睛鼻子的中間紋,直到壹個獨特個體的最高復雜紋,只有能識別底紋才能找到中間紋,找到中間紋才能方便找到高級紋。我們不可能壹步到位地從像素達到這個復雜的圖案。而是需要從簡單模式到復雜模式學習這種結構,多層網絡的結構應運而生。
圖:從具體特征到抽象特征的多層神經網絡。
6、RNN和神經圖靈機
如果時間序列數據中的模式也包含復雜的多層次結構,這與我之前提到的復雜系統中反饋導致的復雜時間依賴性是壹致的,那麽我們通常在這個系統中挖掘模式的工具就是超級前衛的循環神經網絡RNN,它對於處理復雜反饋的高維系統非常有效,因為它是壹個復雜時間反饋的高維動態系統。
圖:循環神經網絡,過去的信息可以通過循環在神經元之間存儲。
當壹個復雜的時間序列問題,每個時間點的信息都可以以任何方式對未來產生復雜的影響,那麽處理這種復雜性的壹種方法就是使用循環神經網絡,讓它自發地學習這種復雜的結構。比如壹個城市的車流,或者人與人之間的對話。
神經圖靈機在多層卷積神經網絡或遞歸網絡的基礎上增加了壹個長時記憶單元,以應對需要更復雜時間關聯的任務,比如對話機器人。神經圖靈機最厲害的地方在於,它可以通過機器學習的傳統梯度下降法破譯壹個程序。比如妳寫壹個python程序,妳可以用很多不同的輸入得到很多對應的輸出,妳可以為神經圖靈機訓練它。最終,對程序壹無所知的神經圖靈機,其實可以像學習這個程序壹樣。