為什么相同的數(shù)據(jù)得到不同的結(jié)果?
機器學習的初學者經(jīng)常問的一個問題是,“為什么我用課上的代碼和數(shù)據(jù),得到的結(jié)果跟老師 展示的不一樣?”實際上不僅是自己運行的結(jié)果與他人的不同,如果反復(fù)訓(xùn)練模型就會發(fā)現(xiàn), 每次訓(xùn)練的結(jié)果可能都是不同的。造成這一現(xiàn)象的原因,是機器學習中的隨機性。
一隨機性的來源
01、處理數(shù)據(jù)過程中引入的隨機性
模型開始訓(xùn)練前,數(shù)據(jù)一般要經(jīng)過一定的處理,比如將數(shù)據(jù)集劃分為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù),類別不均衡的情況下對數(shù)據(jù)進行重采樣操作等等。默認狀態(tài)下這些操作過程中都有隨機成分,比如數(shù)據(jù)會首先打亂順序再進行劃分,重采樣過程采用的也是隨機抽樣。這些數(shù)據(jù)處理的過程可能引入隨機性。
02、數(shù)據(jù)出現(xiàn)的順序不同
機器學習模型的訓(xùn)練是一個循環(huán)迭代的過程,訓(xùn)練數(shù)據(jù)一般會分批進入模型進行訓(xùn)練。以神經(jīng)網(wǎng)絡(luò)為例,每批數(shù)據(jù)訓(xùn)練完后,模型會根據(jù)預(yù)測結(jié)果與真實結(jié)果的差異調(diào)整網(wǎng)絡(luò)連接的權(quán)重。如果相同的數(shù)據(jù)集以不同的順序進入模型,模型對權(quán)重調(diào)整的結(jié)果也不同,最終得到的模型以及產(chǎn)生的預(yù)測結(jié)果自然也有差異。
03、算法本身包含的隨機性
很多算法都需要對待訓(xùn)練的參數(shù)設(shè)置一個初始值,一般情況下初始值是隨機產(chǎn)生的,這樣做的好處是能夠搜索更大的參數(shù)空間,防止優(yōu)化過程被困在局部較優(yōu)解。所以隨機的初始位置最終達到不同的結(jié)果也很好理解。某些算法中為了減少過擬合問題,在算法結(jié)構(gòu)中引入了其他的隨機性設(shè)置,比如決策樹中每次訓(xùn)練隨機放棄一些特征,或者神經(jīng)網(wǎng)絡(luò)中引入Dropout網(wǎng)絡(luò)層次,隨機放棄一些節(jié)點的輸出值。這些設(shè)置都會導(dǎo)致模型訓(xùn)練的結(jié)果具有隨機性。
二模型有效性
如果每次的訓(xùn)練結(jié)果都是不同的,是什么保證了模型是有效的呢?
這里需要引入收斂的概念。收斂是一個和數(shù)列聯(lián)系在一起的概念,數(shù)列的收斂意味著數(shù)列會不斷向一個常數(shù)靠攏。
機器學習的訓(xùn)練過程可以理解為是一個最小化損失函數(shù)的過程。損失函數(shù)描述的是模型預(yù)測值和真實值之間的差異,損失函數(shù)的最小化意味著模型的預(yù)測結(jié)果和真實結(jié)果之間的差異最小化。損失函數(shù)與模型的參數(shù)有關(guān),每次循環(huán)會調(diào)整模型參數(shù),使得損失函數(shù)逐漸下降。如果把每次循環(huán)后的損失函數(shù)構(gòu)成一個數(shù)列,模型的收斂可以理解為是損失函數(shù)數(shù)列的收斂。
所以對于一個機器學習模型,雖然每次訓(xùn)練后得到的模型參數(shù)不同,但如果最終都能保證損失函數(shù)向一個最小值收斂,則訓(xùn)練出的模型就是有效的,至少對樣本內(nèi)數(shù)據(jù)來說,是能夠?qū)崿F(xiàn)預(yù)測結(jié)果和真實結(jié)果之間的差異向一個穩(wěn)定的最小值靠近。
三應(yīng)對隨機性
對于訓(xùn)練結(jié)果的隨機性,可以通過模型集成的方法,對多個模型的預(yù)測結(jié)果取平均值,或者通過投票的方法得到總體的預(yù)測結(jié)果。需要注意的是,訓(xùn)練過程并不能保證損失函數(shù)實現(xiàn)全局的最小化,有可能只是一個局部最小化的結(jié)果。因此模型對于樣本外數(shù)據(jù)的預(yù)測表現(xiàn)仍然可能有比較大的波動,這種情況下,不加區(qū)分的平均所有模型的預(yù)測結(jié)果并不是較好的選擇,除了深入分析差異原因以外,一種實用的處理方法是儲存表現(xiàn)更好的模型參數(shù),對這些模型的結(jié)果進行綜合。
量化金融分析師(簡稱AQF,Analyst of Quantitative Finance)由量化金融標準委員會(Standard Committee of Quantitative Finance,SCQF)主考并頒證,是代表量化金融領(lǐng)域的專業(yè)水平證書。 >>>點擊咨詢AQF證書含金量
.png)
課程適合人群:
金融工程/數(shù)學專業(yè)背景的同學/工作人士,希望進一步學習Python編程以及在量化投資的實戰(zhàn)應(yīng)用;
非金融工程專業(yè)背景的同學/工作人士,希望迅速成為寬客;
金融相關(guān)人員,希望學習如何系統(tǒng)的做量化策略;
個人投資者,希望系統(tǒng)學習掌握量化投資相關(guān)的實務(wù)技能,從模型開發(fā),回測,策略改進,搭建穩(wěn)定的量化交易系統(tǒng)。
量化金融分析師AQF核心課程體系:
1、《量化投資基礎(chǔ)》
主要涵蓋了量化投資領(lǐng)域的必備知識,包括:基本面分析、技術(shù)分析、數(shù)量分析、固定收益、資產(chǎn)組合管理、權(quán)益、另類投資等內(nèi)容。
2、《Python語言編程基礎(chǔ)》
包含了Python環(huán)境搭建、基礎(chǔ)語法、變量類型、基本函數(shù)、基本語句、第三方庫、金融財務(wù)實例等內(nèi)容。旨在為金融財經(jīng)人提供最需要的編程方法。
3、《基于Python的經(jīng)典量化投資策略》
包含了最富盛名,最基本的量化交易思想和交易策略。例如:海龜交易模型、Logistics模型、配對交易模型、波動擴張模型、Alpha模型、機器學習(隨機森林模型、主成分分析)、深度學習(人工神經(jīng)網(wǎng)絡(luò))等內(nèi)容。
4、《量化交易系統(tǒng)設(shè)計》
旨在學習量化交易系統(tǒng)的具體知識,包括過濾器,進入信號,退出信號,倉位管理等詳細內(nèi)容,并指導(dǎo)學員設(shè)計涵蓋個人交易哲學的量化交易系統(tǒng)。
5、《量化實盤交易》
旨在為解決實際量化交易策略搭建過程中的一些問題提供較優(yōu)解決方案。 >>>點擊咨詢AQF相關(guān)問題
掌握Python及量化投資技能,我們能做什么?
1、熟悉中國主要金融市場及交易產(chǎn)品的交易機制;
2、熟知國內(nèi)外期貨交易、股市交易的異同點和內(nèi)在運行機制;
3、掌握經(jīng)典量化交易策略細節(jié)及其背后的交易哲學;
4、掌握金融、編程和建模知識基礎(chǔ),擁有量化交易實盤操作能力;
5、具備獨立自主地研發(fā)新量化交易策略的能力;
6、掌握量化交易模型設(shè)計的基本框架,以及風險管理和資產(chǎn)組合理論的實際運用;
7、掌握從策略思想——策略編寫——策略實現(xiàn)餓完整量化投資決策過程;具備量化投資實戰(zhàn)交易能力。
.png)
更多內(nèi)容推薦閱讀:
2019年量化金融分析師(AQF)全國統(tǒng)一考試報名簡章
Wind、Excel和Python三大金融技能兼修,下一個金融分析大神就是你
金程推薦: AQF培訓(xùn) AQF培訓(xùn)機構(gòu) AQF是什么意思
咨詢電話:400-700-9596
AQF考友群:760229148
金融寬客交流群:801860357
微信公眾號:量化金融分析師
完善下表,48小時內(nèi)查收aqf備考資料
(如果沒收到資料,可以點我咨詢)


.png)


