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