如何看待攜程舉辦的大數據比賽?

前段時間無聊,參加了一個攜程的比賽:科賽 - Kesci.com ,僥倖得了第一名。

比賽過後,我將我們的代碼分享在了我的github上,並且在科賽 - Kesci.com上分享了我們的解題思路。在思路中,我們明確說明了我們使用了yin叔在比賽過程中發現的leak,對於leak,我們並沒有隱瞞。

然後代表10data這個公司參賽的王佳技選手在查看了我的代碼之後,提出了我們使用的leak在實際生產過程中沒有預測功能。

而對於這一leak,官方明確回復過可以使用!

我們也承認,這是在第二天產生的數據,在實際生產環境中是拿不到這些數據的。因此這是一個leak!!!

我們完全在規則內完成著自己的作品,但是第三名以我們第一和第二名代碼有leak為由(當時第二名也開源了),把第一名和獎金髮給他們!!!

為此,攜程又在比賽欄位不變的情況下,舉行了一場邀請賽,只是把test中原本7天的數據變成了1天的,這樣我們的確拿不到了前一天的信息了,也就不存在了上次比賽中存在的leak了。

但是!!!!我們和第二名已經開源了!!!!而10data隊並未開源!!!!並且從上面的回復中可知:他看過了我的代碼!!!!

於是我們又進行了兩周的邀請賽。結果我們又僥倖拿了第一名。

代碼審核的最終結果是:

對於攜程的這個描述,我認為我們的代碼在生產環境中完全不存在leak!!!

想像一下:當一個用戶點擊,我們立刻就要去預測出他的結果,而此時是完全沒有未來數據的!!!

而對於線上的分數,攜程方堅持認為該維度存在leak。我說既然你們覺得是那就把這個去掉重新跑一遍。

他們也同意了!

最終我們跑出來的分數還是比第二名高出一大截。(因為我們直接單模型的分數就有0.4664+的分數啦。而那個leak出現在了stacking中了。)

然後攜程的又出來跟我們扯這些:

回到問題的本身:

1.我不認為這個模型使用中會存在leak。

2.我當然也不會意識到這是leak。

3.既然你們認為是leak,那我同意你們去掉。

4.攜程方去掉leak之後發現我們的分數還是很高!!!然後就開始取消成績了?

我們可以理解為:

1.如果你是新手,參加了一個比賽,然後還不知道什麼是leak就這樣瞎做啊瞎做,最後拿了個第一,然後主辦方以你使用了leak為由,取消你的成績!以後還有玩家敢做比賽?

2.如果去掉了leak,然後分數還是領先,然後取消了你的成績。自己再把代碼拿去使用了,嚴重侵害知識產權!

3.把他們所謂的leak等同於作弊!!這是嚴重的人格侮辱!!

所以我要求攜程方做出如下:

1.在比賽頁面公開致歉。

2.賠償我們22,23號交涉的時間損失。

3.給予我們應得的榮譽和獎金。


攜程辦比賽太爛了,之前的比賽獎金拖了一年才發,還以代金券發。

這次又出這種問題,強烈建議各位抵制攜程的比賽!

試想下,一個數據挖掘比賽:

- 手動評測

- 獎金以代金券發

- 不公平承認選手成績

我估計全球就攜程一個公司幹得出來了。


利益相關回復,作為科賽網 Kesci.com 的創始人,我也來談談這次攜程舉辦的演算法比賽的歷程,作為項目復盤和教訓總結。目前攜程、科賽、植物大神的Baseline團隊、10Data已經找到了解決方案,達到了各方滿意的結果。

阿里、騰訊、京東、滴滴、今日頭條最近都陸續開始辦演算法賽事,相比之下,攜程賽事在競賽圈比較下來確實做得還不夠好,攜程和科賽的準備和投入都不夠,這次房型預測的比賽又出現了協調、組織、溝通的問題,我作為科賽網的創始人首先是要反省的。

回到本次又出現了問題的房型預測的賽題中來,就像植物大神所說的,確實整個過程出現了很多問題,過程也很複雜,我這裡復盤一遍,防止以後再出現類似的問題。

Data Leakage的問題確實很常見,會影響賽事的公平性以及演算法的可復用性,對於選手和主辦方都是不好的,但又很難完全避免,經常參加比賽的人都知道這一點,科賽當然也碰到過很多次。Leakage問題發生,科賽作為競賽平台的承辦方,主要是和主辦方共同討論,由主辦方決策如何處理。

科賽過去總結出來的辦法,主要是辦一個現場答辯,讓排行榜成績靠前的選手們通過答辯來呈現演算法的思路和價值(這個辦法不一定最好,相比重新清洗數據再辦一場比賽,或者把所有人的leak信息手動去掉,成本會低一些,也能夠創造一個相互交流學習的環境)。選手們在決賽現場,也都會承認有leak現象的存在,會開誠布公進行討論,但更多是討論思路、討論方法、探究應用價值,評選最終名次也是會綜合排行榜的成績,和答辯的表現,Leakage對於賽事的不利影響也就相對可控。

但是攜程的系列比賽,因為缺少預算、缺少人手,剛好都沒有安排答辯,就直接按照排行榜的前三名,把獎項給在網站和社區都公布了出來了。

本來以為這個房型預測的比賽圓滿結束了,這,沒想此後又發生了一系列的意料之外。

科賽不僅是個競賽平台,也在努力成為一個數據技術社區,就希望借鑒Kaggle、Github的開源精神,把選手的優秀作品發布到科賽今年3月份上線的K-Lab產品上(類似Kaggle的Kernel功能),幫助更多的社區用戶學習技術。可這次房型預測比賽的第一名和第二名都公布了自己參賽的演算法代碼,第三名作為是一家公司(10Data),需要保護自身知識產權,就沒有公開自己的代碼用於交流。

成績公布後的一周,科賽的郵箱接收到了第三名的投訴,表示他們研究了第一、第二名的代碼後,認為存在data leakage,要求重新評定比賽的成績,因為他們為了確保演算法的商業實際價值,沒有使用data leakage。

這個data leak的特徵確實存在,可是在比賽的選手QQ群裡面,選手和攜程的數據分析師對此已經展開過很充分的討論,選手詢問是否可以在賽事中使用這個data leak的特徵信息,得到了「不建議使用,但是也不反對」的回應,但是第三名的團隊也確實剛好沒有看到這個討論,所以認為這個局部的聲明是缺少效力。比賽QQ群討論,往往在半夜也很激烈,這段對話則發生在凌晨一點(科賽的工作人員當時也沒有看到,沒有把這個很重要的信息置頂在公告區)。

所以第三名團隊提出要重新評定成績,因為攜程制定的比賽規則中,確實有一條叫做「「參賽者禁止在指定考核技術能力的範圍外利用規則漏洞或技術漏洞等不良途徑提高成績排名,經發現將取消比賽成績並嚴肅處理」,雖然Data Leakage是不是屬於這個規則的適用範圍,本身是有爭議的,加上本次賽事確實在QQ群官方表示了不反對這個Leak信息,這個爭議就更大了。

既然攜程的出題者已經說了「不反對使用Leak信息」,那這個成績作為攜程主辦方來說就要認可了。但是第三名團隊認為允許Leak使用的做法本身是不夠專業的、不公平,表示需要攜程的技術領導妥善處理這個問題,要給出一個明確的處理方案。

領導考慮到攜程確實在賽事中得到了比較好的演算法結果,產生了實質的經濟效益,也希望攜程雲海系列賽事能夠持續舉辦下去,不希望攜程賽事的口碑壞掉,也在努力和第三名團隊進行溝通。最後攜程的領導拍板,拿出的解決方案是,首先認可前兩名有Leakage的團隊的成績,同時,在更新數據後再組織一場附加賽,定向邀請此前排名靠前的團隊,提供額外的兩萬元獎金,額外的兩周比賽時間,要求是不再使用Leakage信息。第三名團隊對此安排,最終也表示了認可。

這個附加賽到了結束的時候,植物大神的團隊又是第一,第三名的團隊又是第三名。

於是情況變成了這樣:

  • 一個很複雜的房型預測的題目,本身容易產生leak現象。
  • 這個比賽沒有通過答辯來規避Leakage的不利影響,直接公布了前三名的最終成績和獎項。
  • 一個公司參賽團隊是第三名,自己很注意不去使用leak信息。
  • 前兩名團隊的代碼在科賽社區開源共享了,而且前兩名使用到了leak信息,剛好被第三名團隊看到了,所以要提出對於Leakage現象的公平性申訴。
  • 這個leak信息在QQ群的討論並且被出題方認可使用,而第三名團隊又沒有看到這個發生在凌晨的聊天記錄。
  • 這個賽題給攜程帶來了不錯的效益,相關技術負責人希望可以鼓勵選手不用leakage再做一次附加賽,探索更大的商業價值。
  • 這次附加賽的第一名,又是第一次比賽的第一名,第三名又是第三名。
  • 第一名選取的特徵不小心包含了很難發現的Leak,而去掉這個Leak的特徵後,第一名還是性能表現的第一名。
  • 而主辦方在附加賽的規則中,又著重強調了不允許使用leak信息,而這個leak信息又是很隱蔽的,很難直接規避。
  • 附加賽的第二名的代碼不能夠復現,所以如果取消有Leak的情況的成績,那第三名就可以成為第一名,而第三名的代碼中又沒有包含Leak信息。
  • 攜程的領導認為既然強調了附加賽不能夠使用Leak,那就要嚴格執行,就有了後面的事故,攜程認為植物大神的成績是無效的。
  • 出現leak常常不是主觀能夠避免的,特徵工程的高手會無意中提取到,那杜絕Leak的比賽規則本身就有其的局限性。
  • 負責這次房型預測比賽運營的攜程同事、科賽同事,演算法比賽相關知識和經驗都很不足,在協調、溝通的時候效果也很不好,沒有及時化解Data Leakage帶來的誤會。

昨天晚上,和植物整個團隊的成員、李老師、攜程的同事,一起討論怎麼解決這個問題,聊了一個半小時,分析了這個賽題的leak情況,以及比賽中出現的組織問題和教訓,大家一起拿出了一個解決這個問題的方案,也就是首先承認主辦方攜程和承辦方科賽的過失,向Baseline團隊正式致歉,並認可植物大神的分數(去除Leak特徵之後)作為比賽成績的第一名的有效性,頒發榮譽和獎金,同時也認可第三名團隊防止出現Leak現象所做出的努力和價值,頒發等額的獎金。為了在名稱上區分,植物大神團隊命名為專業組第一,10Data團隊作為商業組第一(也是考慮到10Data也是專業公司)。

今天一整天,也在和10Data、攜程、Baseline團隊進行三方的協調,希望大家能夠對此方案達成共識,最後大家也達成了共識。

這個知乎帖子的閱覽量已經不小,植物大神昨天在寫這篇文章的時候肯定很氣(誰遇到這種情況都會很氣,我見植物大神時,脾氣其實是很好的),所以措辭上也有些情緒,對於攜程和10Data公司來說也是有些負面影響。

我開始遇到問題也很慌,希望能直接刪掉帖子,潛意識裡想要逃避。攜程和10Data作為公司當然也是如此,但和植物大神仔細討論下來,直接刪掉反而顯得是比賽組織有什麼內幕,畢竟這麼多人都看到過了,問題其實一直存在,圈子裡大家也都清楚。

更好的方式是由科賽來把這個賽事事故的過程、原因、解決思路、結果給梳理清楚,未來在組織比賽的過程中能夠預防類似的問題,提高賽事的質量和價值,對於賽事的主辦方,對於選手,長遠看都是更好的。

其實我站在承辦方和競賽平台的角度可以看到,攜程的領導和每一位同事、植物的Baseline團隊、10Data,大家都是抱著很好的初衷在參與比賽中來,無論是組織比賽,還是參加比賽,都付出了很多的心血,這裡面也並沒有什麼黑幕,各方也都沒有什麼惡意,可確實就產生了很多的誤會,造成了很多的時間和精力的浪費。

雖然這次房型預測比賽的管理失誤,看上去是突然事件,也有其必然性。在大環境上,數據競賽在國內還屬於是新興事物,不少互聯網大廠都開始嘗試,並認可其了其價值,但大多還沒有設立專門的部門或人員來進行管理,更多是臨時項目制的形式來進行過渡,通過和科賽類似的競賽平台合作來進行賽事組織,決策鏈條比較長,響應仍偏遲鈍。

在科賽身上,賽事項目的管理流程體系也處於初級階段,對於項目經驗的沉澱、總結還不夠深入,此前也還沒有成立自己的專業數據分析團隊,沒有能夠在賽事中發揮足夠突出的貢獻,更多還是停留在賽事的管理信息系統和用戶交流社區的階段。關於如何策劃更好的賽題、完善清洗數據、更嚴謹的規則設計、更及時的問答響應,一個數據賽事要辦得更好,實現更大的附加值,還有很大的進步空間,也是科賽在努力進步的方向。

科賽仍然是一個年輕的團隊,還有很多的不足,我們能夠看到自己的短板,也正在不斷改善,希望科賽的客戶、用戶、合作夥伴,都能夠多鞭策、多提醒我們。這次的事件給了我們很大的教訓,關於如何做好一件事、做好一個項目、做好一次溝通、做好一個公司,還有太多值得學習、反思的地方。

最後,再次向植物大神的Baseline團隊致歉,這個事情造成了整個團隊很多的時間損失、情緒波動、精力消耗,到昨天才算是剛剛得到了妥善解決。從評審代碼開始,前後折騰了有五六天,許多細節問題要和攜程、科賽的同事反覆溝通,這所帶來的煩躁我是很能夠理解的,也希望植物大神能夠諒解。

最後,要特別感謝的Loda Li,李凱東老師,作為競賽圈內最有影響力的選手之一,也作為京東的數據技術領導,和李老師認識的這一年多里,給了我們科賽太多太多的建議和幫助。這次的房型預測附加賽的評審問題中,我們還是只能請來李老師來幫助協調,最終的解決方案也是李老師提出來的(當時都已經是臨晨一點半),攜程的同事、10Data、Baseline都對方案表示服氣和認可。很難想像,如果沒有李老師的專業、經驗和仗義,這個矛盾又要僵持多久時間。


謝邀!

早有耳聞拖欠獎金什麼的。

但是,據說這家公司的大數據還是很牛的存在,你在同一台電腦搜索同一目的地的,搜索的次數越多,票價會越高,票的數量會越來越緊張。

大家還是別助紂為虐了。


早在一年前就聽聞拖欠獎金,最後發代金券的事情

可能什麼樣的公司就辦什麼樣的比賽吧


對於這種無良的公司和比賽平台,呼籲大家一起抵制:

所有的比賽交流群中禁止討論所有該公司和該比賽平台有關的任何比賽;

所有選手不要參加該公司和該比賽平台相關的任何比賽;

所有公司不認可該公司和該比賽平台舉辦的任何比賽的獎項;

大家朋友圈一起轉起來,讓大家一起看看這種無良的公司能做出多麼沒有下限的事情。


作為數據挖掘比賽的選手,看了整個流程,感覺主辦方明顯有失公正,參賽選手使用官方下載的數據集,在規則允許下設計演算法進行比賽,選手通過自己的才能跟努力做出的成果,就憑主辦方單方面以所謂的leak就給取消成績,本身就難以服人,另一方面,以所謂的leak就指認選手作弊,更是噁心之至


利益無關,只是為參賽者鳴不平。討論完全基於知乎上已公開的信息,至於有什麼其他情況不得而知。

首先,data leakage就是出題者的問題,說明出題不夠嚴謹和專業。再加上官方對此的態度比較曖昧(QQ群的討論回復),其實是誤導了參賽者。怎麼著都是主辦方的問題,卻說參賽者作弊(這是一種人格評價,是在潑髒水),把責任推給參賽者,自己擺出一副毫無責任的樣子,這就有點沒氣度吧。你開始的時候說不禁止利用leakage(自己出題有漏洞,而且大家都能拿到leak的數據),又不舉辦答辯會來給各方一個公開澄清和溝通的機會。然後說要在去掉泄露信息維度之後加賽,結果人家還是第一,這簡直就是群眾喜聞樂見的打臉啊。最終在加賽後出爾反爾,以作弊這種潑髒水的理由取消人家的成績,這會給旁觀者一種什麼感受?有黑幕和內定名次結果的嫌疑啊(雖然我相信不會有黑幕,但是至少給我的觀感就是這樣的)。最後的結果還分為專業組和商業組,難道是在表明商業組不夠專業?

我覺得主辦方應該向參賽者公開致歉並給予額外補償,對自己出現的各種問題開誠布公,並明確今後遇到類似問題時的解決方案,這樣才是給各方一個好的交代。你作為主辦方無法容忍data leakage也情有可原(畢竟自己想拿去實現商業價值),但是你要事先明確並強調自己對此的態度,不要事後再擺出自己最「公平公正」的形象啊。回顧下來,主辦方作為知名大公司,還是缺了一點勇於反思和承認錯誤的氣度,直接影響了該比賽在眾多參賽者與潛在參賽者心中的形象和認可度,真是得不償失。為了掩蓋自己之前出現的問題而不斷製造新的問題出來,止增笑耳。


頂,已經同主辦方協商過並且也按照協商的方案執行,最終的成績就應該有效!


國內外那麼多比賽,就攜程一家發代金券,真是醉了。

話說攜程舉辦的第一屆比賽,聽過許多趣聞,如手動評測答案,不發獎金等等。


做過幾次比賽,也聽過攜程在圈子裡的名聲,作為一個還算蠻大的公司,真的沒有大公司的氣度。。。之前就被報過拖欠比賽獎金不發,最後選手們集體上訴,才妥協,然後也只是發了代金券,真是瞎了,自己寫的比賽規則都可以無視,真不知道還能無恥到什麼地步,然而這次攜程又秀了一把下限。

本來用幾萬拿一個 Data Mining 解決方案就是一件穩賺不賠的事,還這麼事兒逼,真是瞎了,國內的比賽真不缺你們一家,以後堅決抵制攜程比賽,一生黑

至於 leak,這個本來就是比賽方自己坑爹,數據清洗沒做好,選手們靠自己的聰明才智發現還不對了?既然不能用為什麼不明確禁止,還說不反對?等到人家的代碼提交了才來說有問題?這不是人前一套人後一套嗎??


作為這兩次比賽的參賽選手(第一場比賽的第5名-還沒到極限吧?,加賽的第4名-POI),我也來談談我的切生體會,利益無關。

1.數據挖掘比賽近年來才興起,國內各大公司都在嘗試,旁觀者一知半解的話,會有些誤會,請別噴攜程做得不好。

2.Kesci只是一個競賽平台(就像Steam、TGP是遊戲平台,如果遊戲有bug,你不能罵遊戲平台呀),這次兩次比賽過程中Kesci也在努力溝通,你們別噴Kesci呀!

3.對於公正這個問題,攜程就是為了公正才舉辦的加賽,這點在 @范向偉 老師的回復中也提到了。主辦方在附加賽的規則中,又著重強調了不允許使用leak信息,所以對於加賽取消成績就是公平的。(就像你考試作弊完,然後給老師證明你有能力得第一,也沒用,因為你已經作弊了。)加賽的目的就是不用leak,從實際生產角度出發。(不是說,leak等同於作弊。而是規則上寫了不能用leak,而你卻用了,這才是作弊)

4.如果我沒理解錯的話,植物您在提問中可能說錯了一點,就是第一場比賽沒有取消您的成績(獲獎名單),我第5名也用了leak,都沒取消成績。

5.對於開源的問題,Kesci鼓勵開源,沒有強制開源,您不能拿開源說事啊。

6.您消消氣,客觀上,還是能接受,獎金很多,一下沒了我也會很激動。(但是攜程發獎金速度確實慢)

7.關於手動評測,復現代碼這一點,確實有點頭痛,記得備份最優解的代碼吧。


沒人覺得攜程對這個比賽的處理方式和他們在實際業務上對待客戶的方式高度一致么……


首先,leakage作為數據競賽不可避免的漏洞,按照以往國內外各個同類數據競賽,最為廣泛與合理的方式即允許使用。

攜程官方本次問題的處理方式,也暴露出兩個比較核心的問題。一是競賽舉辦方較為業餘,準備極不充分,比賽期間任意改變賽制與規則,已經屬於較為嚴重的事故了。另一方面在發現問題後,處理方式與態度過於隨意,對自己的錯誤有狡辯與隱瞞的嫌疑,缺乏大公司所應有的嚴謹。


就事論事

客觀公正

但是

這個操作太沒技術含量了

難道,參賽選手編寫的代碼就不算知識產權嗎

還是說你們(攜程)覺得自己

在這方面站得住腳

用腦子想一下就知道會有這種事情發生

只能說,比賽官方用人不當。

&< ( ? 乛?乛? )&> 可把我厲害壞了,叉會兒腰


竟然有如此厚顏無恥的公司。。。


攜程這次確實不地道。


目前只參加過知乎的看山杯。

但圍觀過其它幾個比賽,發現各個主辦方差距其實蠻大的。

參加比賽的很多大佬(比如樓上幾位)人都很nice,給我等小白,在數據挖掘分析等等各方面都會毫無保留的指導和分享,賽後還會分享源碼,何等的胸懷。

希望這些井噴的比賽的主辦方能夠維護好這些比賽氛圍,在獲取到自己商業利益的同時,能夠為大數據行業發展的這些中堅力量以及新生力量做好導向。

就單純比賽來說,大佬們都可以發現leak,那你們也可以啊(自己發現或者請大佬發現,都是知名公司,不差錢),一般比賽都是兩三個月,早點換數據啊,大家也是喜聞樂見,如果實在沒發現,那主辦方還是要認了,對吧,畢竟大家參加比賽,都不希望參加有leak的比賽,會覺得掃興。。。


還給參賽選手公正!!!!!!!!!!!!!!冠軍!!!!!! 攜程不動腦子嗎?PR風險這麼高硬闖!!!


還有這種操作


頂上去


推薦閱讀:

金融數學的發展方向是什麼?
31歲的女人不想在事業單位就這樣蹉跎歲月,想要轉行做數據挖掘,有編程基礎,可能性大嗎?
如何理解決策樹的損失函數?
數據挖掘中常用的數據清洗方法有哪些?
修正餘弦相似度和皮爾森係數什麼關係?

TAG:數據挖掘 | 大數據 |