如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

資料江湖錄

戰績:兩週斬獲南京人工智慧應用大賽優勝獎

這可能是,中國資料競賽歷史上,資料探勘初學者取得的

最好的成績

這件事情讓人立刻產生質疑的衝動。

是的,沒有眼花,也沒有看錯。本文的內容看起來像是微信轉發中,需要闢謠的廣告體。但是,這不是廣告,不是某英語培訓機構在兜售十天背會兩萬單詞的虛假廣告。

這是事實

2018年9月5日,《關於公佈 2018 全球(南京)人工智慧應用大賽獲獎名單的通知》在本次南京全球人工智慧應用大賽的平臺提供和技術支援方

科賽網(www.kesci.com)

公佈,來自華南理工大學軟體學院的參賽隊伍獲得了優勝獎,獎金金額五萬元。

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

全球人工智慧應用大賽

雖然比賽成績已經獲得舉辦方認可,但

吃瓜群眾

的質疑完全沒有消失:

此次比賽獎金高額,高手雲集,不少參賽者犧牲了休息和娛樂(打王者榮耀)的時間,集中精力參加比賽。

為什麼他們只用了兩週時間?

為什麼是初學者?

▼拉一個近景特寫,看看團隊的情況。

主力隊員均是大學三年級的學生,隊長彭淇,光電資訊科學與工程。主力隊員吳志威,軟體工程(卓越班)學生。華南理工軟體學院CIKE實驗室的帶隊老師蔡毅,一直鼓勵隊員:時間有限,盡力就好,重在參與、重在體驗。因為一開始,並不是對拿獎有十足的信心。兩位同學都是這輩子第一次參加人工智慧比賽,加上兩個月前才第一次聽說南京人工智慧應用大賽。

兩個“第一次”加上努力與投入,並不代表沒有機會贏。

▼接下來,捕捉一張賽事全景。

可以從旁觀者的角度毫不客氣地說,在南京全球人工智慧應用大賽賽事中,在排名前二十的選手中,來自華南理工大學的隊員目前學歷和資歷明顯偏低,本科還沒有畢業,開學才讀大學四年級。

但凡稍微熟悉人工智慧類、或者資料探勘類比賽情況的人都知道,在本次,乃至在全球類似的比賽中,博士學歷非常常見。

日常生活中,我們挺難接觸到博士,但是

人工智慧作為技術的高地,非常偏愛高學歷。

有人的地方就有江湖,人工智慧的江湖裡從來不缺少大神,大神在技術領域是用來專指技術一流的人才,也就是高級別技術人士,代表了很難超越的技術境界,無論是來自學界,還是業界。高級別技術人士為生態生產了大量的開原始碼。阿里天池和科賽的不夠用,還可以去國外的kaggle。但是比賽中,大神可不會提供開源的程式碼,因為要和他們直接競爭。

也許參賽前並不清楚對手,在本次賽事中,華南理工大學的團隊和阿里天池的“戰神”團隊,以及來自北京理工大學的黑馬(資料競賽江湖錄:打破阿里天池戰神不敗神話,南京人工智慧應用大賽殺出黑馬),他們不約而同的選擇了同一道題目競技。排名結果確定後,這支年輕的團隊以0。0001的微小差別緊隨第二名之後,居於第三名。

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

在交談中,我也帶著各種疑問,一口氣問了很多問題:

為什麼只用了兩週的時間打比賽,這次的獎金數額較高,很多團隊都是開足馬力,全力以赴?真的是兩週時間嗎?聽起來不怎麼可信。

聽完這一系列問題,隊長彭淇無可奈何地說,“沒辦法趕上了學校考試周。確實是,我7月16日才找到隊友,初賽6月1日已經開始了,8月6日結束,7月21日第一次提交成績。”

在南京賽事的最後一場,路演現場,團隊開場致辭令人印象深刻。

演講一開始,隊長彭淇目光炯炯,又不失自信的告訴評委、告訴全場來賓:

我是一名來自華南理工大三的學生,正好也是扎克伯格建立Facebook的年紀。

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

比賽現場

如果對以上背景情況沒有什麼質疑,那麼我們最想知道的就是,

如何兩週獲得南京人工智慧應用大賽優勝獎?以及作為初學者的他們,用了哪些方法?

讓我們細細道來。

(一)團隊解題思路

以下內容由獲獎團隊提供:

A丨賽題背景

江蘇運滿滿平臺的匹配和排程工作是這樣進行的:託運方(貨主)在運滿滿平臺釋出貨源資訊,通常需要4。2-17米的貨車,貨源包括但不限於:鋼件,化工原料,建材,農產品,快遞等。承運方(司機)尋找可以承接的運輸任務,然後進行單程的公路運輸行為。

但上述工作存在以下的問題:貨運供需市場是不透明的,發貨量和司機數量並不匹配,去程和回程也不匹配。供需雙方受到很多因素影響。這造成了巨大的資源浪費。比如空載率高,貨運價格波動嚴重等。

根據過去大約6個月的發貨量和司機數量來預測未來7天的發貨量和司機量,於該類問題最相似的實現方案是把問題當成傳統時間序列問題,

以統計學的方法—自迴歸積分滑動平均模型(ARIMA模型)進行建模處理

,將時間序列數值進行差分求得為平穩差分序列,並確定出自迴歸項p和移動平均項q。我們會把該平臺每天的貨物量和司機數量匯入ARIMA模型中,求出需要的引數後則對其接下來進行預測。

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

但單純的ARIMA模型存在以下缺點:

要求時序資料是平穩的(stationary),或者是透過差分化(differencing)後是平穩的。但是對於司機量或者貨物量這個問題來說,可能會受到天氣以及節假日的影響,造成數列不平穩。

本質上只能捕捉線性關係,而不能捕捉非線性關係。由於中國存在傳統節日春節,大部分人都會休假,直接導致春節期間貨物量和司機需求量斷崖式下降,在時序上出現斷層等情況,會導致資料的變成非線性資料。

統計學模型要捕捉時序中的週期性或季節性因素的話,需要有大量的資料,但是由於供給只有六個月的資料,因此資料量可能不能滿足模型的需求。

為了解決這一系列問題,我們提出了一種新的,處理這類資料量較少,同時要考慮到以下幾點:

曜日丨因為星期幾對於貨物量和司機數量的需求有較大影響,例如:週末兩天的貨物量和司機量相較於工作日都有所下降。

天氣因素丨極端天氣如暴雨、暴雪可能對司機出行有影響,從而可能影響司機數量。

時間衰減影響因素丨距離需要預測時間越近的數值,我們要給予更大權重,因為越接近需要預測的日期,可能數量的相關性就越大。

節假日因素丨節假日的貨物和司機數量都有所下降。

我們稱這個模型為—

時間序列加權迴歸模型

,旨在解決這類資料量小且維度低的問題。同時,對於那些資料量大,緯度高的問題,我們的模型也有實際意義,它能提供一個基線以及基本的資料分佈。

B丨基本實現步驟

1 資料分析

1.1 節假日的影響

用python的matplotlib工具包將資料集中13個地區的貨物量、司機量透過影象呈現出來,如下圖所示:

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

▲ 13個地區的貨物量

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

▲ 13個地區的司機數量

1.2 極端天氣影響

由於資料集中還記錄了各個地區的天氣情況,因此我們猜測極端天氣對貨物和司機數量也有直接的影響。

我們將中雪、大雪、雨夾雪、大雪暴雪、暴雪、大雨、雷陣雨、暴雨標記為極端天氣(bad weather),其餘標記為正常天氣(good weather),這裡我們以司機數量為例,分析極端天氣和正常天氣一週7天的平均數值,作出10個地區的分析圖。發現極端天氣對司機數量的並沒有造成明顯的影響,所以接下來的訓練資料中並沒有去除極端天氣對應的資料。

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

折線圖

2 線下測試集

對所給資料進行分析後,我們選取了除去春節以及傳統節假日(去除清明節、勞動節共6天)的資料集作為訓練集。

我們首先線上下進行最佳化,並選擇線上下有效的方法提交到線上進行驗證。選擇5月24號到5月30號共七天作為線下測試集的主要原因在於,在去除了節假日因素的影響後,我們發現5月24號到5月30號和線上測試集具有相近趨勢的特點。

3 迴歸

以預測貨物量為例(司機數量同),一個最基本的思路是,對於每個地區,將測試時間段的貨物量預測為其訓練時間段的貨物量的均值,即:

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

函式

式中,pred320100為地區320100貨物量的預測值;D為訓練時間段的日期集合;|D|表示訓練時間段的天數;Cargo320100,d表示地區320100在日d的貨物量。

此時我們是把貨物均值視為對訓練時間段內貨物量的迴歸。不過,我們顯然可以找到一個比均值更優秀的迴歸值,這個值應該使訓練時間段上的損失值最小。我們將這個值作為地區320100在待測7天的預測。即:

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

函式

式(2)中,L為賽題給定的損失函式。

加權:距離權重

透過對資料的觀察和對問題的分析,我們發現一個地區的貨物量情況是動態變化的,會呈現上升或下降的趨勢,由此可見,越靠近測試時間段的樣本重要性越大。

於是,我們給選取的訓練集的每一天加上了一個權重,使得越靠近測試時間段的樣本的權重越大。權重係數為ω320100,d。

此時,(2)式可以改進為:

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

函式

週期:曜日系數

時間序列問題的特點是時間樣本較少,因而樣本利用程度非常重要。為此,我們再做了如下的改進:在訓練時間段上,我們為每個曜日計算了一個係數,

曜日ψ是星期的記法,如ψ=0為星期一,ψ=6為星期天。γ320100,ψ用來作為地區320100曜日ψ上的曜日系數。D表示訓練時間段的日期集合,Dψ表示訓練時間段上屬於曜日ψ的子集。由此我們可以在訓練樣本中排除週期性成分,然後在對測試時間段進行預測時重新乘回,即:

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

函式

式中,μ為測試時間段的一天;ψ(d)表示訓練集d日的曜日(即星期幾),ψ∈[0,6]。

C丨模型的創新性

這是一種新的處理時間序列問題的模型,該模型在資料量較小,可提取的特徵維度較低的情況下,能夠充分同時考慮到曜日、節假日、時間衰減等因素;

能夠不斷地在原有模型基礎上加上需要考慮的影響因素,具有較好的泛化性;

傳統的統計學方法解決時間序列問題需要較長的時間跨度才能夠捕捉到週期性因素,但是我們的模型能夠在先驗經驗的基礎上,給定可能的週期,讓模型在少量資料集的情況下也能去捕捉到週期趨勢。

以上是賽題的思路分享,這次比賽的取得了不錯的成績,希望能夠藉此機會向隊員討教一些好的學習方法與經驗。

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

deardata

(二)訪談內容

Q1:為什麼會有興趣?

覺得資料科學會是未來技術的方向,自己有興趣,大一自學了C和C++語言。大二進了自動化學院的課題組,做了一些工程化的專案,一下萌生了對資料探勘超級大的興趣,覺得非常好玩,也喜歡投入地去鑽研一些問題,並找到解決方法的快感。一種沉浸在資料競賽中的快感能產生很大的動力去解決問題。面對問題,鑽進去解決,看到自己的分數一步一步提高是莫大的幸福。

Q2:損失函式中衰減係數的作用是什麼?

可以理解為如何利用這些歷史資料,有了衰減係數,5月末的資料比例用的多,1月份的資料比例用的少。就好比在算損失函式的時候 5月末的資料佔了50/99,而1月份的資料佔了 1/99。那算出來的預測資料 肯定和5月末的資料相關性更大了。

Q3:有什麼收穫?

收穫了隊友,收穫了友誼,在自己喜歡的領域找到並肩作戰的戰友。相互學習、相互鼓勵。

Q4:有什麼好的學習方法?

第一、多coding,一定要上手練習。

第二、多看開原始碼,非常啟發,學到一知半解的時候,來一份開源的程式碼,細節的精妙都蘊含在程式碼之中,學習非常有效。

Q5:能不能打聽一下主力隊員的學習成績和學習基礎?

隊長彭淇的專業排名是全專業第二名。主力隊員吳志威,也是軟體工程卓越班學生,大三上學期的排名是全專業第四。

Q6:是否認同“資料競賽是最好的、學習資料探勘的方法”這一說法?

競賽平臺強迫你去實踐。因為受條件限制,很多和企業業務和實際相關的資料探勘的問題,和工程平時接觸不到,比賽最接近工程的運作,學習到的,透過比賽來運用是非常好的。由實驗室老師的帶領和指導,學習的更加有效。參賽過程中對錶達能力也是一種鍛鍊,數學問題一般比較抽象,很難表述。在表達方面,CIKE實驗室的蔡毅老師給我們提了一個要求,

如果把複雜是資料探勘問題講解到連女朋友都能聽懂了,那麼才OK。

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

deardata

(三)總 結

有人說,自古英雄出少年。也有人說,高手的生死決定了一技的興衰。科技的發展從某一方面理解就是人才的發展。人工智慧的專業人才已經成為科技領域的基礎資源。

本次南京全球人工智慧應用大賽的平臺提供和技術支援方,

科賽網(

www.kesci.com

)創始人範向偉認為,人工智慧人才核心的特點是基於新的生產要素,就是資料、演算法和算力,新的生產要素必然產生新的人才能力要求。從工程師到科學家的培養,關乎中國人工智慧的興衰。學界和業界也在積極探索,積極合作。

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

科賽網(www。kesci。com)

筆者透過近距離的觀察,努力嘗試回答文章開頭的問題:

如何兩週獲得南京人工智慧應用大賽優勝獎?

第一、參賽隊員對人工智慧的興趣是激發參與者探索問題的原生驅動力。

第二、參賽隊員良好的學習基礎,競賽中運用的知識與技能來自於常年的積累。

第三、在實驗室團隊老師的帶領下,隊員成長在一個友好、互助、好學的環境中。

隊員的背後是CIKE實驗室雄厚的積累,隊員的身邊是務實的科研氛圍。在前文中多次提到的蔡毅老師是華南理工大學CIKE實驗室負責人。任20多個知名國際學術會議的主席和程式委員會委員,多個學術期刊編委和客座主編。CIKE實驗室近三年參與的競賽成績斐然,實驗室成員在阿里天池、Kaggle、中國計算機學會(CCF)BDCI競賽、教育部大資料挑戰賽等多個國內外智慧大賽中獲得多個大獎。實驗室承擔多個企事業單位委託的人工智慧專案,有豐富的人工智慧技術落地應用經驗。

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

CIKE實驗室合影

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元

CIKE實驗室合影

兩週的參賽時間確實非常短,但這不是一個偶然事件,不是碰巧的成功。

我們可以理解為一支訓練有素、經驗豐富的專業團隊,派出精銳力量,對於戰鬥目標的一次奇襲,並完美取勝。

One More Thing

在文章的最後,因為今天是9月10日,教師節。隊員們想借此機會謹向華南理工大學軟體學院CIKE實驗室的蔡毅老師致以節日的問候,感謝老師一直以來,給予的幫助與教導。(完)

親愛的資料

出品:譚婧

美編:陳泓宇

如何兩週獲得南京全球人工智慧應用大賽優勝獎?獎金五萬元