資料科學對職涯規劃的啟發 1 — 職涯探索與 Reinforcement Learning

David Huang
13 min readApr 30, 2020

--

工商服務:我在 Hahow 上開的三門資料科學課程,如果想要精進自己在 Business Analytics 與 Text Mining 上的能力,歡迎參考喔!
- R 語言和商業分析:https://hahow.in/cr/ranalytics
- R 語言和文字探勘:https://hahow.in/cr/rtextmining
- 產品數據分析課程:https://hahow.in/cr/productanalytics

最近受到幾個不同的邀請,與大學生 / 研究生分想自己在資料科學領域的經驗,也回想起了學生時期在職涯探索過程走過的種種彎路。因此,特別想一些文章,希望能夠幫助一些還在讀書的朋友們能夠更有效地探索職涯道路。這系列文章應該會寫個幾篇,今天這篇主要是想跟大家聊聊我對「職涯探索」的想法。

大學時期的我:從探索中學習成長

我記得我大一大二時,一直很希望自己有朝一日可以去華爾街做 Quant (量化交易員),當時畢業希望自己可以去 CMU 讀 Master in Computational Finance,所以很認真地休了不少數學和程式設計的課,也看了很多做演算法交易的書。後來看著看著突然覺得,其實自己好像也滿適合當工程師的,那時候 app 創業正夯,就跑去修了一門寫 app 的課,後來也參加了一些比賽跟做了自己的 App,但後來覺得自己在這個領域沒有辦法做得很成功。也有嘗試過行銷、業務類型的事情去做,但也都不是特別喜歡。

後來真正會跑去改讀統計,其實有三個契機,一是跟系上朋友一起和羅琪教授做了統計教授的專案;二是在北大暑期研究做了用資料探勘方法分析銀行業的研究;三是在清大修了徐茉莉教授的資料探勘課程,這是當初教授清大開的第一門課,也是讓我決定申請台大統計碩士學程的原因。後來大四到碩一上在避險基金實習,發覺自己真心不喜歡這一行,但碩一下在 Line TV (以前還是 Chocolabs) 的時候實習,覺得特別好玩,就一直做資料科學下去了。

工作後帶公司回到資料探勘課程與學弟妹合作專案

職涯探索是個 Reinforcement Learning 的問題

講了這麼多,回到正題:大學時期不知道自己對什麼感興趣,是再正常不過的事情了,但到底要怎麼樣找到自己的興趣呢?其實這是一個 Reinforcement Learning 的問題——在進行決策時,應當要根據目前「環境」(enviroment) 產生的「狀態」 (state) 採取「行動」 (action),採取行動後會有兩種影響:

  1. 我們會收到「環境」給我們的回饋,也就是「報酬」 (reward)
  2. 我們的行動也會改變「環境」,使「環境」進入到新的「狀態」

Reinforcement Learning 的目標是:根據「環境」給予「行動」的「報酬」,修正自己執行的「策略」(Policy),試圖極大化自己的總報酬 / 價值函數 (Value Function)。

職涯探索其實就是一個 Reinforcement Learning 的問題—我們會要目前的「狀態」現況採取行動,比如說:我在大三下做專題時覺得統計與資料探勘是個有趣的領域,因此決定大四修「資料探勘」這門課,結果得到了報酬 —理解自己的興趣是在商業決策跟資料科學的決策。另外,我們的動作也會改變未來的「環境」跟「狀態」,比如說:因為我決定往資料科學這個領域走,所以我去讀了台大的統計碩士學程,使我面對的「環境」與「狀態」都發生了改變。

探索的過程:Exploration 與 Exploitation

在 Reinforcement Learning 中有兩個至關重要的觀念 — Exploration 與 Exploitation,這兩個步驟的概念是:

  1. Exploration 幫助我們更了解「環境」,包括:「行動」在目前「狀態」下可獲得的「報酬」,以及「行動」是如何影響未來的「狀態」
  2. Exploitation 是根據目前對於「行動-狀態-報酬」的了解

在職涯探索中,其實是要平衡上面兩個步驟:如果我們從來不 explore,很有可能永遠都不知道能夠極大化 Value Function 的「行動」是什麼,比如說:如果我不往資料科學的方向走,可能真的就會去美國讀個財務工程的碩士,然後在金融領域繼續走下去,過著不是特別開心的生活。而如果我們不 exploit,就會一直撞牆撞下去。

我自己在觀察身邊的一些人在職涯發展時,發現在學生時期遇到瓶頸通常是忽略了 Exploitation 的重要性。比如說,一直有遇到「很想做 machine learning」的學弟妹,但跟他們聊天後發現他們認為自己「數學不夠好」、「不夠會寫程式」等,當然這不是不能進步,但如果很清楚自己在這兩方面的能力在自己很努力的狀況下,也沒有辦法達到 top 20% 的表現的話,其實很建議考慮其他類型的工作,像是 analytics / business analyst 類型的工作,也許會更適合而且有更好的成就。

而在工作中遇到瓶頸,通常是因為學生或職場早期的 Exploration 不夠。時常有金融業工作的朋友覺得目前做的很卡 — 並不喜歡目前的工作,但因為薪資不錯而且專業都在該領域,所以也不知道可以換去哪個產業。通常這種情況可能最好的解法還是去讀個 MBA,讓自己重新回到一個有機會 explore 且不會犧牲太多 reward 的環境。

Exploration-Exploitation 過程的陷阱

由於我們的目標應該是「極大化長期報酬」,因此儘管要 explore 「行動-狀態-報酬」,但我們也不能在這個過程中損失太多報酬。因此,有幾個觀察是非常容易在探索中損失極高報酬的。

1. 忽略了 commitment 的重要性

之前遇到過一些情況是,在做 Exploration 的學生未經思考就採取了行動、給了 commitment,做了一下卻發現不喜歡,結果就敷衍了事。其實,答應別人的事情沒有做到,會為自己帶來負面影響。以前遇到過幾個剛畢業的學生面試表現不錯,但因為 reference check 到課堂報告不認真或實習表現不佳,最後公司決定不發 offer。

Goldman Sachs 的 CEO 給暑期實習生的建議是:Reputation gets formed here. … You will be shocked how higher percentage of the people you will care about you will know and will know you. 所以在探索之前,要認真衡量一下自己是不是有足夠的時間與動力做好。

Goldman Sachs 給暑期實習生的演講

2. 沒有分析「行動」的可行性

這一點其實跟第一點有關,通常在估計一個「行動」帶來的報酬時,其實不單純只從「好處」來看,其實「必要投入」是會影響報酬的。比如說,有些不同科系的朋友有考慮做資料科學行業,希望以「找到實習」當作「行動」,但 explore 這個行業的成本其實比較高,如果沒有投入足夠多的時間熟練資料分析方法和工具,其實很難找到有意義的 intern (i.e. 不只是在清理資料,而有機會接觸分析或是建模型)。

這種類型的情境,建議要把「行動」拆解的小一點,比如說:你可以把「行動」從「找到實習」改成「修一門統計課與一門程式設計的課」,在過程中評估自己是否擅長、是否享受這些知識,再決定要不要投入更多。

3. 忽略「狀態」會因為「行動」而改變

職涯探索有一項至關重要的事時常被忽略 — 只要採取「行動」,未來的「狀態」是會被改變的,也會影響到未來可以採取的「行動」與可能獲得的「報酬」。因此,極大化每一次行動的報酬,不代表可以最大化總報酬。

比如說,有個同學非常想成為 Data Scientist,但因為經驗沒有這麼多,所以實習只找到一間新創公司的 DS Intern 跟一間外商銀行的 Sales & Trading Intern,但畢業時也因為只有 Sales & Trading 的經驗,所以還是找了金融業的工作,但那間新創的 DS Intern 後來找到了非常好的 DS full-time job。

從這個例子其實可以知道,也許當下看外商銀行的 Sales & Trading Intern 在財務報酬、Brand Name、甚至學習機會也許都比新創好,但做了 DS Intern 其實會幫自己未來的職涯打開一扇窗:有過相關經驗後之後,找工作在履歷關就被擋下來的機率會小很多。

4. 沒有 Actor-Critic 的心態

在 Reinforcement Learning 中,有一類演算法是採用 Actor-Critic 的結構。在這種演算法中有兩種結構:

  • Actor:採取行動的「政策」
  • Critic:基於「行動」的結果,評價 Actor 的表現

在職涯探索的過程中,有時候會陷入「只採取行動,卻沒有反思」的過程,如果不去反思自己「採取行動」的判斷依據好不好,很難找到比較好的職涯路徑。比如說,以前會看到一些履歷是做了非常多雷同的實習,面試的時候詢問:實習 A 跟實習 B 有什麼不同?為什麼做完之後選擇實習 B?面試的人回答:因為我想多累積經驗。通常我就會在詢問:那你實習 B 累積了什麼經驗?為什麼想累積這個經驗?許多人這時候就會卡住了。

職涯如果要持續往前進,在探索的過程中,需要很真實的去思考:目前的「行動」帶給我在財務、職涯發展、生活上什麼樣的影響?我喜歡這些影響嗎?這個「行動」回過頭來看是好的嗎?如何往前繼續前進?每完成了一個行動,其實需要有這個 crticize 的過程,才能夠真的往前推進。

有效的職涯探索:Sampling Efficiency 與 Bandit

最後想聊一聊的是,有些如 Alpha GO 這類的 Reinforcement Learning 的問題是可以重複執行很多次,這樣自然可以得到一個好的「職涯選擇」方法,但我們的人生有限,能夠執行「行動」/ Sampling 的次數其實很少,因此在職涯探索時其實需要一些技巧,讓我們採取「行動」後可以更快了解自己。在此處,我們其實可以從 Multi-armed Bandit 的演算法中得到啟發。

1. Bayesian Bandit:借鏡前人的經驗

在 Bandit 演算法中,有一類特定的方法 — Bayesian Bandit,概念上很簡單,就是利用「報酬」的 prior distribution,以及在採取「行動」時獲得的經驗更新「報酬」的分配成 posterior distribution,之後 explore 的時候就可以 posterior distribution 為指引。這樣的方法,當 prior knowledge 有一定的準確度時,可以大幅優化演算法的表現。

其實這就跟職涯探索很像:剛開始如果對於未來沒有任何 prior knoweledge,其實應該是要借鏡前人的經驗,比如說:詢問系上的學長姐、參加不同類型的職涯分享會等等,了解對方在選擇的時候,可以幫助你建立對於未來「報酬」的 prior distribution / hypotheses / educated-guess。但一定要記得的是,當未來採取行動,觀察到真正的「報酬」時,一定要記得更新 posterior distribution,因為前人的經驗不等於你真正心中的「報酬」。

2. Bandit with Supervised Guarantee:行動前諮詢專家意見

另外一種可以有效減少 regret 方式是:當我們在採取「行動」前,先去詢問專家 (supervised learning),然後考量專家的意見做「探索」。這樣的概念可以改善在未知情況下 exploitation 的效果。

我自己經驗中比較好的專家有幾種:一是跟你有類似背景,而比你多 3–5 年經驗的人,通常這樣的 mentor最能夠給你短期決策的依據,尤其是基於目前的弱項與強項,怎麼樣選擇會對你最有利。二是可以幫助你釐清「報酬」的人,像是教授、師長、比較親近的朋友,因為真正的職涯探索中,「報酬」是自己定義的,但有時候我們對於自己的「報酬」很難做完整的衡量,因此這樣的專家通常可以幫助你修正報酬的估計。三是找工作時,公司內部的人,比如說:如果有個 offer 你不知道要不要接,這時候找個公司內部的人來問是最有幫助的。

3. Optimistic Initialization:慢慢減少 exploration 的幅度

在剛開始學習 Bandit 的時候通常會學到一種 Decaying Epsilon_t-Greedy Algorithm。概念很簡單,我們在每一次做決定時可以選擇要 exploit (採取「期望報酬」最大的「行動」) 或是 explore (隨機選一個「行動」做),如果每一次採取 explore 的機率都是一樣的話,很可能在前期 explore 不夠,在後期 exploit 不夠。真正可以幫助我們達到最佳解的方法是:在早期的時候 explore 的機率高一些,當我們有夠多觀察後,exploit 的機率就要調高。

我自己在做職涯選擇時,也是這樣的概念:在大一到大三時真地探索了很多不同領域,但大四之後基本上都是在 DS 領域去做選擇,主要原因就是,在前面的探索我已經了解自己比較在乎的幾個原則:要有數學與程式、要有足夠深的思考、要能夠接觸很多不同面向的問題、要能夠有 impact。這些原則其實我不需要做過 DS,就可以歸納出來,所以後來就也不需要探索了~

馬雲也提到類似 Epsilon_t-decaying Greedy Algorithm 的觀念

關於職涯探索的分享就先到這裡,其實我一直很喜歡 Data Science 這個領域,主要的原因是:我時常在思考這些演算法或分析技巧時,有很多人生的體悟 XD 當這些體悟與人生經驗結合,就發現其實這些演算法在我們現實的人生中也非常適用呢!另外也跟大家分享一些 Reinforcement Learning 的資源:

  1. David Silver 的 Reinforcement Learning 課程
    https://www.davidsilver.uk/teaching/
  2. Stanford CS234: Reinforcement Learning
    https://www.youtube.com/watch?v=FgzM3zpZ55o
  3. 聖經課本 Reinforcement Learning: An Introduction
    http://incompleteideas.net/book/the-book-2nd.html

有關 David 的最新文章,都會發布在大鼻的 Facebook 粉絲專頁,如果你喜歡我的文章,還請您不吝嗇地拍手、分享」或留言給我喔!

大鼻觀點:https://www.facebook.com/davidperspective/

--

--

David Huang

PhD Candidate @ Harvard Business School | Data Science | Causal Inference