李佳宣越


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