李佳宣越
【摘 要】 隨著網(wǎng)絡(luò)電商平臺(tái)的逐漸發(fā)展,網(wǎng)絡(luò)購(gòu)物成為人們?nèi)粘5慕?jīng)濟(jì)活動(dòng)之一,而服裝的購(gòu)買又是網(wǎng)絡(luò)購(gòu)物中的巨頭。越來越多的人忠于購(gòu)買搭配好的衣服以至于產(chǎn)生依賴性,當(dāng)需要自己搭配的時(shí)候卻無從下手。本文從服裝搭配的角度出發(fā),使用決策樹的預(yù)測(cè)功能為用戶提供服裝搭配效果的建議,以解決用戶不知該如何進(jìn)行服裝搭配的問題。
【關(guān)鍵詞】 服裝搭配 決策樹 預(yù)測(cè)模型
1.引言
1.1問題的提出
隨著社會(huì)科技的高速發(fā)展,網(wǎng)絡(luò)電商平臺(tái)以日漸成熟的技術(shù)逐漸成為現(xiàn)代人生活的必備工具之一,根據(jù)中商情報(bào)網(wǎng)訊:截至2018年12月,我國(guó)網(wǎng)絡(luò)購(gòu)物消費(fèi)者規(guī)模達(dá)6.10億,較2017年底增長(zhǎng)14.4%,占網(wǎng)民整體比例達(dá)73.6%。手機(jī)網(wǎng)絡(luò)購(gòu)物消費(fèi)者規(guī)模達(dá)5.92億,較2017年底增長(zhǎng)17.1%,使用比例達(dá)72.5%。隨著競(jìng)爭(zhēng)的激烈,消費(fèi)者對(duì)現(xiàn)有電商平臺(tái)的要求也越來越高,為了提供更個(gè)性化的優(yōu)質(zhì)服務(wù),電商平臺(tái)也在不斷優(yōu)化自己的推薦系統(tǒng),提升消費(fèi)者體驗(yàn)感,增加企業(yè)營(yíng)業(yè)收入額。
隨著服裝推薦系統(tǒng)的日漸成熟與功能趨向完整,消費(fèi)者在購(gòu)買衣服時(shí)的搭配煩惱也慢慢減少,按照商家或淘寶推薦購(gòu)買搭配好的套裝逐漸成為網(wǎng)購(gòu)服裝的趨勢(shì)。于是可能就會(huì)存在一些潛在的問題。消費(fèi)者購(gòu)買套裝中的搭配數(shù)量是有限的,比如:一件上裝可能最多購(gòu)買了和它搭配的下裝三件。而當(dāng)這三套搭配穿厭煩了,消費(fèi)者想要和其他衣服搭配的時(shí)候卻無從下手,不知道該怎么搭配。一些消費(fèi)者可能會(huì)借鑒一些搭配app上的推薦搭配,但是有可能推薦的服裝款式自己并沒有,或者并不是自己喜歡穿的類型,又由于信息過載嚴(yán)重,搜索引擎的功能不完善等等情況,最后導(dǎo)致不能搭配的衣服被壓在箱底,然而這些衣服卻可能并沒有穿過幾次。
1.2調(diào)查研究
為了了解目前是否存在這一問題,本次研究之前在網(wǎng)上進(jìn)行了關(guān)于網(wǎng)購(gòu)與服裝搭配情況的調(diào)查。調(diào)查共收集了252份有效問卷,其中有207人進(jìn)行過服裝網(wǎng)購(gòu),被調(diào)查的全體均在實(shí)體店購(gòu)買過衣服。調(diào)查結(jié)果顯示,不論線上線下購(gòu)物,購(gòu)買商家搭配好的套裝人數(shù)均多于自己搭配的人數(shù),其次線上購(gòu)物的消費(fèi)者購(gòu)買淘寶推薦的搭配多于自己的搭配。而被調(diào)查的所有消費(fèi)者購(gòu)買單件物品對(duì)應(yīng)的搭配衣物最多為5件,其中購(gòu)買2件的人數(shù)最多。另外,有80.3%的人表示購(gòu)買推薦搭配套裝之后,都是按照購(gòu)買回去的套裝進(jìn)行著裝。在同一套搭配穿上一段時(shí)間之后感到厭煩時(shí),68.75%的人不知道該怎么搭配,其中78.03%的人會(huì)參考推薦搭配的app。在使用過搭配推薦app的人中,僅有52.68%的人認(rèn)為搭配app可以解決他們的問題,也就是說現(xiàn)有的平臺(tái)不足以解決用戶對(duì)搭配的需求,有很多服裝在被購(gòu)買之后并沒有得到充分的利用,在一定程度上造成了資源的浪費(fèi)。雖然電商推薦系統(tǒng)的完善推動(dòng)了消費(fèi),但是如果不能提供更好的后續(xù)服務(wù),消費(fèi)者不能很好的處理買回去的衣服,就會(huì)產(chǎn)生更多的問題,比如“浙江退貨女”“退貨交流群”等,其中的一個(gè)原因有可能就是在厭煩了穿著給定好的搭配之余消費(fèi)者不知道該怎么進(jìn)行搭配。
1.3方法的提出
那么有沒有辦法解決這個(gè)問題,讓購(gòu)買的衣服充分利用起來,減少資源的浪費(fèi)呢。前面也提到了現(xiàn)在有很多服裝搭配的app,主要給到消費(fèi)者搭配意見,提供搭配指導(dǎo),這是解決前面問題的一種方式,但是同時(shí)它涉及到一個(gè)問題,如果給出的搭配推薦中的單品是消費(fèi)者沒有的,這時(shí)消費(fèi)者的搭配問題就不能被解決。那么可不可以存在這樣一個(gè)系統(tǒng),用戶可以直接將想要搭配衣服的標(biāo)簽輸入系統(tǒng),系統(tǒng)根據(jù)收集到的信息將搭配效果按某一指標(biāo)輸出,用戶可以直觀獲取搭配效果,從而解決前面提到的搭配問題。
目前已有的研究大多是對(duì)服裝推薦系統(tǒng)的優(yōu)化,而沒有能給出直觀服裝搭配效果的研究,如果將這一功能加入電商平臺(tái),那么消費(fèi)在購(gòu)買服裝是也可以知道自己想要搭配服裝的效果,因?yàn)樵瓉碣?gòu)買套裝的數(shù)量是有限的,這一系統(tǒng)有可能會(huì)在之前的消費(fèi)基礎(chǔ)上進(jìn)一步提高銷售額,而且消費(fèi)者購(gòu)買回去的衣服也得到了解決,因?yàn)椴恢涝趺创┑囊路耐素浨闆r也會(huì)有所緩解,這一功能還會(huì)提高平臺(tái)的點(diǎn)擊量,從而不管是對(duì)平臺(tái)還是對(duì)用戶,都會(huì)有一定程度上的提升。
2.方法介紹
決策樹顧名思義是用來決策的樹,是機(jī)器學(xué)習(xí)中最基礎(chǔ)的一種算法。決策樹是一類常見的機(jī)器學(xué)習(xí)方法,決策樹是基于樹結(jié)構(gòu)來進(jìn)行決策的,這恰是人類在面對(duì)決策問題時(shí)一種很自然的處理機(jī)制。我們可以利用決策樹的分類作用進(jìn)行決策,從而判斷搭配效果。
決策過程中每個(gè)判定問題都是對(duì)某個(gè)屬性的“測(cè)試”,每個(gè)測(cè)試的結(jié)果或是導(dǎo)出最終結(jié)論,或是導(dǎo)出進(jìn)一步的判定問題。
決策樹的主要優(yōu)勢(shì)就在于數(shù)據(jù)形式非常容易理解。那么問題就來了,如何構(gòu)建決策樹呢?決策樹的構(gòu)建是數(shù)據(jù)逐步分裂的過程,構(gòu)建的步驟如下:
步驟 1:將所有的數(shù)據(jù)看成是一個(gè)節(jié)點(diǎn),進(jìn)入步驟 2;
步驟 2:從所有的數(shù)據(jù)特征中挑選一個(gè)數(shù)據(jù)特征對(duì)節(jié)點(diǎn)進(jìn)行分割,進(jìn)入步驟 3;
步驟 3:生成若干孩子節(jié)點(diǎn),對(duì)每一個(gè)孩子節(jié)點(diǎn)進(jìn)行判斷,如果滿足停止分裂的條件,進(jìn)入
步驟 4;否則,進(jìn)入步驟 2;
步驟 5:設(shè)置該節(jié)點(diǎn)是子節(jié)點(diǎn),其輸出的結(jié)果為該節(jié)點(diǎn)數(shù)量占比最大的類別。
從上述步驟可以看出,決策生成過程中有三個(gè)重要的問題:
(1)數(shù)據(jù)如何分割
(2)如何選擇分裂的屬性
(3)什么時(shí)候停止分裂
2.1 數(shù)據(jù)分割
假如我們已經(jīng)選擇了一個(gè)分裂的屬性,那怎樣對(duì)數(shù)據(jù)進(jìn)行分裂呢?
分裂屬性的數(shù)據(jù)類型分為離散型和連續(xù)性兩種情況,對(duì)于離散型的數(shù)據(jù),按照屬性值進(jìn)行分裂,每個(gè)屬性值對(duì)應(yīng)一個(gè)分裂節(jié)點(diǎn);對(duì)于連續(xù)性屬性,一般性的做法是對(duì)數(shù)據(jù)按照該屬性進(jìn)行排序,再將數(shù)據(jù)分成若干區(qū)間,如[0,10]、[10,20]、[20,30]…,一個(gè)區(qū)間對(duì)應(yīng)一個(gè)節(jié)點(diǎn),
若數(shù)據(jù)的屬性值落入某一區(qū)間則該數(shù)據(jù)就屬于其對(duì)應(yīng)的節(jié)點(diǎn)。
2.2 分裂屬性的選擇
我們知道了分裂屬性是如何對(duì)數(shù)據(jù)進(jìn)行分割的,那么我們?cè)鯓舆x擇分裂的屬性呢?
決策樹采用貪婪思想進(jìn)行分裂,即選擇可以得到最優(yōu)分裂結(jié)果的屬性進(jìn)行分裂。那么怎
樣才算是最優(yōu)的分裂結(jié)果?最理想的情況當(dāng)然是能找到一個(gè)屬性剛好能夠?qū)⒉煌悇e分開,但是大多數(shù)情況下分裂很難一步到位,我們希望每一次分裂之后孩子節(jié)點(diǎn)的數(shù)據(jù)盡量”純”,選擇分裂屬性是要找出能夠使所有孩子節(jié)點(diǎn)數(shù)據(jù)最純的屬性,決策樹使用信息增益或者信息
增益率作為選擇屬性的依據(jù)。
用信息增益表示分裂前后跟的數(shù)據(jù)復(fù)雜度和分裂節(jié)點(diǎn)數(shù)據(jù)復(fù)雜度的變化值,計(jì)算公式表示為:
(1)
其中Gain表示節(jié)點(diǎn)的復(fù)雜度,Gain越高,說明復(fù)雜度越高。信息增益說白了就是分裂前的數(shù)據(jù)復(fù)雜度減去孩子節(jié)點(diǎn)的數(shù)據(jù)復(fù)雜度的和,信息增益越大,分裂后的復(fù)雜度減小得越多,分類的效果越明顯。
節(jié)點(diǎn)的復(fù)雜度可以用以下兩種不同的計(jì)算方式:
a)熵
熵描述了數(shù)據(jù)的混亂程度,熵越大,混亂程度越高,也就是純度越低;反之,熵越小,混亂程度越低,純度越高。熵的計(jì)算公式如下所示:
(2)
其中Pi表示類i的數(shù)量占比。以二分類問題為例,如果兩類的數(shù)量相同,此時(shí)分類節(jié)點(diǎn)的純度最低,熵等于1;如果節(jié)點(diǎn)的數(shù)據(jù)屬于同一類時(shí),此時(shí)節(jié)點(diǎn)的純度最高,熵等于0。
b)基尼值
基尼值計(jì)算公式如下:
(3)
其中Pi表示類i的數(shù)量占比。其同樣以上述熵的二分類例子為例,當(dāng)兩類數(shù)量相等時(shí),基尼值等于0.5;當(dāng)節(jié)點(diǎn)數(shù)據(jù)屬于同一類時(shí),基尼值等于0。基尼值越大,數(shù)據(jù)越不純。
(2)信息增益率
使用信息增益作為選擇分裂的條件有一個(gè)不可避免的缺點(diǎn):傾向選擇分支比較多的屬性
進(jìn)行分裂。為了解決這個(gè)問題,引入了信息增益率這個(gè)概念。信息增益率是在信息增益的基
礎(chǔ)上除以分裂節(jié)點(diǎn)數(shù)據(jù)量的信息增益,其計(jì)算公式如下:
(4)
其中Info _ Gain表示信息增益,InstrinsicInfo表示分裂子節(jié)點(diǎn)數(shù)據(jù)量的信息增益,其計(jì)算公式為:
(5)
其中m表示子節(jié)點(diǎn)的數(shù)量,i n表示第i個(gè)子節(jié)點(diǎn)的數(shù)據(jù)量,N表示父節(jié)點(diǎn)數(shù)據(jù)量,其實(shí) InstrinsicInfo是分裂節(jié)點(diǎn)的熵,如果節(jié)點(diǎn)的數(shù)據(jù)鏈越接近,InstrinsicInfo 越大,如果子節(jié)點(diǎn)越大,InstrinsicInfo 越大,而Info _ Ratio就會(huì)越小,能夠降低節(jié)點(diǎn)分裂時(shí)選擇子節(jié)點(diǎn)多的分裂屬性的傾向性。信息增益率越高,說明分裂的效果越好。
2.3 停止分裂的條件
決策樹不可能不限制地生長(zhǎng),總有停止分裂的時(shí)候,最極端的情況是當(dāng)節(jié)點(diǎn)分裂到只剩
下一個(gè)數(shù)據(jù)點(diǎn)時(shí)自動(dòng)結(jié)束分裂,但這種情況下樹過于復(fù)雜,而且預(yù)測(cè)的經(jīng)度不高。一般情況
下為了降低決策樹復(fù)雜度和提高預(yù)測(cè)的經(jīng)度,會(huì)適當(dāng)提前終止節(jié)點(diǎn)的分裂。以下是決策樹節(jié)點(diǎn)停止分裂的一般性條件:
(1)最小節(jié)點(diǎn)數(shù)
當(dāng)節(jié)點(diǎn)的數(shù)據(jù)量小于一個(gè)指定的數(shù)量時(shí),不繼續(xù)分裂。兩個(gè)原因:一是數(shù)據(jù)量較少時(shí),再做分裂容易強(qiáng)化噪聲數(shù)據(jù)的作用;二是降低樹生長(zhǎng)的復(fù)雜性。提前結(jié)束分裂一定程度上有
利于降低過擬合的影響。
(2)熵或者基尼值小于閥值。
由上述可知,熵和基尼值的大小表示數(shù)據(jù)的復(fù)雜程度,當(dāng)熵或者基尼值過小時(shí),表示數(shù)據(jù)的純度比較大,如果熵或者基尼值小于一定程度數(shù),節(jié)點(diǎn)停止分裂。
(3)決策樹的深度達(dá)到指定的條件
節(jié)點(diǎn)的深度可以理解為節(jié)點(diǎn)與決策樹跟節(jié)點(diǎn)的距離,如根節(jié)點(diǎn)的子節(jié)點(diǎn)的深度為1,因?yàn)檫@些節(jié)點(diǎn)與跟節(jié)點(diǎn)的距離為1,子節(jié)點(diǎn)的深度要比父節(jié)點(diǎn)的深度大1。決策樹的深度是所
有葉子節(jié)點(diǎn)的最大深度,當(dāng)深度到達(dá)指定的上限大小時(shí),停止分裂。
(4)所有特征已經(jīng)使用完畢,不能繼續(xù)進(jìn)行分裂。
被動(dòng)式停止分裂的條件,當(dāng)已經(jīng)沒有可分的屬性時(shí),直接將當(dāng)前節(jié)點(diǎn)設(shè)置為葉子節(jié)點(diǎn)。
3.實(shí)驗(yàn)與分析
3.1數(shù)據(jù)來源
實(shí)驗(yàn)數(shù)據(jù)來自淘寶,根據(jù)淘寶服裝詳情頁面的信息,將服裝按厚度指數(shù),彈力指數(shù),版型指數(shù),長(zhǎng)度指數(shù),款式,面料主要成分,顏色深度。本文收集一件上裝的多種下裝搭配作為訓(xùn)練集,訓(xùn)練出決策樹,以消費(fèi)者想要搭配的下裝作為測(cè)試集,測(cè)試出其搭配效果。搭配效果評(píng)價(jià)指標(biāo):消費(fèi)者點(diǎn)贊數(shù)和購(gòu)買數(shù),這兩個(gè)指標(biāo)綜合進(jìn)行評(píng)價(jià),比例各占一半。
首先以一件上衣為例說明本文使用到的方法原理。選取和這件上衣搭配的推薦下裝20條數(shù)據(jù)作為實(shí)驗(yàn)集,5條數(shù)據(jù)作為訓(xùn)練集。根據(jù)服裝描述性指標(biāo)收集20個(gè)下裝的信息見表1。
當(dāng)然在實(shí)際進(jìn)行試驗(yàn)時(shí),款式不會(huì)僅限于這幾種,會(huì)根據(jù)淘寶數(shù)據(jù)平臺(tái)天池提供的數(shù)據(jù)信息進(jìn)行全面的分類,在這里現(xiàn)已20中為例說明決策原理。用上述數(shù)據(jù)訓(xùn)練構(gòu)建決策樹,收集20件下裝的月售銷量,好評(píng)數(shù),差評(píng)數(shù),按一定的比例換算為統(tǒng)一單位指標(biāo)作為搭配效果的評(píng)分,參考羅賓漂流記的方法用python初步進(jìn)行決策樹構(gòu)建如下圖1所示。
根據(jù)后退法對(duì)決策樹進(jìn)行剪枝優(yōu)化決策樹,最終得到的決策樹再用5條訓(xùn)練集進(jìn)行檢驗(yàn)看結(jié)果是否與實(shí)際相符,若相符則將想要搭配的衣服指標(biāo)鍵入,即可得到用該決策樹預(yù)測(cè)的服裝搭配效果。若不相符,則對(duì)決策樹進(jìn)行改進(jìn)或隨機(jī)訓(xùn)練多個(gè)決策樹構(gòu)成隨機(jī)森林達(dá)到更精確更準(zhǔn)確預(yù)測(cè)模型。
4.總結(jié)
服裝搭配是近年來一直被各大電商平臺(tái)關(guān)注的一個(gè)問題,而現(xiàn)有的搭配是有限的、固定的,一定程度上不夠靈活多變,這樣就有可能會(huì)產(chǎn)生以下兩個(gè)問題,一方面當(dāng)用戶不想買商家搭配好的服裝,想要和自己已有的衣服進(jìn)行搭配卻無從得知自己想買的衣服的搭配效果;另一方面當(dāng)消費(fèi)者買回家之后對(duì)搭配好的衣服穿厭煩時(shí)又不知道該如何搭配。這兩個(gè)問題都有可能產(chǎn)生資源的浪費(fèi),從而可能最終導(dǎo)致電商平臺(tái)產(chǎn)生泡沫經(jīng)濟(jì)。本文針對(duì)以上的行為問題提出了使用決策樹進(jìn)行決策的解決方案,使用決策樹為用戶提供搭配效果的預(yù)測(cè),進(jìn)而緩解這一問題。當(dāng)然決策樹在決策過程中可能會(huì)存在一些過擬合的缺點(diǎn),可以考慮隨機(jī)產(chǎn)生多個(gè)決策樹構(gòu)成決策森林來改善過擬合的問題。
【參考文獻(xiàn)】
[1] 周志華,機(jī)器學(xué)習(xí)[M],北京:清華大學(xué)出版社,2018,73-95.
[2] 李鈺通,決策樹分類模型預(yù)測(cè)網(wǎng)站熱度[J],技術(shù)交流,2018,162-163.
[3] 羅賓漂流記,機(jī)器學(xué)習(xí)算法-決策樹[Z],博客園,2017.
[4] 北門大官人,決策樹系列(一)——基礎(chǔ)知識(shí)回顧與總結(jié)[Z],CSDN,2018.