我們會發(fā)現(xiàn),本科及研究生所學的知識,比如高等數(shù)學、線性代數(shù)、傳統(tǒng)機器學習方法及深度學習理論等這些,都只是作為算法學習的基礎,并不能成為算法工程師的核心競爭力。
因為學術研究和工業(yè)界應用最大的區(qū)別在于:業(yè)務和數(shù)據(jù)。
那么,算法工程師的核心競爭力到底是什么呢?我認為主要有以下幾點??
舉個例子,假設我做NLP,目標是提升用戶文章閱讀體驗。如果直接用閱讀時長或日活作為目標,會非常困難。
但如果把問題轉(zhuǎn)換為“提升文章質(zhì)量”,就可以用模型識別優(yōu)質(zhì)文章,過濾低質(zhì)文章,這就有很多方法可以實現(xiàn)。這就是對業(yè)務場景的理解。
將業(yè)務場景轉(zhuǎn)化為可行的算法問題,直接決定了工作方向。如果方向錯了,后續(xù)努力都是徒勞。
學校里我們用公開數(shù)據(jù)集,但公司里,公開數(shù)據(jù)集往往和實際業(yè)務場景不匹配。所以,如何挖掘和構建高質(zhì)量的業(yè)務數(shù)據(jù),就成了關鍵。
公司里數(shù)據(jù)不可能完全靠人工標注,成本太高。而從業(yè)務場景中挖掘的數(shù)據(jù),必然存在噪聲和偏差。
還是以文章質(zhì)量為例,如何挖掘優(yōu)質(zhì)和低質(zhì)文章?點擊量和閱讀時長可以作為參考,但不能完全代表文章質(zhì)量。我們還需要引入更多特征,甚至進行數(shù)據(jù)清洗,才能構建出高質(zhì)量的訓練數(shù)據(jù)。
模型搭建要遵循奧卡姆剃刀原則:最簡單的模型往往最有效。后續(xù)優(yōu)化也應基于現(xiàn)有結構,針對具體問題進行改進,比如引入新特征或模型結構。
記住,大家只關心最終效果,快速實現(xiàn)和驗證模型也是基本功。
很多人以為算法工程師的工作重點是特征挖掘和模型設計,但實際上,對業(yè)務的深刻理解和對業(yè)務數(shù)據(jù)的精準掌控,才是決定一位算法工程師發(fā)展高度的關鍵所在。
希望各位算法工程師,以及有志于從事算法工作的同學們,都能在未來的學習和工作中,不斷提升自己的核心競爭力,成為一名真正優(yōu)秀的算法工程師。