作為在一家公司中從事算法,數(shù)據(jù)挖掘,機器學(xué)習(xí)的小伙伴們,似乎會有一些感覺,我現(xiàn)在做到的東西感覺好土啊,一點也不高大上,明明有那么多吊炸天的算法,為啥我們現(xiàn)在還要用這么土的方法呢?不行我要嘗試這些吊炸天的算法,而有的時候卻往往是吃力不討好。
就個人感覺而言,工業(yè)算法工程師其實是要求蠻高的一個崗位,雖然從業(yè)七年多了,但是是否已經(jīng)入門還真的不敢說。因為它涉及的領(lǐng)域太多,經(jīng)典的已經(jīng)被反復(fù)證明有成熟套路的應(yīng)用場景就包括了,搜索效果優(yōu)化,個性化推薦,計算廣告,智能風(fēng)控等等。而每一個場景背后雖然有著比較共同的基礎(chǔ)算法理論支持,但真要把某一個領(lǐng)域做好,卻真的不是那么容易的事情。
拿推薦的場景舉例吧。
常見的推薦手法有幾種,那么拿基于標(biāo)簽畫像的方法來做個引子。
設(shè)計一套標(biāo)簽體系;對待推薦的目標(biāo)實體,通過運營打標(biāo),用戶ugc打標(biāo),實體本身附屬的文本內(nèi)容,圖像內(nèi)容進行標(biāo)簽抽取;對用戶通過瀏覽、購買、加購物車,評論等行為將實體標(biāo)簽關(guān)聯(lián)到用戶身上。這樣,當(dāng)用戶有新的行為的時候,就可以通過標(biāo)簽和權(quán)重集合作為特征向量,計算消費者和推薦實體的相似度,離線或?qū)崟r的生成推薦列表了。
這樣似乎沒有啥問題,其實是有問題的。
如果我們的應(yīng)用的展示位很豐富,推薦展示位只是其中一小部分,那么問題可能還不會那么明顯。但是如果我們的應(yīng)用是高度依賴算法智能推薦的的話,那就好玩了,因為馬太效應(yīng),越推越窄,很快一些標(biāo)簽的權(quán)重就高的沒法看了。
這該怎么辦呢?
可以有一些不同的路子去嘗試,可以通過標(biāo)簽擴展(其實效果不容易控制,粒度太粗);或者引入其它的推薦算法作為推薦源(svd,itmbase,userbase,contentbase等等)。這個時候,就要想辦法去合理安排這些算法了。
后面會有越來越多的問題接踵而來:哪些算法適合放在基礎(chǔ)層面去負責(zé)初試粒度的召回呢,哪些算法適合把各個基礎(chǔ)找回算法結(jié)果進行精排序呢,用戶主動搜索了一個東西我如何快速反饋到其它展示位的推薦結(jié)果中呢,我該如何設(shè)計日志打點,以方便后續(xù)的效果跟蹤呢,如何可以更自動化的去測試不同的算法組合,算法參數(shù)而不應(yīng)總是人手動abtest呢,如何能夠給運營以合理的干預(yù)權(quán)限以增加業(yè)務(wù)邏輯而又不會影響算法本身的效果呢,我如果請求失敗了有沒有降級方案呢,集群job似乎越跑越慢了是不是要單獨申請個queue防止其他人干擾我呢……
哈哈,想做好效果這些全都是要考慮到的事情啊,靠單純的一個算法,很難去最好一個場景。我更喜歡稱算法工程師為效果優(yōu)化工程師,因為在企業(yè)當(dāng)中,你第一核心要務(wù)不是把某個算法研究的特別透徹,而是要讓你的整套效果優(yōu)化的流程跑順,在此基礎(chǔ)上,用實際業(yè)務(wù)指標(biāo)去說話。
回歸前面的算法同學(xué)們的苦惱,其實算法也是技術(shù)的一種,而技術(shù)的本質(zhì),按科學(xué)技術(shù)哲學(xué)中的理論是:技術(shù)是一種解蔽的過程,解蔽嘛,就是實打?qū)嵉淖龀鰧嶋H效果。所以經(jīng)過大家無數(shù)次實際使用并證明行之有效的方法就特別受歡迎,新奇的算法,注定是在回去效果達到一定瓶頸的時候去做突破而用的了。
-
算法工程師
+關(guān)注
關(guān)注
2文章
31瀏覽量
6390
發(fā)布評論請先 登錄
算法工程師需要具備哪些技能?
電子工程師設(shè)計要點與經(jīng)驗分享
電子工程師設(shè)計要點與經(jīng)驗分享
想成為硬件工程師?我教你啊!你得先學(xué)會這些...... #硬件工程師 #電子工程師 #電子愛好者 #電子行業(yè)
作為一名PCB質(zhì)檢工程師,我為什么在用手持式面銅測試儀?
硬件工程師看了只會找個角落默默哭泣#硬件工程師 #MDD #MDD辰達半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師
如何成為一名合格的KaihongOS南向驅(qū)動開發(fā)工程師
如何成為一名合格的KaihongOS北向應(yīng)用開發(fā)工程師
如何成為一名嵌入式軟件工程師?
一名算法工程師的自述
評論