九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
【華泰金工林曉明團隊】人工智能選股框架及經(jīng)典算法簡介——華泰人工智能系列之一

摘要

人工智能和機器學(xué)習(xí)并不神秘

        人工智能和機器學(xué)習(xí)方法并不神秘,其本質(zhì)是以數(shù)理模型為核心工具,結(jié)合控制論、認知心理學(xué)等其它學(xué)科的研究成果,最終由計算機系統(tǒng)模擬人類的感知、推理、學(xué)習(xí)、決策等功能。理解常用的機器學(xué)習(xí)算法,有助于澄清對人工智能的種種誤解和偏見,幫助我們更清晰地認識人工智能的長處和局限,從而更合理、有效地將人工智能運用于投資領(lǐng)域。


機器“學(xué)習(xí)”的對象是客觀存在的規(guī)律

        機器學(xué)習(xí)的對象是某種客觀存在的規(guī)律。這種規(guī)律可以非常淺顯,比如教給計算機勾股定理,機器就擁有了計算直角三角形邊長的智慧。規(guī)律也可以相當復(fù)雜,如指紋識別系統(tǒng)學(xué)習(xí)的是不同指紋圖像之間差異的規(guī)律,蘋果語音助手Siri學(xué)習(xí)的是人類語言的聲信號和背后表達意義的規(guī)律,無人駕駛學(xué)習(xí)的是當前路況和駕駛行為的規(guī)律。有的規(guī)律甚至連人類自己都無法完美詮釋,如AlphaGo學(xué)習(xí)的是圍棋落子和勝負之間的規(guī)律,智能投顧學(xué)習(xí)的是資本市場中投資決策和收益之間的規(guī)律。

 

機器學(xué)習(xí)遵循基本的流程

        機器學(xué)習(xí)往往遵循一些基本的流程,主要步驟包括:數(shù)據(jù)獲取、特征提取、數(shù)據(jù)轉(zhuǎn)換、模型訓(xùn)練、模型選擇和模型預(yù)測。數(shù)據(jù)獲取可以通過數(shù)據(jù)庫以及網(wǎng)絡(luò)爬蟲技術(shù),途徑日趨多元化。特征提取基于人的經(jīng)驗和探索,優(yōu)質(zhì)的特征能夠起到事半功倍的效果。數(shù)據(jù)轉(zhuǎn)換包括缺失值填充,標準化和降維。機器學(xué)習(xí)模型可分為監(jiān)督學(xué)習(xí),非監(jiān)督學(xué)習(xí)和強化學(xué)習(xí)。模型選擇通常借助交互驗證和一系列評價指標。

 

監(jiān)督學(xué)習(xí)尋找特征和標簽之間的規(guī)律,應(yīng)用極為廣泛

        監(jiān)督學(xué)習(xí)由使用者給出特征和標簽,由算法挖掘規(guī)律,學(xué)習(xí)一個模式,并且根據(jù)此模式預(yù)測新的特征所對應(yīng)的標簽。監(jiān)督學(xué)習(xí)應(yīng)用更廣泛,學(xué)習(xí)效果好。我們從最簡單的線性回歸模型開始,介紹包括線性回歸、嶺回歸、Lasso回歸、邏輯回歸、線性判別分析和二次判別分析、支持向量機、決策樹、隨機森林、AdaBoost、神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)和K最近鄰算法在內(nèi)的眾多監(jiān)督學(xué)習(xí)方法。

 

無監(jiān)督學(xué)習(xí)通常用來挖掘數(shù)據(jù)自身的規(guī)律

        無監(jiān)督學(xué)習(xí)不給出標簽,由算法僅僅根據(jù)原始特征尋找模式,挖掘數(shù)據(jù)自身蘊含的規(guī)律。聚類和降維是常用的無監(jiān)督學(xué)習(xí)方法。聚類包括K均值聚類、分層聚類和譜聚類。降維包括以主成分分析為代表的線性降維,以及以流形學(xué)習(xí)為代表的非線性降維。

 

風險提示:機器學(xué)習(xí)的結(jié)果是歷史經(jīng)驗的總結(jié),存在失效的可能。


如果您對我們的研究感興趣,請到如下地址獲取研報完整PDF版本(復(fù)制到瀏覽器打開,無密碼)http://pan.baidu.com/s/1slGQGe5


如有路演需求,請聯(lián)系林曉明/陳燁(微信15201479332 郵箱chenye@htsc.com)


本文研究導(dǎo)讀

2016年3月,舉世矚目的圍棋人機大戰(zhàn)在韓國首爾上演。Google DeepMind團隊的人工智能圍棋軟件AlphaGo以四勝一負的戰(zhàn)績擊敗世界冠軍韓國棋手李世乭,轟動圍棋界。2017年5月,AlphaGo升級版在烏鎮(zhèn)圍棋峰會中以3:0完勝世界圍棋第一人中國棋手柯潔,又一次掀起社會上對于人工智能的熱議。其實人工智能并不是什么新鮮的名詞,早在20年前,IBM的人工智能“深藍”就曾擊敗國際象棋世界冠軍卡斯帕羅夫;而在近20年中,人工智能和它借助的機器學(xué)習(xí)方法也逐漸滲透到人類生活的方方面面。從手寫數(shù)字的自動識別,到電腦手機上的指紋解鎖功能、語音識別系統(tǒng),再到無人駕駛、智能醫(yī)療、智能投顧等熱門領(lǐng)域,處處都有人工智能的身影。

 

在普羅大眾的心目中,人工智能和機器學(xué)習(xí)可能還帶有一些神秘色彩。有人質(zhì)疑人工智能的可靠程度,認為電腦永遠不可能達到人腦的水平。有人憂慮人工智能的無限發(fā)展最終將導(dǎo)致機器人統(tǒng)治人類。即使在內(nèi)行看來,人工智能相當于黑箱子,人們無法破譯程序“思考”的過程,那么使用人工智能時自然也要打上一個問號。其實,人工智能和它所借助的機器學(xué)習(xí)方法并沒有想象的那么神秘,其本質(zhì)是以數(shù)理模型為核心工具,結(jié)合控制論、認知心理學(xué)等其它學(xué)科的研究成果,最終由計算機系統(tǒng)模擬人類的感知、推理、學(xué)習(xí)、決策等功能。理解常用的機器學(xué)習(xí)算法,有助于我們澄清對人工智能的種種誤解和偏見,幫助我們更清晰地認識人工智能的長處和局限,從而引導(dǎo)我們更合理、有效地將人工智能運用于投資領(lǐng)域。

 

以下,我們的報告將分為兩部分進行論述。

1.     所謂“舉一綱而萬目張”。在介紹具體的機器學(xué)習(xí)算法之前,我們首先將介紹機器學(xué)習(xí)項目的基本套路,為我們未來的系列研究構(gòu)建好框架。隨后我們將著重探討特征提取、數(shù)據(jù)轉(zhuǎn)換、交互驗證和模型評價等重要步驟,幫助讀者建立一個對機器學(xué)習(xí)的大致概念。

2.     傳統(tǒng)機器學(xué)習(xí)方法包含監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)兩大門類。近年來強化學(xué)習(xí)逐漸受到重視,成為第三大門類。通俗地說,監(jiān)督學(xué)習(xí)是教師(使用者)給出問題(特征)和正確答案(標簽),由學(xué)生(算法)挖掘規(guī)律,學(xué)習(xí)一個模式,并且根據(jù)此模式回答新的問題(預(yù)測新的特征所對應(yīng)的標簽)。無監(jiān)督學(xué)習(xí)不給出正確答案,由算法僅根據(jù)原始特征尋找模式。強化學(xué)習(xí)的目標是讓模型學(xué)會使獎賞最大化的決策,是三大門類中最年輕也是最困難的方法。監(jiān)督學(xué)習(xí)應(yīng)用最為廣泛,并且學(xué)習(xí)效果較好,因此第二部分我們將著重圍繞監(jiān)督學(xué)習(xí)進行介紹。我們將從最簡單的線性回歸模型開始,介紹包括廣義線性模型、線性判別分析、支持向量機、決策樹和隨機森林、神經(jīng)網(wǎng)絡(luò)、K最近鄰算法在內(nèi)的眾多監(jiān)督學(xué)習(xí)方法。另外我們也將介紹聚類這一無監(jiān)督學(xué)習(xí)方法,以及數(shù)據(jù)轉(zhuǎn)換常用的降維方法。

 

本研究的一大亮點是,針對每一種機器學(xué)習(xí)方法,我們都配合原創(chuàng)、淺顯、并且與投資密切相關(guān)的例子加以闡述,以一種非常接地氣的描述方式推送給讀者,試圖幫助讀者厘清基本概念,使人工智能方法脫去神秘的外衣,讓讀者都有可能開發(fā)出成功的機器學(xué)習(xí)投資策略,也為我們后續(xù)的系列研究報告做鋪墊。


機器學(xué)習(xí)基本框架

機器“學(xué)習(xí)”什么

從物質(zhì)層面上看,人類的大腦是一個毫不起眼的器官,成年人的大腦約為1.5公斤,僅占體重的2%,相當于一大瓶可口可樂的重量。然而,人類的大腦又是一個極其復(fù)雜的器官,約860億個神經(jīng)元形成的復(fù)雜網(wǎng)絡(luò)上有百萬億數(shù)量級別的突觸連接, 被譽為宇宙中最復(fù)雜的1.5公斤重的物體。基于它, 人類產(chǎn)生了知覺、注意、語言、決策、記憶、意識、情感等心理和認知過程, 也產(chǎn)生了以科學(xué)和藝術(shù)為代表的燦爛的文明。

 

對于人類來說,最神奇的地方莫過于我們的大腦擁有著無以倫比的學(xué)習(xí)能力。嬰兒甚至沒有人教就可以學(xué)會爬行、站立和行走。兒童即使沒有上學(xué)也能熟練地用母語與他人交流。青少年在校園的短短十多年間掌握的科學(xué)知識就已超過幾百年前人類文明的總和。而當今時代,即使最強大的機器人也無法像人類一樣自然地行走,最先進的計算機也不能在和人類對話時以假亂真,我們也無法想象人工智能參加高考能得多少分。

 

自計算機問世以來,科學(xué)家便試圖探索計算機究竟能在多大程度上取代人類。很長一段時間,計算機幫助人類實現(xiàn)人腦無法承擔的大規(guī)模運算,儲存人腦無法儲存的海量信息,然而這些仍離智慧相距甚遠。隨著計算機科學(xué)的逐步發(fā)展成熟,人們意識到讓計算機擁有智慧的關(guān)鍵,就在于讓機器擁有和大腦一樣的學(xué)習(xí)能力。人工智能和機器學(xué)習(xí)由此應(yīng)運而生。

 

機器學(xué)習(xí)的對象是某種客觀存在的“規(guī)律”。這種規(guī)律可以非常淺顯,比如教給計算機勾股定理,機器就擁有了計算直角三角形邊長的智慧。規(guī)律也可以極其復(fù)雜,比如指紋識別系統(tǒng)學(xué)習(xí)的是不同指紋圖像之間差異的規(guī)律,蘋果智能語音助手Siri學(xué)習(xí)的是人類語言的聲信號和背后表達意義的規(guī)律,無人駕駛學(xué)習(xí)的是當前路況和駕駛行為的規(guī)律。有的規(guī)律甚至連人類自己都無法完美詮釋,比如AlphaGo學(xué)習(xí)的是圍棋落子和勝負之間的規(guī)律,智能投顧學(xué)習(xí)的是資本市場中投資決策和收益之間的規(guī)律。


機器學(xué)習(xí)基本流程

就如同人類學(xué)習(xí)某種技能需要持續(xù)練習(xí)一樣,機器學(xué)習(xí)某種規(guī)律也需要大量的數(shù)據(jù)進行訓(xùn)練。從開始獲取數(shù)據(jù)、訓(xùn)練機器學(xué)習(xí)模型到最終模型投入應(yīng)用,通常需要遵循一些固定的流程。圖表1展示了機器學(xué)習(xí)的基本框架,主要步驟包括:數(shù)據(jù)獲取、特征提取、數(shù)據(jù)轉(zhuǎn)換、模型訓(xùn)練、模型選擇和模型預(yù)測。



數(shù)據(jù)獲取:巧婦難為無米之炊,如果數(shù)據(jù)的數(shù)量不足,或者信噪比過低,那么再精妙的算法也難以發(fā)揮作用。因此,如何獲取大量的、高質(zhì)量的數(shù)據(jù),是開發(fā)機器學(xué)習(xí)模型過程中首先需要考慮的問題。各個領(lǐng)域都有一些標準化的數(shù)據(jù)庫和數(shù)據(jù)接口可供選擇,比如金融領(lǐng)域的雅虎財經(jīng)、新浪財經(jīng)、萬得終端等等。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,人們開始嘗試借助爬蟲技術(shù),從新聞網(wǎng)站、財經(jīng)論壇、自媒體平臺甚至聊天軟件中獲取感興趣的輿情信息,數(shù)據(jù)的來源日趨多元化。

 

特征提?。涸紨?shù)據(jù)中有價值的信息往往湮沒在噪音中。另外,原始數(shù)據(jù)由于格式和類型的限制,可能無法直接用于訓(xùn)練模型。因此需要先從原始數(shù)據(jù)中提取富有信息量的、可以放入模型訓(xùn)練的特征,這一步稱為特征提取。例如在自然語言識別中,人們借助Word Embedding技術(shù),將以文字表示的詞匯轉(zhuǎn)換為以數(shù)值表示的向量。在圖像識別中,人們首先從原始的圖片里提取出三原色、亮度等信息。在多因子選股中,人們從原始的價量數(shù)據(jù)中提取出各類因子,也暗含了特征提取的思想。特征提取有一些基本套路,但是更多時候基于人的經(jīng)驗和探索。優(yōu)質(zhì)的特征能夠令模型訓(xùn)練的過程事半功倍。

 

數(shù)據(jù)轉(zhuǎn)換:現(xiàn)實生活中的數(shù)據(jù)通常不是完美的。例如數(shù)據(jù)會存在缺失值,不同特征的取值范圍不同,不同特征之間具有相關(guān)性。這些都會影響到機器學(xué)習(xí)模型的訓(xùn)練速率和準確率。因此在正式訓(xùn)練之前,需要對數(shù)據(jù)進行轉(zhuǎn)換。對于包含缺失值的條目,可以直接刪去或以總體均值填充。標準化可以將所有特征限制在相同的范圍內(nèi)。降維能夠避免特征之間相關(guān)性的影響,也能避免維數(shù)災(zāi)難的發(fā)生。數(shù)據(jù)轉(zhuǎn)換這一步看似簡單,但往往是機器學(xué)習(xí)成敗的關(guān)鍵。

 

模型訓(xùn)練:完成數(shù)據(jù)預(yù)處理后,接下來是機器學(xué)習(xí)的核心步驟——模型訓(xùn)練。針對不同的問題,我們需要挑選最合適的機器學(xué)習(xí)方法。圖表2展示了常用的機器學(xué)習(xí)方法。如果數(shù)據(jù)中包含特征和標簽,希望學(xué)習(xí)特征和標簽之間的對應(yīng)關(guān)系,那么可以采用監(jiān)督學(xué)習(xí)的方法;如果沒有標簽,希望探索特征自身的規(guī)律,那么可以采用非監(jiān)督學(xué)習(xí);如果學(xué)習(xí)任務(wù)由一系列行動和對應(yīng)的獎賞組成,那么可以采用強化學(xué)習(xí)。如果需要預(yù)測的標簽是分類變量,比如預(yù)測股票上漲還是下跌,那么可以采用分類方法;如果標簽是連續(xù)的數(shù)值變量,比如預(yù)測股票具體漲多少,那么可以采用回歸方法。另外,樣本和特征的個數(shù),數(shù)據(jù)本身的特點,這些都決定了最終選擇哪一種機器學(xué)習(xí)方法。



模型選擇:面對一個機器學(xué)習(xí)問題時,存在眾多備選模型,每個模型的參數(shù)也存在多種可能的取值。如何選擇最合適的模型和參數(shù)?最重要的方法是交互驗證,并選擇合適的指標對備選模型做出評價。后面的章節(jié)我們將詳細闡述,如何通過交互驗證將數(shù)據(jù)分為訓(xùn)練集和驗證集,從而避免欠擬合和過擬合的發(fā)生,找到最優(yōu)的模型。我們也將介紹除了預(yù)測誤差和分類正確率之外,還有哪些指標可以用于評價模型的好壞。

 

模型預(yù)測:當確定最優(yōu)的模型和參數(shù)后,最后一步是使用模型對未來做出預(yù)測?,F(xiàn)實世界中的規(guī)律并非一成不變,當規(guī)律隨時間發(fā)生變化時,就需要用新的數(shù)據(jù)訓(xùn)練模型,對模型進行動態(tài)調(diào)整。


交互驗證

面對一個機器學(xué)習(xí)問題時,存在眾多的備選模型供我們選擇。解決問題很重要的一步是從大量的模型中遴選出一個最優(yōu)的模型。表現(xiàn)最優(yōu)的模型是簡單的模型還是復(fù)雜的模型?模型的參數(shù)應(yīng)該如何設(shè)定?上述這些問題不存在固定的答案,我們要根據(jù)具體問題進行決斷。盡管如此,模型選擇仍需遵循一系列基本的原則和方法。

 

首先,對于一般的回歸問題,我們通常使用均方誤差(mean squared error,MSE)來衡量模型的表現(xiàn)。均方誤差可以分解為方差(variance)和偏差(bias):


                        均方誤差=方差+偏差

                     

圖表3的打靶圖形象地說明了兩者的區(qū)別,小的方差代表射手射得穩(wěn),小的偏差代表射手瞄得準。



具體而言,第一項方差代表我們使用不同訓(xùn)練集時模型表現(xiàn)的差異。由于模型的構(gòu)建通常和訓(xùn)練集的統(tǒng)計性質(zhì)有關(guān),不同的訓(xùn)練集會導(dǎo)致模型出現(xiàn)差異。如果某個機器學(xué)習(xí)方法得到的模型具有較大的方差,訓(xùn)練集只要有少許變化,模型會有很大的改變。復(fù)雜的模型一般具有更大的方差。

 

第二項偏差代表實際模型與理想模型的差別。例如線性模型是最常用的模型之一,而真實世界往往是非常復(fù)雜的,當我們用線性模型這樣的簡單模型去解釋世界時,很可能會出現(xiàn)問題。如果我們用復(fù)雜度為2的線性模型(有截距和斜率兩個參數(shù))擬合一個非線性模型(模型復(fù)雜度遠大于2),將產(chǎn)生較大的均方誤差,其中很大一部分來源于偏差。當我們不斷增加模型的復(fù)雜程度,模型的均方誤差不斷下降,整體表現(xiàn)逐漸提升,主要原因是偏差逐漸下降,說明模型更加符合真實的情況。然而隨著模型的復(fù)雜程度進一步增加,可以發(fā)現(xiàn)樣本差異導(dǎo)致的方差急劇上升,說明復(fù)雜的模型更多地把握住了屬于訓(xùn)練樣本獨有的特性,而非數(shù)據(jù)的共性,這是我們不希望看到的。均方誤差、方差和偏差隨模型復(fù)雜度的變化關(guān)系如圖表4所示。



機器學(xué)習(xí)的訓(xùn)練過程是一個不斷調(diào)整模型的參數(shù)數(shù)量和大小的過程。在調(diào)參的過程中,模型總是會更好地擬合訓(xùn)練集,類似于圖表4中復(fù)雜度逐漸增大的情形。此時我們最需要避免的情況是過擬合(overfitting),即模型的方差過大。通俗地說,過擬合是指模型“記住”了訓(xùn)練樣本對應(yīng)的正確答案,但模型不適用于樣本外的數(shù)據(jù)。

 

圖表5展示了欠擬合、正常擬合和過擬合三種情況。我們到底用什么形狀的邊界來劃分兩個類別的樣本?簡單的模型只有比較少的參數(shù)。如圖表5左圖的直線,只有兩個自由參數(shù)。增加參數(shù)數(shù)量可以讓模型學(xué)會更復(fù)雜的關(guān)系。如圖表5中間圖的二次曲線,包含三個自由參數(shù);右圖的高次函數(shù),包含更多自由參數(shù)。參數(shù)越多,訓(xùn)練樣本的錯誤率就越低。另一方面,更多的參數(shù)也讓模型記住了更多訓(xùn)練數(shù)據(jù)特有的特征和噪音,而非挖掘出總體的信號,因此更容易產(chǎn)生過擬合。



避免過擬合最重要的方法是進行交互驗證。交互驗證是指使用不曾在訓(xùn)練中出現(xiàn)過的數(shù)據(jù)來進行驗證。如果模型在驗證時性能和訓(xùn)練時大致相同,那么就可以確信模型真的“學(xué)會”了如何發(fā)現(xiàn)數(shù)據(jù)中的一般規(guī)律,而不是“記住”訓(xùn)練樣本。這實際上和學(xué)生考試的情形類似,要想考察學(xué)生是否掌握了某個知識點,不能使用課堂上講過的例題,而應(yīng)當使用相似的習(xí)題。

 

交互驗證的核心是將全部樣本劃分成兩部分,一部分用來訓(xùn)練模型,稱為訓(xùn)練集,另外一部分用來驗證模型,稱為驗證集,隨后考察模型在訓(xùn)練集和驗證集的表現(xiàn)是否接近。最簡單的劃分方法是從總樣本中隨機選取一定比例(如15%)的樣本作為驗證集。但是這種方法會導(dǎo)致一部分數(shù)據(jù)從未參與訓(xùn)練,可能降低模型的準確性。



為了避免上述情況,我們通常采用K折交互驗證的方法,隨機將全體樣本分為K個部分(K在3~20之間),每次用其中的一部分作為驗證集,其余部分作為訓(xùn)練集。重復(fù)K次,直到所有部分都被驗證過。圖表6展示了5折交互驗證的過程,我們把全體樣本隨機劃分成5個不重疊的部分,每次用1/5的橙色部分作為驗證集,其余灰色部分作為訓(xùn)練集。最終我們將得到5個驗證集的均方誤差,取均值作為驗證集的平均表現(xiàn)。

 

除了把樣本分成K個部分,還可以每次取一個固定數(shù)目的樣本作為驗證集。如果每次取一個樣本驗證,把其余樣本用來訓(xùn)練,重復(fù)N次,這種方法稱為留一法(leave one out),我們還可以每次取P個樣本驗證,重復(fù)N/P次,這種方法稱為留P法。


模型評價

如何評價一個模型的好壞?對于回歸問題,我們可以采用上一部分介紹的均方誤差作為評價指標,誤差越小代表模型越好。對于分類問題,我們可以采用分類正確率進行評價,即測試集中多少比例的樣本歸入了正確的類別,正確率越高代表模型越好。除了誤差和正確率之外,還有一些指標也經(jīng)常用于模型評價,接下來我們將做簡單介紹。

 

假設(shè)有一種醫(yī)療診斷技術(shù)可以對某種疾病做早期篩查,如何評價這種技術(shù)是否可靠?每個人的狀態(tài)分為兩種:陽性(患?。┖完幮裕ń】担?;診斷的結(jié)果也為分兩種:陽性(患病)和陰性(健康)。一個人的真實患病情況與診斷結(jié)果共有4種可能的組合,即(病人,診斷)=(陽性,陽性)/(陽性,陰性)/(陰性,陽性)/(陰性,陰性),分別稱為命中、漏報、虛報和正確拒絕,如圖表7所示。



圖表7還展示了常用評價指標的定義。我們常用的正確率(Accuracy)是“正確診斷出一個人是否患病”的概率。除此以外,評價指標還包括:命中率(又稱召回率,Recall)、精確率(Precision)和虛報率。命中率是“患病的人被診斷出患病”的概率,精確率是“診斷出患病且此人確實患病”的概率,虛報率是“沒有患病的人被診斷出患病”的概率。

 

對于發(fā)病率較高的疾病,傳統(tǒng)的正確率可以較好地衡量診斷技術(shù)的好壞。然而對于罕見病,正確率的意義就不大了。假設(shè)一種罕見病發(fā)病率是1‰,如果某種診斷技術(shù)給所有人的診斷都是陰性,那么它的正確率高達99.9%,但顯然這一診斷沒有任何意義。此時應(yīng)該以命中率為評價指標,該診斷技術(shù)的命中率為0%,顯然是不合格的。

 

某些時候,數(shù)據(jù)中不同類別的樣本數(shù)目不均衡,例如當我們開發(fā)機器學(xué)習(xí)模型預(yù)測公司是否可能發(fā)生信用違約,或者預(yù)測股票是否會被ST時,違約公司或ST股票的數(shù)量所占比例較小,但是篩查出這些特殊分類情形又尤為重要。此時我們會在使用正確率的同時也參考命中率和精確率。除了上述這些指標外,人們還會借助ROC曲線和曲線下面積AUC評價模型好壞。

 

以上我們討論了機器學(xué)習(xí)的基本框架,重點關(guān)注了交互驗證和模型評價方法。第二部分我們將逐一介紹主流的機器學(xué)習(xí)方法。


機器學(xué)習(xí)方法介紹

廣義線性模型

從線性回歸開始

線性回歸(linear regression)是傳統(tǒng)多因子模型中最常見的套路,也是最為基礎(chǔ)的監(jiān)督學(xué)習(xí)方法。為了幫助讀者清晰地理解整個監(jiān)督學(xué)習(xí)的框架,我們從簡單的一元線性回歸開始介紹。例如我們希望能用股票的市盈率因子預(yù)測收益率。選取滬深300成分股2016年底的市盈率以及2017年一季度漲跌幅。對市盈率TTM取倒數(shù),進行中位數(shù)去極值和標準化處理,得到EP因子。如圖表8所示,我們找到一條直線可以較好地擬合自變量x1(EP因子)和因變量y(漲跌幅),該直線對應(yīng)于線性模型y=w0+w1*x1,其中系數(shù)的估計量hat{w}_0=2.32,hat{w}_1=3.03。市盈率越低,EP因子越大,那么股票越有可能上漲。

 

如果用機器學(xué)習(xí)的語言表述,我們根據(jù)已知的“特征”x1和“標簽”y ,通過“訓(xùn)練”得到一個反映兩者線性關(guān)系的模型。如果這種關(guān)系在未來一段時間內(nèi)能夠延續(xù),那么任意給出一個股票當前時刻的EP因子x1,我們就可以“預(yù)測”該股票未來時刻的漲跌幅hat{y}=w0+w1*x1。根據(jù)已有的特征和標簽訓(xùn)練模型,使用新的特征進行預(yù)測,兩者構(gòu)成了監(jiān)督學(xué)習(xí)最核心的兩個環(huán)節(jié)。



更多的時候,單一自變量很難對因變量進行有效的預(yù)測,需要使用多元線性回歸。以傳統(tǒng)多因子模型為例:已知股票下個月的漲跌幅y,以及當月的p個特征,比如估值因子x1,成長因子x2,動量因子x3,……,波動率因子xp,多元線性回歸的目標是用各因子x1,x2,……,xp的線性組合解釋并預(yù)測y。為此我們擬合模型:


y=w0+w1*x1+...+wp*xp 


其中,系數(shù)向量w=(w0,w1,...,wp)的估計量由最小二乘法得到。定義損失函數(shù)為全部N個樣本擬合殘差的平方和:

其中,xij表示第i個樣本的第j個特征(因子),yi表示第i個樣本的標簽。模型系數(shù)的估計量hat{w}為損失函數(shù)最小時w的取值:


hat{w}=min J(w)


在樣本量較小的情況下,可以直接求出hat{w}的解析解。在樣本量較大的情況下,通常使用梯度下降算法,迭代多次求得hat{w}。多因子模型的框架中,w代表因子收益率。通過最小二乘法確定模型參數(shù)后,給出任月月底截面期的因子x1、x2、……、xp,我們就能預(yù)測該股票下個月的收益率y。


嶺回歸和Lasso回歸

在普通最小二乘法中,我們不對模型系數(shù)w作任何的先驗假定。事實上,w不可能取極大的正數(shù)或極小的負數(shù);并且,在特征較多的情形下,很可能只有少數(shù)的幾個特征具有預(yù)測效力。因此我們引入正則化(regularization)的重要思想,在最小二乘法損失函數(shù)的后面加入懲罰項。當懲罰項為系數(shù)w的平方和時,這種回歸方法稱為嶺回歸(ridge regression,又稱為L2正則化),損失函數(shù)為:

當懲罰項為系數(shù)w的絕對值之和時,這種回歸方法稱為Lasso回歸(又稱為L1正則化),損失函數(shù)為:

其中,自由參數(shù)λ為正則化系數(shù)。當設(shè)置一個較大的λ時,即使對較小的w也會加以懲罰,因此擬合得到的w更接近0。

正則化的意義在于:首先,嶺回歸和Lasso回歸對病態(tài)數(shù)據(jù)的擬合強于線性回歸。想象一個最極端的狀態(tài),回歸模型中有兩個特征完全相等,那么普通最小二乘法是無解的,但是嶺回歸和Lasso回歸可以進行擬合。其次,正則化可以遴選出更少的特征,即大多數(shù)系數(shù)為0,并且避免系數(shù)值過大的情形發(fā)生。相較于嶺回歸,Lasso回歸的懲罰力度更強,更有利于選出比較稀疏的若干個特征。圖表9展示了普通最小二乘法,嶺回歸和Lasso回歸對相同數(shù)據(jù)的擬合效果,Lasso回歸(λ取1)得到的斜率w1最小,其次為嶺回歸(λ取50),普通最小二乘法的斜率w1最大。



邏輯回歸

很多時候,我們并不需要預(yù)測股票下個月具體的漲跌幅,而是希望預(yù)測股票下個月會上漲還是下跌。換言之,我們面對的是“分類”問題,而非“回歸”問題。接下來介紹的邏輯回歸(logistic regression),盡管名字中包含回歸二字,卻是解決分類問題經(jīng)常用到的機器學(xué)習(xí)方法。

 

例如,我們希望用股票的市盈率預(yù)測漲跌情況。選取滬深300成分股2017年一季度的漲跌幅排名前50名和后50名的個股,計算2016年底的市盈率EP因子。將漲幅前50的個股定義為類別y=1,跌幅前50的個股定義為類別y=0。

 

我們首先采用線性回歸模型P(x1)=w0+w1*x1進行擬合,其中P(x1)相當于P(y=1|x1),即自變量取x1時對應(yīng)的上漲概率,相應(yīng)的下跌概率為1-P(x1)。通過最小二乘法求得hat{w}_0=0.54,hat{w}_1=0.30。如圖表10,直線上的每個點表示某個EP因子x1對應(yīng)的上漲概率P(x1)。直觀地看,直線并不能很好地擬合二分類的數(shù)據(jù)。同時,線性回歸的殘差項不符合正態(tài)分布假設(shè)。更為重要的是,當自變量x1取極大或極小的數(shù)時,預(yù)測的上漲概率P(x1)將取到小于0或大于1的值,然而根據(jù)概率的定義,上漲概率應(yīng)介于0到1之間。因此,線性回歸不適用于分類問題。



為了確保因變量的預(yù)測值介于0到1之間,我們采用邏輯回歸模型:

通過最大似然估計方法求得參hat{w}_0=1.95, hat{w}_1=0.36 。擬合結(jié)果如圖表11的曲線所示,曲線上的每個點表示某個EP因子x1對應(yīng)的上漲概率P(x1)。當x1取極大的數(shù)時,上漲概率P(x1)趨向于1;當x1取極小的數(shù)時,上漲概率P(x1)趨向于0。


求出模型參數(shù)后,我們可以對新的數(shù)據(jù)做出預(yù)測。假設(shè)某只股票的EP因子 x1=1,則該股票下個月的上漲概率為:

我們預(yù)測該股票下個月將上漲。事實上,當EP因子位于圖表11豎直直線的右側(cè)時,將歸入上漲類別,左側(cè)則歸入下跌類別。

 

更多的時候,我們使用多個自變量x1,x2,……,xp對因變量y進行預(yù)測,此時邏輯回歸模型為:

模型的另一種常見等價形式為:

參數(shù)估計值hat{w}通過最大似然估計方法得到。上面等式的右側(cè)為線性表達式,邏輯回歸本質(zhì)上仍是一種線性分類方法,屬于廣義線性模型的范疇。

 

和線性回歸類似,我們同樣采用正則化方法以避免過擬合。例如L2正則化的邏輯回歸的損失函數(shù)為

最終的參數(shù)估計值hat{w}是使得損失函數(shù)最小值的w。通常采用梯度下降算法、牛頓法等迭代方法對損失函數(shù)求極值。


多分類問題

以上我們討論了二分類問題,在實際生活中,我們還會面對多分類的問題,例如預(yù)測股票將上漲、下跌還是震蕩,預(yù)測天氣是晴、多云還是下雨。此時,需要將二分類邏輯回歸拓展到多分類。下面介紹兩種主要的多分類邏輯回歸方法:有序多分類和OvR策略。

 

回到之前用EP因子x1預(yù)測漲跌情況的例子。我們把股票按漲跌幅分成3類:跌幅前1/3定義為y=0 ,漲幅前1/3定義為y=2,其余定義為y=1。由于因變量y是有序的,因此可以采用有序多分類邏輯回歸。具體而言,我們將擬合下面兩個邏輯回歸模型:

第一個模型本質(zhì)上將y=0視作一類,y=1,2視作另一類,根據(jù)二分類邏輯回歸估計出w0和w1,進而求得股票下跌的概率P(y≤0|x1)。第二個模型本質(zhì)上是將y=0,1視作一類,y=2視作另一類,同樣可以估計出w2和w3,進而求得股票下跌及震蕩的概率P(y≤1|x1)。也就是說,我們將一個有序三分類問題拆分成為兩個二分類問題。

 

如果某只股票的EP因子,可以求得P(y≤0|x1)=0.11<><><0.5,p(y≤1|x1)=0.62>0.5,那么該股票的預(yù)測分類為y=1,判斷下個月為震蕩。

 

一般地,如果因變量y可分為0,1,2到N-1共N個有順序關(guān)系的等級,對于該有序N分類問題,可以拆分為N-1個二分類問題,通過擬合N-1個邏輯回歸模型得到解決。如果自變量包含p個特征x1、x2、……、xp,那么這N-1個邏輯回歸模型的形式為:

其中k=0,1,...,N-2。                

如果因變量不存在順序關(guān)系,有序多分類就不適用了,我們可以采用OvR(one-vs-rest)策略。例如我們希望預(yù)測未來天氣是晴、多云還是下雨:可以先將晴歸為一類,其它情形歸為一類,擬合邏輯回歸模型;再將多云歸為一類,其它情形歸為一類,擬合邏輯回歸模型;最后將下雨歸為一類,其它情形歸為一類,擬合邏輯回歸模型。待三個邏輯回歸模型訓(xùn)練完成后,對于每一組輸入的特征,分別得到晴、多云和下雨的概率,其中概率最大者即為預(yù)測的天氣類別。

一般地,對于一個N分類問題,OvR策略將其拆分為N個二分類問題。如果因變量y可分為0,1,2到N-1共N類,自變量包含p個特征,那么這N個邏輯回歸模型的形式為:

其中k=0,1,...,N-2。  

對于每一組自變量x,根據(jù)N個邏輯回歸模型可以計算出歸入每一類的概率P(y=0|x),P(y=1|x),...,P(y=N-1|x) ,選取以上概率中最大的分類,即為x最終的預(yù)測分類。

              

線性判別關(guān)系和二次判別關(guān)系

邏輯回歸是一種經(jīng)典的分類方法,然而該方法在某些情況下會不適用。當樣本的兩個類別相距過遠,邏輯回歸得到的參數(shù)會不穩(wěn)定。此時,線性判別分析或者二次判別分析是不錯的選擇。

 

線性判別法分析(linear discriminant analysis,LDA)包括兩種含義,其中之一是邏輯回歸的拓展方法,主要基于樣本滿足正態(tài)分布的假設(shè),接下來將做介紹。另一種是Fisher在1968年改進的Fisher線性判別法,該方法不需要正態(tài)分布的假定,很多時候作為降維的手段被廣泛使用,我們會在降維的章節(jié)談及。

 

我們?nèi)砸允杏室蜃宇A(yù)測漲或跌的二分類問題為例,介紹線性判別分析的基本邏輯。選取滬深300成分股2017年一季度的漲跌幅排名前50和后50的個股,定義漲幅前50的個股屬于類別k=1,跌幅前50的個股屬于類別k=2。用x1表示2016年末的EP因子。在線性判別分析中,我們需要對上漲類別擬合判別方程delta_1(x1),同樣對下跌類別擬合判別方程delta_2(x1):

我們關(guān)心的上漲概率P(x1)為:

和邏輯回歸采用最大似然估計求系數(shù)w的方法不同,線性判別分析中判別方程的系數(shù)w是基于樣本服從正態(tài)分布的假設(shè),通過均值和協(xié)方差計算得到,具體計算步驟參見圖表12。


接下來我們用訓(xùn)練好的模型預(yù)測新的數(shù)據(jù)。如果某只股票的EP因子x1=2,那么該股票上漲的概率:

我們預(yù)測該股票下個月將上漲。

 

邏輯回歸和線性判別分析最主要的區(qū)別在于估計系數(shù)w的方法不同。大部分情況下,這兩種方法有著非常類似的結(jié)果,當樣本服從正態(tài)分布的假設(shè)時,線性判別分析的分類效果更好。

 

一般地,當我們需要把樣本分為1,2,……,N共N類,且自變量包含p個特征時,針對每個類別k各自擬合一個判別方程:

其中mu_k為第k類樣本各特征的均值向量(p×1維),Sigma為關(guān)于p個特征的協(xié)方差矩陣(p×p維),Pi_k為屬于第k類的樣本在全體樣本當中的比例。預(yù)測階段,將樣本x歸入第k類的概率為:

取k=1,2,...,N中使得Pk(x)最大的分類k作為樣本x的預(yù)測分類。

 

為了更形象地展示線性判別分析處理多分類問題的效果,我們構(gòu)建出一組模擬數(shù)據(jù),每個樣本代表一只股票,所有樣本根據(jù)近期表現(xiàn)分成強勢、中等和弱勢股票三類,包含因子1和因子2共兩個特征。我們根據(jù)已知的因子與股票表現(xiàn)之間的關(guān)系,采用線性判別分析計算出全樣本空間的概率分布,用不同的背景色代表預(yù)測的分類,如圖表13所示,分類的邊界是直線,三條直線將因子空間分成三個區(qū)域。

 

線性判別分析的假設(shè)之一是每個類別內(nèi)部的協(xié)方差一致,都等于樣本總體的協(xié)方差。如果不同類別的協(xié)方差相差很大,對線性判別分析的判別方程稍加改動,就能得到二次判別分析(quadratic discriminant analysis,QDA)的判別方程:

其中Sigma_k為第k類的樣本協(xié)方差矩陣。二次判別分析的判別方程是二次函數(shù),所以分類的邊界一般是非線性的,如圖表14中強勢股票(紅色區(qū)域)和中等股票(藍色區(qū)域)的曲線邊界。在我們的模擬數(shù)據(jù)中,強勢股票和弱勢股票兩個因子的協(xié)方差矩陣相同,因此圖表14中紅色區(qū)域和綠色區(qū)域的邊界是一條直線,等價于線性判別分析。



支持向量機

我們之前討論的機器學(xué)習(xí)方法,本質(zhì)上是將原有的特征通過線性組合的方式合成出新的特征,近似于降維的思路。那么增加維度會有什么樣的效果,又是如何實現(xiàn)的?支持向量機(support vector machine,SVM)就是一種增加新維度看待問題的方法,在機器學(xué)習(xí)領(lǐng)域有極為廣泛的應(yīng)用。

 

在介紹支持向量機之前,我們先討論其前身支持向量分類器,兩者的思路是一致的,后者更容易理解。就像我們可以用刀(二維平面)將西瓜(三維物體)分成兩半,任何一個P維物體(空間)都可以被一個P-1維的超平面分成兩部分。對于一個P維空間,x1+x2+…+xP=b就是一個超平面,b是一個常數(shù)。支持向量分類器的核心思路就是用一個這樣的超平面劃分樣本空間,從而解決分類問題。如圖表15所示,紅點和藍點分別代表兩類樣本,二維空間中的超平面就是圖中的黑色直線。如果一條直線可以讓兩類樣本中的點到這條直線的最短距離取最大值,一般認為這條直線就是最穩(wěn)定的分界線。而決定這條直線的點往往是由少數(shù)幾個支撐點決定的,這些點稱為支持向量。在我們的例子中是紅線和藍線穿過的點。



我們可以用w1*x1+w2*x2=b來描述這條直線,改寫成向量的形式=b就是。向量w是我們尋找的分界超平面。那么如何尋找到合適的直線?我們限定w1^2+w2^2=1,已知分類結(jié)果y=1(類別1)或y=-1(類別2),使得yi(w1*xi1+w2*xi2)≥b對于全部樣本都成立,這代表所有樣本距離分界線的距離都大于b。問題變成解一個使b取最大值的優(yōu)化方程,可以通過拉格朗日乘子法實現(xiàn)。對于p維的情形,也是類似的處理方法。我們令:

剛才的例子是一個線性可分的問題,而真實世界的數(shù)據(jù)往往是混雜而充滿噪音的,找不到一個超平面完美地將數(shù)據(jù)分成兩部分,我們此時會尋找一個錯誤率最小的分界方式。只需要把上面的方程加一項損失項epsilon_i:

代表我們允許分界在某些樣本上是錯誤的,但是犯錯誤的總數(shù)較少即可。

 

在二維的視角下,我們永遠無法用一條線來解決異或問題,如圖表16左圖所示。但是如果增加一個新的維度x1*x2,如圖表16右圖所示,就可以得到新的數(shù)據(jù)點分布,從而可以輕松地用一個截面將這兩類點分開,從而解決異或問題。



有幾種常用的增加維度的方式,最簡單的是增加一個線性組合的維度,比如x1+x2,此時支持向量機將和邏輯回歸得到相同的結(jié)果。其次是如圖表16異或問題中,增加多項式的維度,比如x1*x2,x1^3等等,除了這些比較直觀的方式之外,還有一種著名的方法:e^x,這代表我們用無窮多個維度看待我們現(xiàn)有的數(shù)據(jù)。根據(jù)級數(shù)的知識,將ex泰勒展開之后得到:

這可以理解為我們觀察了x全部多次項的結(jié)果。

 

我們上面所介紹的是支持向量分類器,而支持向量機的思路也是剛才介紹的“超平面分類”以及“引入更多的維度”,所不同的是引入了核(kernel)的方法來計算超平面。對于線性情形,關(guān)于超平面的方程可以寫作:f(x)= beta_0 +alpha_1*+...+alpha_n* 。其中n代表訓(xùn)練樣本個數(shù),x是新樣本的特征,為新樣本與全部訓(xùn)練樣本的內(nèi)積,而beta_0和alpha則是通過之前訓(xùn)練樣本計算得到。我們用廣義內(nèi)積的形式來表示核(kernel)K(xi,xi'),取代上面的內(nèi)積部分。得到新方程:f(x)=beta0+alpha_1*+...+alpha_n*。



常用的核分為三種,線性核、多項式核以及高斯核。核函數(shù)的具體形式如圖表17所示。特別值得說明的是高斯核,高斯核就是我們之前提到的用無窮維視角來看待數(shù)據(jù)的情形,因此線性核會得到平直的邊界,多項式核和高斯核都會得到彎曲的邊界,后者彎曲程度更大一些。圖表18是用不同核對于模擬數(shù)據(jù)的分類結(jié)果。



最后說明一下實際使用的方法,我們有三種備選的核;同時對于分類損失項epsilon_i總和的上限參數(shù)C,也存在著多種選擇。通常使用交互驗證的方法來選擇最合適的模型和參數(shù)。


決策樹和隨機森林

決策樹

在眾多機器學(xué)習(xí)方法中,決策樹(decision tree)是最貼近日常生活的方法之一,我們平時經(jīng)常用到?jīng)Q策樹的樸素思想。比如探險家在野外觀察到某種不認識的大型獸類,會根據(jù)一些特征做出大致歸類。首先根據(jù)飲食習(xí)性,判斷該獸類屬于食草動物還是食肉動物。如果是食草動物,再根據(jù)腳趾個數(shù),判斷它屬于奇蹄類還是偶蹄類。如果是偶蹄動物,再根據(jù)是否反芻,反芻則屬于駱駝科、鹿科或者???,不反芻則屬于豬科或者河馬科。再根據(jù)更細致的特征進一步區(qū)分,直到界定出該生物的種類。我們將上述決策過程歸納成樹的形式,如圖表19所示,每個上層節(jié)點通過某種規(guī)則分裂成下一層的葉子節(jié)點,終端的葉子節(jié)點即為最終的分類結(jié)果。



構(gòu)建一棵決策樹的關(guān)鍵之處在于,每一步選擇哪種特征作為節(jié)點分裂的規(guī)則。例如圖表19的生物分類問題中,第一步應(yīng)該根據(jù)食肉/食草分類,還是根據(jù)奇蹄/偶蹄分類,又或者根據(jù)反芻/不反芻分類?針對這一問題,盡管不同的決策樹算法所遵循的具體手段略有差異,其核心原則是使得節(jié)點分裂后的信息增益最大。下面我們試舉一例說明。

 

假如我們希望根據(jù)當前市場股票的市值風格(大、中或?。┖桶鍓K風格(消費、周期或成長)預(yù)測漲跌情況,模擬數(shù)據(jù)如圖表20。直觀地看,大市值股票全部屬于“漲”類別,中小市值股票絕大多數(shù)屬于“跌”類別。似乎以“是否為大市值”為規(guī)則進行首次分裂比較好。那么決策樹將如何學(xué)習(xí)這一步呢?



前面提到,節(jié)點分裂的原則是使得節(jié)點分裂后的信息增益(information gain)最大。其中“信息”由熵(entropy)或基尼不純度(Gini impurity)定義。以熵為例,其概念源于信息論鼻祖香農(nóng)(Claude Elwood Shannon)在1948年提出的信息熵:

其中 i(p) 表示分裂前節(jié)點p的信息熵,P(wj)表示樣本屬于j類的概率。第一步分裂前,全部8個樣本中有3個屬于“漲”類別,概率為P(w漲)=3/8;5個屬于“跌”類別,概率為P(w跌)=5/8。因此分裂前的熵為:

如果我們以“是否為大市值”作為規(guī)則將全樣本分裂成兩個子節(jié)點,在2個大市值樣本中屬于“漲”類別的概率為P(w漲)=0,屬于“跌”類別的概率為P(w跌)=1,該子節(jié)點的熵為i(大市值)=-(0+1log_2^1)=0。類似地,中小市值子節(jié)點的熵為:

定義每步分裂的信息增益為分裂前后的熵之差:

其中pc是節(jié)點p的子節(jié)點,Pc是分裂到pc的概率。上述分裂過程中,分裂到大市值的概率為P(w大市值)=2/8,分裂到中小市值的概率為P(w中小市值)=6/8。因此信息增益為:

如果換成“是否為小市值”或“是否為消費類”作為分裂規(guī)則,計算出信息增益為:

事實上,在所有可能的分裂規(guī)則中,“是否為大市值”的信息增益最大。我們據(jù)此進行首次分裂,如圖表21所示。接下來依照相同辦法,繼續(xù)對子節(jié)點進行分裂,直到每個樣本都歸入終端的葉子節(jié)點,如圖表22所示,最終完成整棵決策樹的學(xué)習(xí)。



以上我們展示了最簡單的決策樹構(gòu)建步驟。在實際應(yīng)用過程中,節(jié)點的分裂不一定依賴單一特征,也可以根據(jù)幾個特征的組合進行構(gòu)建。為了避免過擬合,通常采用剪枝法或分支停止法控制決策樹的大小。近三十年來,研究者提出了多種決策樹算法,目前最為主流的方法是C4.5和CART。兩者的原理大致相同,但在細節(jié)上有一些差別。C4.5每個節(jié)點可分裂成多個子節(jié)點,不支持特征的組合,只能用于分類問題;CART每個節(jié)點只分裂成兩個子節(jié)點,支持特征的組合,可用于分類和回歸問題。

 

相比于之前介紹的機器學(xué)習(xí)方法,決策樹的優(yōu)勢主要包括:1.訓(xùn)練速度快;2.可以處理非數(shù)值類的特征,如上述例子中的板塊風格(消費、周期和成長);3.可以實現(xiàn)非線性分類,如圖表23的異或問題,該問題在線性回歸、邏輯回歸、線性核的支持向量機下無解,但是使用決策樹可以輕松解決。決策樹的缺陷在于不穩(wěn)定,對訓(xùn)練樣本非常敏感,并且很容易過擬合。針對這些缺陷,研究者提出了多種基于決策樹的分類器集成方法,演化出龐大的決策樹算法家族。



Bootstrap和Bagging

“三個臭皮匠,頂個諸葛亮”。單棵決策樹的預(yù)測能力有限,如何將多個弱分類器組合成一個強分類器,這是分類器集成需要探討的問題。分類器集成算法有兩大淵藪,如圖表24的灰色方框所示,左邊一支為Bagging系列(并行方法),右邊一支為Boosting系列(串行方法)。對于多棵決策樹,如果以Bagging的方式組合起來,可以得到隨機森林算法;如果以Boosting的方式組合起來,可以得到梯度提升決策樹(GBDT)等方法。這一部分我們將首先介紹Bagging方法。



Bagging是Bootstrap Aggregating的縮寫,其思想脫胎于Bootstrap。Bootstrap又稱自舉法,本身是一種統(tǒng)計方法,主要用于研究統(tǒng)計量的統(tǒng)計特性。例如我們希望研究A股的平均市盈率,我們的數(shù)據(jù)集D為2017年一季度末全A股3162只股票的市盈率,求均值得到hat{x}_D=71.02,那么均值bar_x的均值和方差又應(yīng)該如何計算呢?

 

Bootstrap方法的核心思想是有放回地抽樣。我們首先從數(shù)據(jù)集中隨機抽取一個樣本,然后放回,再抽取一個樣本,再放回,……,如此重復(fù)3162次,得到了一個包含3162只股票的新數(shù)據(jù)集D1。注意到原始數(shù)據(jù)集D中有的股票可能被重復(fù)抽到,有的股票可能沒有被抽到。我們將新數(shù)據(jù)集D1稱為一組Bootstrap數(shù)據(jù)集,求均值得到。重復(fù)上述步驟,我們可以得到N組Bootstrap數(shù)據(jù)集D2,D3,……,DN,以及每組數(shù)據(jù)集的均值。假設(shè)重采樣次數(shù),可以求出這1000個平均市盈率的均值:

方差:

藉由Bootstrap方法,我們從一個原始數(shù)據(jù)集衍生出了N個新的Bootstrap數(shù)據(jù)集。

 

Bagging方法是Bootstrap思想在機器學(xué)習(xí)上的應(yīng)用。如圖表25所示,我們由原始數(shù)據(jù)集生成N個Bootstrap數(shù)據(jù)集,對于每個Bootstrap數(shù)據(jù)集分別訓(xùn)練一個弱分類器,最終用投票、取平均值等方法組合成強分類器。N個弱分類器的訓(xùn)練并列進行,因此Bagging屬于并行方法。對于不穩(wěn)定的弱分類器(例如決策樹、神經(jīng)網(wǎng)絡(luò)),Bagging能顯著提高預(yù)測的正確率,同時避免過擬合的發(fā)生。



隨機森林

顧名思義,隨機“森林”(random forest)是由眾多決策“樹”組合而成的機器學(xué)習(xí)算法。簡單地說,多棵決策樹通過Bagging的方式集成得到隨機森林。具體而言,隨機森林算法根據(jù)以下兩步方法建造每棵決策樹。第一步稱為“行采樣”,從全體訓(xùn)練樣本中有放回地抽樣,得到一個Bootstrap數(shù)據(jù)集。第二步稱為“列采樣”,從全部M個特征中隨機選擇m個特征(m小于M),以Bootstrap數(shù)據(jù)集的m個特征為新的訓(xùn)練集,訓(xùn)練一棵決策樹。最終將全部N棵決策樹以投票的方式組合。

 

下面我們舉一個具體的例子解釋決策樹和隨機森林算法。我們希望用2016年底滬深300成分股的估值類因子和成長類因子兩個特征,預(yù)測2017年一季度的漲跌情況。我們選取2016年底截面期的EP因子(市盈率TTM取倒數(shù))作為估值類因子,ROE_G_q因子(最近一期已公布財報攤薄凈資產(chǎn)收益率)作為成長類因子,并且對兩個因子做中位數(shù)去極值和標準化處理。同時我們對股票2017年一季度的漲跌幅從高到低進行排序,選取前1/3作為訓(xùn)練集的正例,后1/3作為反例,中間1/3的股票不納入訓(xùn)練集。因此訓(xùn)練集包含200個股票的兩個因子(M=2)。

 

我們首先對兩個因子構(gòu)建一棵決策樹。如圖表26左圖所示,亮紅色點代表訓(xùn)練集的正例,亮藍色點代表訓(xùn)練集的反例。紅色和藍色的長方形區(qū)域代表分類面,落在紅色區(qū)域的測試數(shù)據(jù)(暗紅色點)判斷為“漲”類別,落在藍色區(qū)域的測試數(shù)據(jù)(暗藍色點)判斷為“跌”類別。

 

接下來我們對相同的訓(xùn)練集構(gòu)建隨機森林。隨機森林中的決策數(shù)棵樹設(shè)為50(N=50)。對于每棵決策樹,首先進行行采樣,從200只股票中有放回地抽樣200次,生成一個Bootstrap數(shù)據(jù)集;隨后進行列采樣,從兩個因子中隨機選取一個因子(m=1);最后以Bootstrap數(shù)據(jù)集的一個因子訓(xùn)練決策樹。

 

完成全部50棵決策樹訓(xùn)練后,以類似投票的方式進行組合。例如當EP因子x2=0,ROE_G_q因子時,50棵決策樹中有49棵判斷為上漲,1棵判斷為下跌,屬于“漲”類別的概率為49/50=0.98>0.5,因此隨機森林最終判斷為“漲”。

 

隨機森林的決策面如圖表26中間圖所示,紅色和藍色區(qū)域分別對應(yīng)漲和跌,紅色越深表示上漲概率越高。藍色越深表示下跌概率越高??梢园l(fā)現(xiàn)決策樹和隨機森林的分類結(jié)果在細節(jié)處有諸多差別,決策樹更容易受到極端數(shù)據(jù)影響(如左圖的左下角大片區(qū)域判別為紅色)。盡管隨機森林中的每棵樹只采用一個因子,但是組合在一起后反而更加穩(wěn)定,不容易過擬合。除了良好的穩(wěn)定性之外,隨機森林的優(yōu)點還有訓(xùn)練和預(yù)測速度快,適合處理大量、高維數(shù)據(jù),同時算法能夠計算出每個特征的重要性,因而成為目前非常流行的機器學(xué)習(xí)算法。



AdaBoost

和Bagging并行組合弱分類器的思想不同,AdaBoost(adaptive boosting)將弱分類器以串行的方式組合起來,如圖表27所示。在訓(xùn)練之前,我們賦予全部樣本相等的權(quán)重。第一步以原始數(shù)據(jù)為訓(xùn)練集,訓(xùn)練一個弱分類器C1,如圖表28左圖所示。對于分類錯誤的樣本,提高其權(quán)重。第二步以更新樣本權(quán)值后的數(shù)據(jù)為訓(xùn)練集,再次訓(xùn)練一個弱分類器C2,如圖表28中間圖所示。隨后重復(fù)上述過程,每次自適應(yīng)地改變樣本權(quán)重并訓(xùn)練弱分類器,如圖表28右圖所示。最終,每個弱分類器都可以計算出它的加權(quán)訓(xùn)練樣本分類錯誤率,將全部弱分類器按一定權(quán)值進行組合得到強分類器,錯誤率越低的弱分類器所占權(quán)重越高。圖表29展示了AdaBoost的具體算法。

 

AdaBoost方法中的弱分類器可以是任何機器學(xué)習(xí)分類算法。在圖表26所示的例子中,我們以決策樹作為弱分類器,使用AdaBoost方法將50棵決策樹組合起來,得到圖表26右圖所示的分類面。分類結(jié)果和隨機森林整體類似,能夠?qū)深悩颖緟^(qū)分開來,而在細節(jié)方面略有差異。AdaBoost提高了分類錯誤樣本的權(quán)重,因而對極端樣本更為敏感,可能會造成過擬合的問題??傮w而言,AdaBoost是一種思想簡單,實現(xiàn)同樣簡單的方法,和其它機器學(xué)習(xí)算法結(jié)合后能夠大大提高分類準確率,在各個領(lǐng)域有著相當廣泛的應(yīng)用



除了通過AdaBoost方法組合決策樹,研究者借鑒Boost串行組合的思想,陸續(xù)開發(fā)出全新的決策樹集成算法,包括梯度提升決策樹(gradient boosting decision trees,GBDT),以及它的改進版極限梯度提升(extreme gradient boosting,XGboost)。這些方法在眾多機器學(xué)習(xí)競賽中逐漸嶄露頭角,有著無比廣闊的應(yīng)用前景。


神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)

AlphaGo所基于的深度學(xué)習(xí)(deep learning)技術(shù)無疑是現(xiàn)如今最為熱門的機器學(xué)習(xí)方法。在介紹深度學(xué)習(xí)之前,首先要熟悉神經(jīng)網(wǎng)絡(luò)(neural networks)的一些基本概念。神經(jīng)網(wǎng)絡(luò)最初只是人工智能領(lǐng)域的一種算法模型,如今已發(fā)展成為一門多學(xué)科交叉的嶄新領(lǐng)域,隨深度學(xué)習(xí)的興起重新受到重視和推崇。為什么說是“重新”呢?神經(jīng)網(wǎng)絡(luò)的理念最早可以追溯到1943年提出的McCulloch-Pitts模型和1958年Rosenblatt提出的感知機模型。隨后Rumelhart和Hinton于1986年提出反向傳播算法,LeCun于1989年在手寫數(shù)字識別領(lǐng)域取得巨大成功。之后神經(jīng)網(wǎng)絡(luò)的研究陷入了一段時間的低潮期。隨著2006年Hinton在深度學(xué)習(xí)上取得的重要突破,神經(jīng)網(wǎng)絡(luò)再次受到人們的矚目。

 

對于一些我們感到很困難的任務(wù),比如解復(fù)雜方程和下圍棋,機器的表現(xiàn)已經(jīng)遠遠超越人類。然而,還有一些我們認為非常簡單的任務(wù),比如圖像識別和語音識別,機器的表現(xiàn)卻遠不如人類。我們學(xué)會用眼睛看,用耳朵聽,是億萬年進化過程中逐漸積累、優(yōu)化得到的能力。他山之石,可以攻玉,科學(xué)家自然而然聯(lián)想到,能否仿照大腦的結(jié)構(gòu),設(shè)計出符合人類認知過程的算法,從而解決圖像識別、語音識別等難題。

 

人類的大腦是一個由約860億個神經(jīng)元構(gòu)成的巨型神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)中最基礎(chǔ)的單元是神經(jīng)元,如圖表30所示。神經(jīng)元存在興奮和抑制兩種狀態(tài)。一般情況下,絕大多數(shù)神經(jīng)元處于抑制狀態(tài)。一旦某個神經(jīng)元的樹突收到上一級感受器或神經(jīng)元傳來的刺激,導(dǎo)致它的電位超過一定閾值,那么該神經(jīng)元會被激活,處于興奮狀態(tài),電信號經(jīng)胞體沿軸突和末端突觸,繼續(xù)傳遞至下一級神經(jīng)元的樹突。如此逐級傳遞形成一個巨型網(wǎng)絡(luò)。



神經(jīng)網(wǎng)絡(luò)算法中的神經(jīng)元正是模擬了現(xiàn)實世界中神經(jīng)元的架構(gòu)。如圖表31所示,x1到x4四個節(jié)點組成輸入層,代表輸入的特征信息,相當于神經(jīng)元的樹突部分。θ1到θ4稱為連接權(quán)重,代表不同信息的重要性,需要通過訓(xùn)練調(diào)節(jié)。輸入層x1到x4的信息按權(quán)重加和,隨后進入一個非線性的激活函數(shù) h_θ(x),模擬神經(jīng)元激活的過程。常用的激活函數(shù)包括sigmoid函數(shù)、tanh函數(shù)等。



單個神經(jīng)元相當于線性模型,無法解決包括異或問題在內(nèi)的非線性問題。將多個神經(jīng)元層層連接,就得到了含隱藏層的神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)功能非常強大,多層的神經(jīng)網(wǎng)絡(luò)可以近似地擬合出任何一個函數(shù)。圖表32展示了含有一個隱藏層,輸入層和隱藏層節(jié)點數(shù)均為4的神經(jīng)網(wǎng)絡(luò)。



在模型訓(xùn)練的過程中,我們根據(jù)輸入特征X計算隱藏層的值a,再根據(jù)隱藏層的值算出輸出層的預(yù)測值y,這一步稱為前向傳播算法。我們希望預(yù)測值y和真實標簽t越接近越好,而輸出值和標簽的接近程度取決于每一層中的連接權(quán)重θ。在圖表32的神經(jīng)網(wǎng)絡(luò)中,輸入層和隱藏層之間含有16個連接權(quán)重,隱藏層和輸出層之間含有4個連接權(quán)重,共計20個自由參數(shù)(如果在隱藏層增加偏置節(jié)點,則包含24個自由參數(shù))。模型訓(xùn)練的目標是尋取最優(yōu)的權(quán)重參數(shù)θ,使得預(yù)測的均方誤差最小。根據(jù)誤差梯度對θ進行迭代優(yōu)化的過程稱為反向傳播算法。

 

理論上,隱藏層數(shù)目越多,隱藏層節(jié)點數(shù)越多,模型對數(shù)據(jù)的擬合程度越好。但是在實際運用中,人們發(fā)現(xiàn)增加層數(shù)和節(jié)點數(shù)將帶來諸多問題。首先,權(quán)重參數(shù)的數(shù)目將隨之急劇增加,使得優(yōu)化問題的解空間過大,算法難以收斂。其次,反向傳播算法也會失效,誤差梯度在經(jīng)過好幾層的傳遞之后變得極小,對于前幾層連接權(quán)重的修改變得近乎不可能,這一現(xiàn)象稱為梯度消失。再次,模型復(fù)雜度的增大帶來過擬合的問題。最后,當時CPU的計算能力無法勝任超大規(guī)模的參數(shù)優(yōu)化問題。這些缺陷一度限制了神經(jīng)網(wǎng)絡(luò)的廣泛使用。



2006年及之后科學(xué)家對神經(jīng)網(wǎng)絡(luò)提出一系列重大改進,尤其是卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)的再次興起,重新燃起人們對于神經(jīng)網(wǎng)絡(luò)的興趣。卷積神經(jīng)網(wǎng)絡(luò)的雛形是LeCun在1998年針對手寫字母識別提出的LeNet-5模型,如圖表33所示。卷積神經(jīng)網(wǎng)絡(luò)最大的特點是仿照人類大腦視覺系統(tǒng)的構(gòu)造,每一層節(jié)點并非和上一層全部節(jié)點相連接,而是只和上一層局部的節(jié)點連接,并且連接權(quán)值以卷積核的形式共享,這樣大大減少了連接的數(shù)目。其它的改進還包括在卷積層之間設(shè)計池化層,引入新的ReLU激活函數(shù)等。另外,CPU被具有大規(guī)模并行計算能力的GPU取代。由此,科學(xué)家成功解決了算法不收斂、梯度消失、過擬合和運算能力受限等問題,使得超多層數(shù)、超大規(guī)模神經(jīng)網(wǎng)絡(luò)的訓(xùn)練成為可能,引發(fā)起一場波瀾壯闊的深度學(xué)習(xí)革命。

 

神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)最富爭議的一點在于,對于多隱藏層的神經(jīng)網(wǎng)絡(luò),由于節(jié)點之間的權(quán)值連接過于復(fù)雜,很難真正理解清楚其內(nèi)部是如何工作的,整個學(xué)習(xí)過程在黑箱中運作。人們往往不愿意信賴一個自己無法理解的工具。上述批評在一定程度上是合理的,如今神經(jīng)網(wǎng)絡(luò)的理論研究確實遠遠落后于實際應(yīng)用。然而這些詬病也并不全面,我們?nèi)匀粨碛幸恍┩緩揭桓Q黑箱中奧妙。例如神經(jīng)網(wǎng)絡(luò)中的連接權(quán)值本質(zhì)上反映了上層節(jié)點對下層節(jié)點的影響程度,可以對連接權(quán)值進行可視化處理,從而了解神經(jīng)網(wǎng)絡(luò)更多地參考哪一部分的輸入信息??茖W(xué)家們也在不斷開發(fā)新的工具,致力于開啟神經(jīng)網(wǎng)絡(luò)的黑箱。

 

除了針對圖像識別提出的卷積神經(jīng)網(wǎng)絡(luò),科學(xué)家針對其它問題陸續(xù)提出了其它類型的深度學(xué)習(xí)算法,包括用于時間序列問題的遞歸神經(jīng)網(wǎng)絡(luò)(recursive neural networks,RNN)和長短記憶網(wǎng)絡(luò)(long short-term memory,LSTM),最新提出的基于非監(jiān)督學(xué)習(xí)的生成對抗網(wǎng)絡(luò)(generative adversarial nets,GAN)等等,都有著無比廣闊的應(yīng)用前景,勾勒出深度學(xué)習(xí)激動人心的未來景象。

 


K最近鄰算法

以上的分類方法都暗含如下假設(shè):如果兩個樣本的各個特征都非常接近,那么它們很可能屬于同一類別。換句話說,每個樣本所屬的類別和其“鄰居”差不多。我們不妨根據(jù)上述思想,制定出一套新的分類規(guī)則:每個點對應(yīng)的類別應(yīng)當由其周圍最近鄰的K個鄰居的類別決定——這就是K最近鄰(K-nearest neighbor,KNN)算法。K最近鄰算法在理論上非常成熟,也是最簡單的監(jiān)督學(xué)習(xí)算法之一。該方法的具體思路是:考察某個樣本在特征空間內(nèi)的K個最相似(即特征空間中最鄰近)的樣本,如果絕大多數(shù)屬于某一類別,則該樣本也屬于這個類別。圖表34展示了K=7時的一個分類例子。訓(xùn)練樣例分成紅色和灰色兩個類別。當我們預(yù)測中心點所屬的類別時,首先找到距離它最近的7個點,發(fā)現(xiàn)5個屬于紅色,2個屬于灰色,紅色占多數(shù),因此判斷中心點屬于紅色類別。



我們再以兩因子判斷股票走勢的模擬數(shù)據(jù)為例。在圖表13和圖表14中,我們采用線性判別分析和二次判別分析確定了強勢、中等和弱勢股票的分類邊界,這里我們使用K最近鄰算法。對于樣本空間中每一組因子1和因子2的取值,根據(jù)K最近鄰原則判斷該點所屬分類,最終將整個樣本空間分成三個區(qū)域。

K 取值的不同會讓分類邊界的形狀變得不同 。當 K=3 時, 如圖表 35 所示,分類邊界非常曲折; 當K=21 時, 如圖表 36 所示, 分類邊界接近于直線。一般來說,當 K 取值較小時,分類邊界較彎曲, K 取值較大的時候,邊界會變得更直。 前者會帶來過擬合,后者會造成欠擬合。 因此使用 K 最近鄰算法時, 最重要的步驟是選取一個合適的 K 值,針對不同的數(shù)據(jù)特點, 最適合的 K 值也會有所不同 , 通常采用交互驗證的方法尋找最優(yōu)的 K 值。



聚類

聚類(clustering)是一種無監(jiān)督的學(xué)習(xí),它將相似的對象歸到同一個簇(cluster)中。聚類方法幾乎可以應(yīng)用于所有對象,簇內(nèi)的對象越相似,聚類的效果越好。聚類與分類的最大不同在于,分類的目標事先已知,而聚類則不一樣。因為其產(chǎn)生的結(jié)果與分類相同,而只是類別沒有預(yù)先定義,故也稱聚類為無監(jiān)督分類。下面我們簡單介紹聚類算法中最為常見的一種:K均值聚類(K-means clustering)。


K均值聚類

K均值聚類從全體樣本中挖掘出K個不同的簇,相當于將全體樣本分成K類,每個簇的中心是簇中樣本的均值,故稱K均值。我們通過圖表37的例子說明簇的形成過程。圖中的空心原點是待分類的樣本點,我們希望將它們分成3類,即K=3。首先隨機確定3個點作為質(zhì)心,如左上圖中的紅色、綠色和藍色點。然后,為每個樣本點尋找距離其最近的質(zhì)心,并將其分配給該質(zhì)心所對應(yīng)的簇,如右上圖所示。隨后,選取每個簇中所有點的平均值做為該簇新的質(zhì)心,左下圖給出了各簇質(zhì)心更新的位置移動。由此得到第一次迭代的分類結(jié)果,如右下圖所示。重復(fù)迭代多次,直到簇不發(fā)生變化或達到最大迭代次數(shù)為止。

圖表38和圖表39展示了K取不同值時同一組數(shù)據(jù)的聚類結(jié)果。K均值聚類與我們直觀的分類認知有著高度的一致性,由此可見這一分類算法的有效性。同時,也可以看出分類簇數(shù)K對于分類結(jié)果起著至關(guān)重要的作用。在實際運用中需要通過比較不同K值的分類結(jié)果,最終確定最優(yōu)的K值。



K均值聚類的優(yōu)點是算法高效,簡單易實現(xiàn)。缺點是聚類結(jié)果受K值影響較大,可能收斂到局部最優(yōu)解,在大規(guī)模數(shù)據(jù)集上收斂較慢,并且對異常值敏感。除K均值聚類以外,常用的聚類方法還有分層聚類和譜聚類。分層聚類是對給定數(shù)據(jù)對象的集合進行層次分解,以樣本之間的相似度或相異度為基礎(chǔ),定義類之間的相似度或相異度,對不同的類進行自頂向下的分裂或自底向上的合并,形成嵌套的層次結(jié)構(gòu)。譜聚類是將聚類問題轉(zhuǎn)化為圖的劃分問題,將數(shù)據(jù)集中的每個對象看作是圖的頂點V,將頂點間的相似度量化作為相應(yīng)頂點連接邊E的權(quán)值,從而得到一個基于相似度的無向加權(quán)圖G(V, E)。


降維

很多時候,我們的數(shù)據(jù)包含高維度的特征,但是這些特征之間不可避免存在關(guān)聯(lián),這些關(guān)聯(lián)并非是一件好事,這會導(dǎo)致得到的模型系數(shù)不穩(wěn)定;同時也增加了模型的復(fù)雜性,可能導(dǎo)致過擬合的問題。在實際使用中,高維數(shù)據(jù)下樣本數(shù)目過少,例如一般的回歸問題,當樣本特征數(shù)p大于樣本個數(shù)n,無法使用最小二乘法進行回歸。另外,K最近鄰算法在高維下往往會失效,因為高維下樣本非常稀疏,最近的“鄰居”也很遙遠。假設(shè)所有特征都在0~1之間取值,如果我們認為兩個樣本全部特征的距離都在0.1以內(nèi)算是“鄰居”,那么考慮一下某個點“鄰居”在總樣本的占比,一維條件下是20%,二維是4%,三維就是8‰,維數(shù)更高的情形下,樣本就顯得更稀疏。這將給分類帶來極大的困難。

在多因子選股體系中,我們面對的同樣也是高維數(shù)據(jù),而且因子之間直接也往往存在關(guān)聯(lián)。此時就需要通過降維減少特征的個數(shù),避免維數(shù)災(zāi)難的發(fā)生。之前介紹的Lasso和嶺回歸都是選取合適特征的方法。這兩種方法的效果是刪除一些解釋因變量能力較弱的特征。下面討論的降維方法和前兩者不同,我們將對特征進行線性變換,把原來p個維度的特征變換為M個。用數(shù)學(xué)的語言表達,我們之前有X1,X2……Xp共p個特征,對其進行線性變換,得到Z1,Z2……ZM共M個新的特征:

隨后對這些新的特征做進一步的分析。降維方法的核心在于如何確定Φjm,下面介紹三種主流的降維方法:主成分分析、偏最小二乘法和Fisher線性判別法。



主成分分析

主成分分析(principal component analysis,PCA)是最常用的降維方法之一,核心思路是尋找樣本空間中變動性最大的方向。一般來說,為了避免特征之間單位的不同(如長度可以用米或厘米為單位)影響降維的結(jié)果,首先需要對特征進行標準化處理。以二維數(shù)據(jù)的降維為例,我們選取2016年底上證50成分股的市盈率和市凈率,并進行標準化,得到圖表40中的二維數(shù)據(jù)點。我們希望找到一條直線,將數(shù)據(jù)點投影到這條直線后,得到的方差最大,即下面式子取最大值:

新特征Z1稱為第一主成分:

最終我們得到圖表40中的直線,也就是第一主成分Z1所在的維度。數(shù)據(jù)點在沿直線方向上的方差最大,包含的信息最多;而垂直于直線方向上的方差最小,可以視作冗余信息。二維數(shù)據(jù)點在直線上的一維投影就是降維后的新特征。



對于高維數(shù)據(jù),處理的思想類似,首先尋找樣本空間中方差最大的方向,也就是使得下式最大的一系列Φ:

進而得到第一主成分Z1:

隨后尋找下一條與Z1垂直的直線Z2作為第二主成分,新的直線同樣滿足方差最大的要求。不斷重復(fù)這一過程,直到找全M個主成分。

在實際操作過程中,我們使用更簡單的方法計算主成分。首先計算原始p維數(shù)據(jù)的協(xié)方差矩陣∑,對協(xié)方差矩陣做特征值分解,求出∑的特征值和特征向量。對特征值由大到小進行排序,取前M個特征值λ1、λ2、……、λM對應(yīng)的特征向量α1、α2、……、αM即為M個主成分的方向。其中第m個主成分Zm=αmX,αm等價于Φ1m、Φ2m、……、Φpm組成的向量。

在確定新的特征后, 我們就可以使用 這 M 個主成分代表的新特征對因變量 Y 進行線性回歸。為什么可以這么做? 這是因為主成分分析得到的前幾個新特征往往解釋了自變量的大部分變化,同時也可以反映因變量的變化。 這里暗含的假設(shè)是自變量變化較大的部分在因變量那里也有較大的響應(yīng)。當上述假設(shè)成立時,用 M 個新特征代替 p(M主成分分析法往往有著較好的結(jié)果。我們用較少的維度包含絕大部分的信息,減少了模型復(fù)雜度。那么如何選取合適的特征數(shù) M?常用 的方法是采取交互驗證, 設(shè)置一系列 M 的取值,選取測試集中表現(xiàn)最好的模型對應(yīng)的 M 值。


偏最小二乘法

在主成分分析中,我們主要關(guān)注樣本特征所攜帶的信息,屬于無監(jiān)督學(xué)習(xí)。主成分分析背后的假設(shè)是樣本特征變化最劇烈的部分與因變量變化最劇烈的部分是一致的。這個假設(shè)通常是成立的,但是當現(xiàn)實數(shù)據(jù)違背這一假設(shè)時,主成分分析表現(xiàn)不佳。此時一個自然的想法是利用特征和因變量之間的關(guān)系來確定新的特征,這就是偏最小二乘法的思想。核心思路是尋找特征中和因變量聯(lián)系最緊密的那些方向。

偏最小二乘法(partial least squares,PLS)和主成分分析有著同樣的形式,都是將原有p個特征線性變換得到M個新的特征:

最大區(qū)別是確定原有特征Xj前系數(shù)Φ的方式。在偏最小二乘法中,Z1的系數(shù)是Φ11,Φ21……ΦP1,對應(yīng)于分別用對y做線性回歸得到的回歸系數(shù)。對于Z2,我們先把所有的X對Z1做回歸,用得到的殘差項作為新的特征,這些新的特征蘊含Z1中缺失的信息,并且和Z1正交。然后用這些新的特征繼續(xù)對y做線性回歸,得到系數(shù)Φ12,Φ22……ΦP2。如此重復(fù)M次,得到每一個系數(shù)Φjm,進而計算出M個新的特征Zm。和主成分分析一樣,M的取值也通過交互驗證方法尋找得到。


Fisher線性判別法

Fisher 于 1968 年提出了 Fisher 線性判別法,在論文中他將該方法和前面介紹的線性判別分析做了區(qū)分??墒鞘朗码y料,這種方法后來也被人稱為線性判別析,而更準確的說法應(yīng)為 Fisher 線性判別法。該方法通常用于監(jiān)督學(xué)習(xí)中的降維,核心思路是使得樣本類內(nèi)間距離最小,類間距離最大。



以二維數(shù)據(jù)的降維為例,如圖表41所示,訓(xùn)練樣本x分成紅色和藍色兩類,共包含兩個特征。我們的目標是尋找一個向量w,將x投影到w上得到新的特征y,希望投影后兩類樣本的類間距離比較遠,類內(nèi)距離比較近。圖表41中的虛線是目標向量w,虛線上的紅點和藍點是二維特征投影到這條線上的一維特征。

類似地,對于多維情形,目標仍是尋找一個投影向量w,將x投影到w上得到新的特征y,使得新特征的類間距離比較遠,類內(nèi)距離比較近。圖表42展示了求解w的具體步驟。



以上我們介紹了三種常用的線性降維方法。主成分分析是根據(jù)特征協(xié)方差尋找最佳的投影方式,屬于無監(jiān)督學(xué)習(xí)。Fisher線性判別法則是考慮因變量的影響,希望投影后不同類別之間數(shù)據(jù)點的距離更大,同一類別的數(shù)據(jù)點更緊湊。Fisher線性判別法和偏最小二乘法同屬于監(jiān)督學(xué)習(xí),前者用于分類問題,后者用于回歸問題。除此以外,一些非線性降維方法也有著廣泛的應(yīng)用,例如流形學(xué)習(xí)中的局部線性嵌入(local linear embedding,LLE),測地距離(isomap),拉普拉斯特征映射(Laplacian eigenmaps)等,使用時需要針對不同類型的數(shù)據(jù),選擇最合適的降維方法。


總結(jié)與展望

自18世紀60年代以來,三百多年間人類的生活方式發(fā)生了翻天覆地的變化。兩次工業(yè)革命,電氣革命,信息革命一次次顛覆人類的認知,引領(lǐng)人類叩開未知世界的大門。如今,隨著機器學(xué)習(xí)和人工智能的蓬勃發(fā)展,人類又一次站在命運的風口浪尖。AlphaGo的連勝在圍棋界掀起了波瀾。繼圍棋之后,翻譯這一行業(yè)也正面臨人工智能翻譯的強力挑戰(zhàn)。谷歌無人駕駛車隊已在公共道路上行駛超過300萬英里。智能醫(yī)療、智能家具、智能投顧正逐漸滲透進百姓的生活。站在巨人的肩膀上才能看得更遠,擁抱人工智能也就是擁抱人類的未來。

我們未來將把機器學(xué)習(xí)技術(shù)同華泰多因子模型結(jié)合,測試各種機器學(xué)習(xí)模型的回測效果,以一種非常接地氣的描述方式推送給讀者,使人工智能方法脫去神秘的外衣,讓讀者都有可能開發(fā)出成功的選股策略。我們也將探索機器學(xué)習(xí)在擇時、大類資產(chǎn)配置等方向的應(yīng)用。我們的思路并不局限于以上幾點,在研究開發(fā)過程中,我們將持續(xù)思考、深度挖掘,爭取打造屬于自己的獨特競爭優(yōu)勢。


免責申明

本報告僅供華泰證券股份有限公司(以下簡稱“本公司”)客戶使用。本公司不因接收人收到本報告而視其為客戶。

 

本報告基于本公司認為可靠的、已公開的信息編制,但本公司對該等信息的準確性及完整性不作任何保證。本報告所載的意見、評估及預(yù)測僅反映報告發(fā)布當日的觀點和判斷。在不同時期,本公司可能會發(fā)出與本報告所載意見、評估及預(yù)測不一致的研究報告。同時,本報告所指的證券或投資標的的價格、價值及投資收入可能會波動。本公司不保證本報告所含信息保持在最新狀態(tài)。本公司對本報告所含信息可在不發(fā)出通知的情形下做出修改,投資者應(yīng)當自行關(guān)注相應(yīng)的更新或修改。

 

本公司力求報告內(nèi)容客觀、公正,但本報告所載的觀點、結(jié)論和建議僅供參考,不構(gòu)成所述證券的買賣出價或征價。該等觀點、建議并未考慮到個別投資者的具體投資目的、財務(wù)狀況以及特定需求,在任何時候均不構(gòu)成對客戶私人投資建議。投資者應(yīng)當充分考慮自身特定狀況,并完整理解和使用本報告內(nèi)容,不應(yīng)視本報告為做出投資決策的唯一因素。對依據(jù)或者使用本報告所造成的一切后果,本公司及作者均不承擔任何法律責任。任何形式的分享證券投資收益或者分擔證券投資損失的書面或口頭承諾均為無效。

 

本公司及作者在自身所知情的范圍內(nèi),與本報告所指的證券或投資標的不存在法律禁止的利害關(guān)系。在法律許可的情況下,本公司及其所屬關(guān)聯(lián)機構(gòu)可能會持有報告中提到的公司所發(fā)行的證券頭寸并進行交易,也可能為之提供或者爭取提供投資銀行、財務(wù)顧問或者金融產(chǎn)品等相關(guān)服務(wù)。本公司的資產(chǎn)管理部門、自營部門以及其他投資業(yè)務(wù)部門可能獨立做出與本報告中的意見或建議不一致的投資決策。

 

本報告版權(quán)僅為本公司所有。未經(jīng)本公司書面許可,任何機構(gòu)或個人不得以翻版、復(fù)制、發(fā)表、引用或再次分發(fā)他人等任何形式侵犯本公司版權(quán)。如征得本公司同意進行引用、刊發(fā)的,需在允許的范圍內(nèi)使用,并注明出處為“華泰證券研究所”,且不得對本報告進行任何有悖原意的引用、刪節(jié)和修改。本公司保留追究相關(guān)責任的權(quán)力。所有本報告中使用的商標、服務(wù)標記及標記均為本公司的商標、服務(wù)標記及標記。

 

本公司具有中國證監(jiān)會核準的“證券投資咨詢”業(yè)務(wù)資格,經(jīng)營許可證編號為:Z23032000。

全資子公司華泰金融控股(香港)有限公司具有香港證監(jiān)會核準的“就證券提供意見”業(yè)務(wù)資格,經(jīng)營許可證編號為:AOK809

版權(quán)所有2017年華泰證券股份有限公司


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
使用limma、Glimma和edgeR,RNA-seq數(shù)據(jù)分析易如反掌
挖掘數(shù)據(jù)與表達,是時候提升數(shù)據(jù)分析水平了
【書摘】數(shù)據(jù)挖掘中的算法
機器學(xué)習(xí)該如何應(yīng)用到量化投資系列(一)
機器學(xué)習(xí):入門方法與學(xué)習(xí)路徑 (附資料)
常見面試之機器學(xué)習(xí)算法思想簡單梳理
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服