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