想了很久,我需不需要寫這么一篇文章,對于數學建模,我的感受應該是復雜的。玩了近一年,從啥也不會,一步步地摸爬滾打,到現在基本能獨自上路,學會了很多套路與軟件,一年里大大小小的賽事參加了七七八八,獲得的省級獎項也有七八張左右,雖然大部分是二三等,但除了國賽和美賽還抱有遺憾,或許已經沒什么牽掛,我的大學也即將結束,所以這篇文章,我就談談我的建模經歷吧,故事很長,沒有酒和雞湯,只是一段平凡的經歷。
從知道數學建模,應該是我大一的暑假,在那之前因為我一直有著對數學的興趣,自己便在圖書館粗略地看完了線代和概率論,暑假里百無聊賴的某一天突然看到QQ群里有人在聊這個話題,不過當時也聊得很淺,因為是個數學興趣群,所以只是稍微提了一下,和運籌學一起。
但這激發起我的興趣,然后我就去知乎和百度搜索了這個專題,也問了一些網友,和現在大部分新手一樣的問題,問這個怎么學,我看完了本科非數專業的三本書夠嘛,如果夠那我怎么入門呢?答案其實在問這些問題的時候就已經出來了。就這樣學,三本書差不多,入門多看教程和論文。在我現在看來,這應該是最敷衍的答案了,還不如直接發篇知乎技術帖過去,至少讓其自己感受也比含糊其詞得好,很容易讓人產生放棄的心理。
但我可能初生毛犢不怕虎吧,雖然尋答案無果,對一些非常高大上的式子望而卻步,但一些文章(那時候還沒查論文)里同樣高大上的圖形與方程求解的數據專業解釋讓我依然保持有強烈的興趣,我希望我也能去構建出一些這樣的東西,即使答案是錯的,解釋方向是反的,與一些有標答的結果背道而馳,依然想去構建屬于自己的對問題建立的方程,并且解出它。也就是在這時,我通過我大一的人際關系,偶然間又知道了學校里面的建模協會,就這樣我可能成為了我院近幾年第一個加入協會的吧。(因為一些不好解釋的問題,我大二的時候是有很多大一的加入)我懷著激動又帶點忐忑的心情迎來了開學的正式加入,但這可能帶給了我第二次的挫折。
當我正式加入協會的時候,我發現其實它和其它的協會基本沒有區別,除了每星期的授課,但上課內容水分太大,所以除了比賽期間,其它時間基本偏離了數學建模的主題,邁向娛樂化,當然這不能說不好,畢竟協會的目的就是為了社交,能認識更多的對這個感興趣的人,也算是一種大學該有的交際能力了。不過我是個既然確定了目標就努力往前走的人,不可能說明明距離只差一步,卻因為一個好友拉了一手而放棄這臨門一腳,我會很堅定地踏下去,不管等待著的是絕望還是夢想成真。
我還是繼續在圖書館里看了很多建模相關的書,比如《運籌學》、《數值分析》、《數學模型》、《現代自動控制理論》等,這里就不是我上面看線代和概率論一樣了,我相當于當小說看的吧,第一遍刷完之后沒事翻翻,因為理論確實高深,我也非科班出生,現在基本全忘只記得個名字,更不會回頭去看了,因為明確知道有些東西自己確實理解不了,光看不用沒有意義,但那個時候可能就是有股倔勁讓我去堅持,還有就是有充分的時間和閉塞的環境吧(我是大二下學期才買的電腦,家里有筆記本卻認為不用帶,所以基本大學大部分時間都是沒有電腦的),做了很多無用功,當小說看還看著很累。。。。。。
真正開始了解數模走入正軌還是在大二下學期,那個時候我看了一個數模的公開講座,無意中發現2016年的C題高教杯獲得者和我高中同學一個專業,并且就住對面寢室,我立即通過關系想問他怎么進入數模這個圈子,但他并不怎么想理我吧,最后我還是去下了個微博注冊賬號,以微博私信的方式向他提問,然后他叫我去看清華大學謝金星和國防科技大學吳孟達教授的視頻,說他是這么學的。然后我也照著這么做,看完了一半的謝和全部的吳,隱隱約約感覺自己更近了一步,再想找他聊的時候他就沒回過我了。
真正進入數模這個圈子并開始玩應該在去年的4月中下旬和5月初,那個時候進行著的是網絡挑戰賽,當時的我并沒有參賽,只是說想去做下這個比賽,試驗一下自己的水平,然后選擇的是考研市場占有率的預測問題,可我拿到的一份1000多個人參與的問卷根本不知道怎么處理,或許這也是理論轉實踐的一個問題,沒有經驗往往會使人一籌莫展,況且我的理論也并不扎實。但幸運的是官方給出了參考模型答案,我依然還記得當時第一問是主成分或因子分析,我就帶著一個U盤到圖書館電子閱覽室開了一臺電腦自己慢慢摸索,從區分這兩種算法到下spss軟件和,走得非常緩慢,直到寸步難行。那時候上機時間也是加了又加,從上午8點,到晚上9點,直到值班的人說關門了,我才起身離去。也就是這個時候,建模教會了我如何讓大腦高速進行頭腦風暴,但思維停止運轉后的無力感也是隨之而生。最后結果我也僅僅做出來第一問,有點慘,基礎太差。
之后又順著這股勁和興趣打了校賽、和電工杯,這三者基本上我都是帶著U盤到圖書館或者找同學電腦蹭一下來嘗試著做,其中校賽和電工杯是真正去報名的,但結果怎么說呢,具體內容我就不再做過多解釋了。打電工杯的時候我和我隊友因為是同一個專業,有課,導致了我不得不逃課去弄這個比賽,這也是第一個教會我開房通宵建模的比賽,之后的一些比賽簡直就對這熟能生巧了。
但結果依然很慘,我第二天被老師叫回來修改報表,不修改那我此門成績掛科處理。我還記得當時是含著淚放棄了我好不容易寫的部分論文。但那個時候我加入了一個很好的組織,那應該是我大學里最美好的一段時光吧,應該。
這張是哈商的曲姐發的照片,我在上個月看去年今日的時候看到的,曲姐是個很單純善良的人,她當時是被任命為班長,給了我很多的經驗,我也在這里,遇到了很多很多的人,他們都是在備戰國賽,實力都很強,我從他們身上學到了非常多的東西。當時或許我比較活躍,只要一有題,基本都會第一個冒頭給出自己的理解,然后就會有一票的大佬們光速打臉,所以在這里非常感謝你們的指導,如果不是有那么多的交流,我也不會進步得那么快再走彎路了。
之后隨著交流的增多,我遇到了今后一直聊得來的兩個好友,一個是南郵的陳同學,一個是礦大的杜同學,雖然名義上是相互交流、相互討論,但我覺得,還是他們帶我帶得更多點。
暑假前,南郵的培訓通知就已經出來了,接近兩個半月的漫長培訓期,老師基本不講課,全是模擬實戰,從98年到17年的題,開始一個月是4天一篇,后面就全是3天一篇。當時我都驚呆了,在懷疑這應該是一個很難完成的任務,但陳同學覺得很正常,說哪個比賽不是這樣,然后我就以666的形式表達了對大佬的仰慕之情……我也依然記得他當時跟我講的一句話,“叢林法則:弱肉強食,適者生存。”
之后他邀請了我加入他們這次的培訓,我當時正好也在學校內的培訓,只不過我的培訓是上課并且只有兩個禮拜,所以我就直接答應了他,然后就開始了真正的交流。我還記得我培訓的時候狀態是挺不錯的,一邊能和隊友完成上課老師布置的作業,另一邊又和他聊某某年的賽題應該怎么去處理。然后大概確定思路和命題方向,他就開始自己建模,我也嘗試著自己去做,但往往我的想法還是欠缺了一些。幾天之后,當他把論文發給我看的時候,我還在為一些小問題做調整,看了他的論文之后只感覺到驚艷,對,驚艷。從始至終,我都認為這就是國獎論文,因為太妙了,相形見絀之下,我不戰而敗。
之后他還是保持著這種狀態,論文也越來越完美,但我也不甘示弱吧,雖然我不會真正去寫論文,因為沒有時間,大部分時間都是建模,順帶編程,勉強跟得上他的腳步。那個暑假我算是一日千里了,有時候因為我在家惰性太大的時候,他拋過來一個問題,我不得不強行去查文獻弄懂研究。現在想想,真的是被帶飛啊。
暑假結束后,出去工作的杜同學也回了,然后陳同學他們那邊的培訓也接近尾聲,基本人人一本論文集,他們所有人就這么走過來了。對了,本來暑假前是邀請過杜同學的,討論組也拉好了,但很可惜,有工作在身,否則我現在想想,這組合簡直無敵了,簡直夢之隊,想別人不敢想,做別人不敢做,寫別人不敢寫。我順便還能跟著后面打打醬油,豈不美哉!(寫到這里,不禁笑出了聲)但也就想想了。
國賽前,我們各自都壓了自己最擅長的又很大可能今年會出現的算法,然后還有幾天的時候討論了一下遺傳算法的過程,還有一些常見傳統算法的紕漏,就這樣懷著忐忑又期待的心情等來了國賽。
但國賽算是我從開始建模到現在為止最大的一場失敗。可能是我之前得到了太多的打擊和挫折,浪費了太多的時間,所以,就越想在這次建模證明自己,突破自己。當題目出來到第二天我去深入思索,我發現這題正是我比較擅長的領域,我覺得我一定能做好它。但當時我可能心態就有問題了,這也導致我后來的幾天剛愎自用,強行給題目湊上了各種各樣我覺得可以的模型,卻忽略了挖掘題目本身所給的信息,這也讓隊友有些苦不堪言吧,現在想想確實是很抱歉。這場失敗給了我相當長時間的自我反思與感傷。
國賽之后的低谷期很長,我在懷疑我到底適不適合建模。正好這個時候陳同學他說他要轉行了,去弄機器學習,然后我本身就看了部分書,于是就跟著過去繼續玩。但玩了一個多月后我發現,玩這個還是要有老師和機器在旁邊帶比較好,因為最后是要交一個答案而不是模棱兩可的結論,而他的指導老師很強,是當時天池排進前十的大神,我看了一下前五十的人基本都是985的或者已經工作的,所以我后來還是干回了老本行繼續建模。
中間經歷了亞太賽、小美賽,我都有過去做做,一邊思索著自己的錯誤一邊打這些比賽,正好這時候杜同學又找到了我,他覺得我不能這么迷了(其實想想,那段時間確實挺迷的,做了這么多,依然有些無法正視國賽的錯誤),然后叫我和他一起做項目,那個時候他交了我很多細節和方向,聊了很多關于以后的打算,那也是我第一次實戰。項目是基于博弈論的角度去解決礦山調度,他那邊的西南交通的指導老師就列個大概,需要我們模擬整個過程,我就差不多研究了一個禮拜的博弈論與國內文獻,也僅僅只想到前幾步應該怎么做,但要弄出一整套的理論,還是非常欠火候。而和他交談的過程中,他也遇到了瓶頸,他以前發過多目標優化的核心,但這種問題他說是頭一次。就這樣弄了將近一個月,因為我還有藍橋杯和考試需要準備,我就先撤了,太難了……
中間陸陸續續我又打了幾場比賽,這次學校里面找到一個比較給力的隊友——胡同學,從校賽后就一直在交流,雖然不是一隊但一起參加了國賽。然后國賽后我報名的亞太,他報名的小美,中間慢慢就變成了好朋友。他數學功底很強,應該是我還沒了解競賽前知道的最強的了,但建模功底一般,在前面幾場比賽里和我一樣都喜歡取巧,然后犯了很多新手會犯的錯誤,但做得比賽多了漸漸熟練之后錯誤少了很多,可取巧和偷懶還是會有。其實我現在想明白了怎樣取巧,高考剛過,作文分一二三等立意,建模其實說簡單點也一樣,只有針對一等立意去取巧,去透析問題所要求的含義,評委才感覺很自然、不突兀,若不是的話很容易會每個人有每個人的理解,到論文漸漸走遠,所以關于這個,一定要對題目有個全方位的理解,否則很難拿獎,拿了也不是大獎。
今年年初很可惜我沒有參加到美賽,因為我和隊友在那段時間都有事,不過我還是盡可能自己模擬了一下美賽的賽題,之后也和前面兩位討論了一波思路,基本把MCM解決了問題分析。之后開學后和胡同學組了個隊打了和電工,自己算是又單帶了五一,但成績并不是很理想吧,雖然都有省獎,但和自己預估的還是有些差距。然后杜同學蟬聯了五一的一等獎,我又和他深入交流了一波,發現確實還是有地方自己沒注意到,依然很可惜,本來是自己拿手的題型,沒有達到最佳,但這次比國賽進步大得多了。
上圖是我買的一部分放于圖書館的建模和機器學習的書吧,走之前拍了個照懷念一下。其實寫到這里,還有很多很多的東西還能去展開,腦子里正在不斷的回放之前的種種,但我覺得留個念頭待以后吧,很感謝與你們的相遇,我并不后悔自己做的決定。其實去年就有轉機器學習的想法了,很多我認識的大佬們早轉了,只不過那個時候我還沒時間與勇氣,我有些害怕我的路會比建模更加挫折,但現在或許能正視這條路了,我會說:我來了!
初識不知曲中意,再聽已是曲終人
作為讀者的你,是否也有數學建模的經歷,在評論區留言吧!