業(yè)務(wù)問(wèn)題,如何用算法模型來(lái)解決
策略產(chǎn)品當(dāng)中涉及到大量算法模型的應(yīng)用,比如召回,排序策略的設(shè)計(jì),除了規(guī)則邏輯之外,算法模型是很多體量比較大的業(yè)務(wù)必備的。所以有必要跟大家聊一下實(shí)際工作中,我們是如何利用算法模型來(lái)解決業(yè)務(wù)問(wèn)題的。
了解這些也有助于大家熟知算法工程師的工作流程大概是什么樣的,降低溝通成本。
算法模型解決業(yè)務(wù)問(wèn)題整體上可以分為如下幾步,接下來(lái)我將分別講一下每一步具體做點(diǎn)什么。
一、問(wèn)題定義
不能為了上模型而使用模型。
所以首先,我們需要明確我們要解決的問(wèn)題是什么?
問(wèn)題可以是具體的用戶(hù)需求,比如:用戶(hù)希望看到自己感興趣的商品排到前面;也可以是目前業(yè)務(wù)面臨的問(wèn)題,比如:目前平臺(tái)GMV滲透率高的品類(lèi)曝光流量不足,這些其實(shí)都是問(wèn)題。但是對(duì)于使用算法模型來(lái)解決的話,關(guān)鍵點(diǎn)在于如何把這個(gè)問(wèn)題變成算法模型能理解,能解決的問(wèn)題。
因此這里面必然涉及到一個(gè)如何從感性的問(wèn)題描述轉(zhuǎn)變?yōu)橐粋€(gè)可以讓模型去理解和預(yù)測(cè)的問(wèn)題。
這就到了第二個(gè)環(huán)節(jié):?jiǎn)栴}建模。
二、問(wèn)題建模
問(wèn)題建模的關(guān)鍵其實(shí)就兩個(gè):業(yè)務(wù)指標(biāo)定義和模型預(yù)測(cè)目標(biāo)定義。
業(yè)務(wù)指標(biāo)定義即根據(jù)當(dāng)前業(yè)務(wù)核心場(chǎng)景去定義核心業(yè)務(wù)指標(biāo),這塊涉及到一些數(shù)據(jù)指標(biāo)體系搭建。
模型預(yù)測(cè)目標(biāo)主要用于根據(jù)該目標(biāo)去設(shè)定模型的收斂目標(biāo),也就是模型要預(yù)測(cè)什么,輸出什么值。典型的比如ctr預(yù)估,實(shí)際上就是輸出了ctr這個(gè)值。
在問(wèn)題建模階段,還有兩個(gè)重要的事情:樣本選擇和交叉驗(yàn)證。
簡(jiǎn)言之,我們從原始數(shù)據(jù)(日志)當(dāng)中選擇跟當(dāng)前模型預(yù)估指標(biāo)相關(guān)的樣本,然后把這些樣本分為訓(xùn)練集和測(cè)試集,然后通過(guò)交叉驗(yàn)證的方法對(duì)模型進(jìn)行訓(xùn)練和評(píng)估。
這塊不得不提一下關(guān)于模型評(píng)估的指標(biāo)。指標(biāo)的分類(lèi)有很多,最常見(jiàn)的其實(shí)就是準(zhǔn)確率、召回率、AUC曲線等,包括常見(jiàn)的NDCG是對(duì)排序模型的衡量關(guān)鍵指標(biāo)。
三、特征工程
完成了問(wèn)題定義和問(wèn)題建模,接下來(lái)就進(jìn)入了很關(guān)鍵的特征工程,從大量的數(shù)據(jù)當(dāng)中進(jìn)行特征抽取,核心目的是為了將特征輸入給模型,讓模型從數(shù)據(jù)中學(xué)習(xí)規(guī)律。
最為關(guān)鍵的是下面這張圖:
第一點(diǎn)好理解,特征是為目標(biāo)服務(wù)的,因此選擇出來(lái)的特征必須能夠表征目標(biāo);
第二點(diǎn)的意思是這個(gè)特征要在不同的物品之間有相當(dāng)明顯的差異。比如銷(xiāo)量,有的高,有的低;評(píng)價(jià),有的是100%好評(píng),有的是80%好評(píng),這些都可以稱(chēng)之為特征。
但是,如果你們業(yè)務(wù)的基本上99%的物品好評(píng)率都在100%,那基本上這個(gè)特征就不用加了。
有差異才有區(qū)別,有區(qū)別才能作為一個(gè)決策的因素。
什么情況下我們需要進(jìn)行特征選擇?
訓(xùn)練數(shù)據(jù)包含許多冗余或無(wú)用的特征,移除這些特征并不會(huì)導(dǎo)致丟失信息。其中冗余是指一個(gè)本身很有用的特征與另外一個(gè)有用的特征強(qiáng)相關(guān),或它包含的信息能從其它特征推演出來(lái);
特征很多但樣本相對(duì)較少,也就是某一個(gè)維度的信息數(shù)據(jù)量太少,覆蓋度較低。
關(guān)于特征選擇的4個(gè)步驟:
以下是模型特征選擇的4個(gè)步驟,策略產(chǎn)品經(jīng)理以了解為主:
- 產(chǎn)生過(guò)程:產(chǎn)生特征或特征子集候選集合;
- 評(píng)價(jià)函數(shù):衡量特征或特征子集的重要性或者好壞程度,即量化特征變量和目標(biāo)變量之間的聯(lián)系以及特征之間的相互聯(lián)系。為了避免過(guò)擬合,可用交叉驗(yàn)證的方式來(lái)評(píng)估特征的好壞;
- 停止準(zhǔn)則:為了減少計(jì)算復(fù)雜度,需設(shè)定一個(gè)閾值,當(dāng)評(píng)價(jià)函數(shù)值達(dá)到閾值后搜索停止;
- 驗(yàn)證過(guò)程:在驗(yàn)證數(shù)據(jù)集上驗(yàn)證選出來(lái)的特征子集的有效性。
四、模型選擇
當(dāng)我們把上面的事情確定之后,接下來(lái)就到了關(guān)鍵的模型選型的環(huán)節(jié)。大家都知道,具體的算法模型其實(shí)有很多種,不同的模型有很大差別,使用場(chǎng)景不同,能夠處理的特征也有很大差異。
比如對(duì)于協(xié)同過(guò)濾,常見(jiàn)的usercf和itemcf兩種,還有一些基于兩個(gè)基本的協(xié)同過(guò)濾模型的變種,比如i2i,頻繁二項(xiàng)集等。那我們就需要思考什么樣的場(chǎng)景比較適合usercf,什么樣的場(chǎng)景比較適合itemcf。
另外,雖然這些模型都能做到根據(jù)用戶(hù)行為數(shù)據(jù)去進(jìn)行個(gè)性化推薦的目標(biāo),但是具體的落地過(guò)程其實(shí)是大相徑庭的。當(dāng)我們經(jīng)過(guò)特征工程得到一份高質(zhì)量的特征之后,還需要考慮哪個(gè)模型能夠更準(zhǔn)確地從數(shù)據(jù)中學(xué)習(xí)到相應(yīng)規(guī)律,從眾多模型中選擇最佳的模型。
五、模型融合
正如上面說(shuō)的,其實(shí)不同的模型有不同的應(yīng)用場(chǎng)景,所以一般線上通常是含有多個(gè)模型,最大化利用每個(gè)模型的優(yōu)勢(shì),進(jìn)而達(dá)到目標(biāo)收益最大化,而模型融合以后得結(jié)果其實(shí)就是線上最終展示出來(lái)的結(jié)果。
以上就是關(guān)于算法是如何解決業(yè)務(wù)問(wèn)題的介紹,希望大家能夠明白一點(diǎn),不要為了用算法而用算法,也不要認(rèn)為算法就一定能更好的解決問(wèn)題,關(guān)鍵點(diǎn)不在這,而是基于業(yè)務(wù)的實(shí)際情況去決定到底使用算法還是規(guī)則,使用什么樣的算法。
專(zhuān)欄作家
策略產(chǎn)品夏師傅,微信公眾號(hào):策略產(chǎn)品夏師傅,人人都是產(chǎn)品經(jīng)理專(zhuān)欄作家,2019年年度作者。京東美團(tuán)阿里快手高級(jí)策略產(chǎn)品專(zhuān)家,搜索業(yè)務(wù)負(fù)責(zé)人,《策略產(chǎn)品經(jīng)理,數(shù)據(jù)賦能業(yè)務(wù)》作者。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自 Unsplash,基于 CC0 協(xié)議。
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
有想要學(xué)習(xí)策略,轉(zhuǎn)行策略產(chǎn)品經(jīng)理的同學(xué),加作者個(gè)人微信:xiahurenpm