人工智能,特別是機器學習,在最近幾年大出風頭,無人駕駛汽車,阿爾法狗戰勝人類最強棋手,演唱會人臉識別抓捕逃犯,手機多國語言在線翻譯,這一切一切無不給我們帶來深深的震撼,可以說人工智能將在不久的未來引來巨大的爆發式增長,對我們每個人的生活帶來深刻的影響。
既然機器學習這麼厲害,那麼是不是可以讓機器幫我們預測市場、選股票,買賣股票,我們只需要坐着看收益就好了,爲什麼現實不是這樣的呢?
這一節就簡單總結一下量化投資中的我們對機器學習需要了解的基本概念。後面再逐個研究算法的實際應用。
1、機器學習在量化投資領域的現狀是怎麼樣的呢?
一句話總結:
機器學習是當前量化投資的一個重要的方向,但是它的效果並不比其他方向的策略更好。
爲什麼機器學習在投資領域並無明顯優勢?
這個現象在國內國外都是一樣,相比之下,國外用機器學習做量化的會比國內多一些。我認爲有兩個方面原因:
- 一方面是人才結構決定。機器學習領域的頂級專家,幾乎沒有投入到量化投資領域的。對機器學習或者說人工智能領域的大牛來說,本身就可以在Google、微軟、BAT等大公司獲得領導崗位,也可以較容易的自己融資創業,量化投資這種高風險的事情對他們沒有吸引力。
- 另一方面是金融學科性質決定的。金融分析屬於非實驗性科學,因此無法進行對照實驗,雖然存在大量的金融交易數據,但是無法通過設計實驗來控制自變量的變化、通過重複性試驗來檢驗提出的假設(比如說機器學習發現的某種選股模式)。如此的數據分析得到的大多是看似顯著但實際上是欺騙式的模式(尤其對樣本外數據),這個現象稱作數據遷就(data
snooping)。
2、人工智能、機器學習、深度學習什麼關係?
補充:
- 我們通常說的神經網絡,也屬於深度學習的範疇。
- 機器學習中除了深度學習,還有強化學習這樣的類別,主要用於電子遊戲方面。
3、怎麼理解傳統算法和機器學習算法的區別?
什麼是機器學習?
機器學習是人工智能的一個分支。它的核心就是學習能力。用邏輯化的語言來描述就是:
通過n個樣本數據(訓練樣本),預測出未知數據(測試樣本)的屬性。
它和傳統算法的主要差別就是:學習能力,也叫做泛化能力。
- 在傳統編程中,開發人員要對程序進行硬編碼,對於如何達到結果,需要開發人員自己很清楚。
- 在機器學習中,是機器去從數據中學習,開發人員未必知道機器是怎麼達到結果的。能舉一反三,從數據中自我學習,是機器學習算法的主要特性。
比如:預測股價這個問題,在傳統算法中,基本認爲是不可行的。但是在機器學習算法中,確是有較大成功概率的。
4、機器學習包含哪些分類?
從大體上,我們將機器學習分爲監督學習和無監督學習。
-
**監督學習:**訓練樣本中的“特性”feature對應目標的“標籤”labels,通常用來解決以下兩類問題:
分類問題,樣本標籤屬於兩類或多類。這通常是離散的數據。
迴歸問題,樣本標籤包括一個或多個連續變量。這通常是連續的數據。 -
**無監督學習:**訓練樣本的屬性不包含對應的“標籤”,通常是聚類問題。
**說明:**從量化投資的角度,我們用得較多的都是監督學習。
更詳細的模型分類如下圖:
說明:
- 有些算法既能夠用於處理分類問題,也能用於處理迴歸的問題,比如支持向量機、決策樹等。
- “降維”算是一種特殊的應用,可以是無監督學習,其實也可以用於監督學習的。
5、機器學習的基本流程是什麼樣的?
就如同人類學習某種技能需要持續練習一樣,機器學習某種規律也需要大量的數據進行訓練。從開始獲取數據、訓練機器學習模型到最終模型投入應用,通常需要遵循一些固定的流程。
下圖展示了機器學習的基本框架,主要步驟包括:數據獲取、特徵提取、數據轉換、模型訓練、模型選擇和模型預測。
6、機器學習的模型怎麼用?
在模型訓練中,針對不同的問題,我們選擇什麼樣的機器學習方法呢,這裏列舉一些簡單的例子:
- 如果數據中包含特徵和標籤,希望學習特徵和標籤之間的對應關係,那麼可以採用監督學習的方法;
- 如果沒有標籤,希望探索特徵自身的規律,那麼可以採用非監督學習;
如果學習任務由一系列行動和對應的獎賞組成,那麼可以採用強化學習。- 如果需要預測的標籤是分類變量,比如預測股票上漲還是下跌,那麼可以採用分類方法;
- 如果標籤是連續的數值變量,比如預測股票具體漲多少,那麼可以採用迴歸方法;
- 另外,樣本和特徵的個數,數據本身的特點,這些都決定了最終選擇哪一種機器學習方法。
7、機器學習中有哪些重要的概念?
在進行模型建立的時候,我們有三種數據集:訓練集、驗證集、測試集
- 訓練集Training set:用來訓練模型的,通常需要的數據量很大。可以理解爲機器學習過程中的課本。
- 驗證集Validation set:是用來做模型選擇(model selection)、參數優化的,即做模型的最終優化及確定的。可以理解爲機器學習過程中的模擬考試。
- 測試集Test set:純粹是爲了測試已經訓練好的模型的泛化(generalization)能力。這既是對機器學習成果的考試了。
在評價模型效果的時候,有欠擬合、正常擬合和過擬合三種情況:
- 欠擬合:採用了較少的參數或模型過於簡單,訓練得到的效果就比較差
- 正常擬合:採用合適數量的參數和合適複雜度的模型
- 過擬合:採用過多的參數和過於複雜的模型,模型依賴數據,離開測試集後表現較差,即模型預測效果較差。