我隻是按照自己的興(xing) 趣,盡可能多地專(zhuan) 注於(yu) 學習(xi) 機器學習(xi) 。年齡隻是一個(ge) 數字,何時開始以及可以實現多少沒有上限。 Philip是Kaggle Competitions Grandmaster,他以17枚金牌名列第 47 位。
您在1979年讀了新聞學本科,大約30年後在2012年選修了數據科學課程。什麽(me) 促使您學習(xi) 新技術並進入一個(ge) 新領域?哪些資源/工具幫助您克服了這一差距?
Philip:雖然我在大學主修新聞學,但我一直對計算機著迷,並在十幾歲時開始編程。我作為(wei) 技術作家的早期職業(ye) 是我的寫(xie) 作和技術興(xing) 趣的良好結合。在做了大約15年的技術作者之後,我在接下來的20年裏成為(wei) 了一名連續創業(ye) 者。
我參與(yu) 的幾乎所有初創公司都是數據驅動的公司,所以即使我的角色是管理和戰略層麵,我也保持與(yu) 編程和數據的聯係。我不記得我是如何登陸 Kaggle 網站的,但是當我意識到ML的能力時,我感覺好像我在曠野長途跋涉後終於(yu) 回到了家。
我認為(wei) ML最吸引我的是它可以用來回答如此廣泛的現實生活問題。我一直對解決(jue) 實際問題比對理論研究更感興(xing) 趣。
由於(yu) 我多年沒有做過任何編程,而且我的統計知識很初級,所以一開始我的學習(xi) 曲線非常陡峭。我參加了很多在線課程,並關(guan) 注Kaggle論壇來獲取技巧。Kaggle排行榜在激勵我繼續學習(xi) 方麵非常有用。
作為(wei) 一個(ge) 長期的技術作家,您在過渡到機器學習(xi) 過程中遇到過什麽(me) 困難嗎?
Philip:從(cong) 技術作家和企業(ye) 家轉變為(wei) 機器學習(xi) 從(cong) 業(ye) 者絕對是一個(ge) 挑戰。我很幸運在經濟上有保障,所以我沒有任何壓力要以數據科學家的身份謀生。我隻是按照自己的興(xing) 趣,盡可能多地專(zhuan) 注於(yu) 學習(xi) 。
您在機器學習(xi) 領域的自由職業(ye) 者方麵也有豐(feng) 富的經驗。初學者在該領域自由職業(ye) 時應避免哪些陷阱?
Philip:我最喜歡自由職業(ye) 者的一點是,每個(ge) 數據集和數據問題都是獨一無二的,需要定製的解決(jue) 方案。我認為(wei) 初學者的最大陷阱是假設每個(ge) 新項目都與(yu) 他們(men) 已經遇到的相似。我的經驗是,這是個(ge) 例外,該項目更有可能需要一個(ge) 人來學習(xi) 新技術。
您是如何想到創立 Cozio Publishing 的?您之前是否有過編碼經驗?
Philip:Cozio Publishing是在我的妻子想要購買(mai) 一把“新”小提琴時成立的。有很多關(guan) 於(yu) 古董弦樂(le) 器的信息,但它們(men) 分散在不同的印刷出版物中——書(shu) 籍、雜誌、拍賣目錄等。
當我幫助我的妻子收集信息時,我開始將數據輸入自定義(yi) 數據庫,以便我們(men) 可以跟蹤她正在考慮的不同儀(yi) 器。在某個(ge) 時候,我意識到其他音樂(le) 家可能會(hui) 發現這些信息有用。
數據新聞——這是當今流行的流行詞。你在這個(ge) 領域有什麽(me) 經驗嗎?它如何利用機器學習(xi) 領域?
Philip:雖然我是學新聞學的,是個(ge) 技術作家,但實際上我已經很多年沒有寫(xie) 過任何文章了,所以我不能真正評論數據新聞學,但這聽起來很有趣。
你是Kaggle比賽的大師,目前排名第47。您參加了80多項比賽。這真太了不起了!如果我們(men) 具體(ti) 談談您的 Kaggle 之旅,那麽(me) 您麵臨(lin) 哪些挑戰,您是如何克服這些挑戰的?
Philip:我基本上是從(cong) 零開始的,對機器學習(xi) 、概率、統計或矩陣代數一無所知。我所擁有的隻是一點數據庫設計知識和一些非常生疏的 C 編程技能。
所以我必須一次學習(xi) 所有東(dong) 西R、Python、概率和統計,以及機器學習(xi) 。我很幸運,正是在MOOC開始流行的時候開始了這段旅程。我的第一個(ge) 在線課程之一,是著名的Andrew Ng ML課程,另一個(ge) 很棒的課程是Tibshirani和Hastie的斯坦福統計學習(xi) 課程。
我通過 Coursera、MIT、Stanford 等在線學習(xi) 了許多其他課程。這些課程的整體(ti) 質量非常高。
為(wei) 了讓初學者進入 Kaggle 比賽的前 1% 級別,您會(hui) 給他們(men) 的五個(ge) 提示是什麽(me) ?
Philip:我想我的第一個(ge) 建議是設定一個(ge) 不同的目標。如果高Kaggle排名是您的主要目標,您可能會(hui) 想尋找捷徑,例如混合大量公共內(nei) 核。這可能對特定的比賽有幫助,但從(cong) 長遠來看無濟於(yu) 事。
所以我建議設定學習(xi) 盡可能多的實用ML技術的目標。將每次Kaggle比賽用作學習(xi) 機會(hui) ,即使它不會(hui) 在該比賽中獲得高排名。如果我必須指定5個(ge) 提示,我想它們(men) 是:
- 在查看論壇討論和代碼分享之前,可以嚐試自己解決問題;
- 盡早開始,比賽中後期很難趕上比賽;
- 嚐試與擁有更多知識/經驗的人合作;
- 關注論壇,包含重要的信息;
- 如果排名下降,請耐心等待,不要沮喪。你學到的一切都會在未來的比賽中有所幫助;
迄今為(wei) 止最具挑戰性的兩(liang) 場比賽是哪一場,你是如何提出解決(jue) 方案的?
Philip:因為(wei) 每場比賽都有獨特的挑戰。例如,在最近的內(nei) 核競賽中,最大的挑戰通常是在內(nei) 存和 CPU/GPU 限製內(nei) 擬合模型。我投入最多時間和精力的比賽是 100 萬(wan) 美元的 Zillow 挑戰賽。這裏的主要挑戰是一個(ge) 非常龐大而豐(feng) 富的數據集和非常積極的競爭(zheng) 對手。
我的最終解決(jue) 方案獲得了第二名,是多個(ge) LGB模型的融合結果。我的大部分努力都致力於(yu) 特色工程和避免過度擬合。
我們(men) 想知道您在構建機器學習(xi) 模型時遵循了哪些步驟?
Philip:我真的沒有係統的方法論,但我通常從(cong) 一些非常基本的 EDA 和一個(ge) 簡單的模型開始來設置基線。對於(yu) 許多比賽,一開始我花了很多時間來確保我有一個(ge) 與(yu) 訓練/測試集拆分兼容的驗證設置。一旦我對驗證設置有信心,我將開始嚐試逐步改進模型。
當我模型停止改進,或者如果我的驗證分數與(yu) 排行榜分數不同步,我將對數據進行更深入的分析以找出發生了什麽(me) 。我通常避免查看任何公共內(nei) 核,直到卡住為(wei) 止。
你在討論中也很活躍。您會(hui) 向初學者推薦哪些討論主題?
Philip:如果我以良好的排名完成比賽,我通常會(hui) 發布我的解決(jue) 方案摘要,偶爾我會(hui) 發布一些關(guan) 於(yu) 比賽早期階段的一般說明。
我強烈建議大家一定要所有解決(jue) 方案。這些非常有價(jia) 值,因為(wei) 它們(men) 通常包含非常有創意的技術,可以在未來的項目中使用。
對於(yu) 想要過渡到機器學習(xi) 的人,您有什麽(me) 建議?
Philip:我通常會(hui) 避免這種類型的建議,因為(wei) 人們(men) 是如此不同,對我有用的不一定對其他人有用。我的人生哲學一直是追隨自己的興(xing) 趣,樂(le) 於(yu) 學習(xi) 新事物。
這在ML中是必不可少的,它發展如此之快。最能激勵我學習(xi) 新技能的是具體(ti) 問題,無論是 Kaggle 挑戰還是自由職業(ye) 項目。我知道有些人可以為(wei) 了學習(xi) 而激勵自己學習(xi) 。
評論已經被關(guan) 閉。