用戶退課行為預(yù)測方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種用戶退課行為預(yù)測方法及裝置,其中,該方法包括:獲取基于用戶日志的用戶行為、基于用戶論壇行為的社交關(guān)系以及基于時間序列的用戶行為作為訓(xùn)練集;選擇部分弱分類器分別對訓(xùn)練集進行集成學(xué)習(xí)得到強分類器和強分類器的權(quán)重和參數(shù);根據(jù)強分類器的權(quán)重和參數(shù)對測試集進行測試,輸出測試結(jié)果。該方法通過集成學(xué)習(xí)提高了對用戶退課行為預(yù)測的準確度。本發(fā)明還提出了一種用戶退課行為預(yù)測裝置。
【專利說明】
用戶退課行為預(yù)測方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及網(wǎng)絡(luò)信息技術(shù)領(lǐng)域,尤其涉及一種用戶退課行為預(yù)測方法及裝置。
【背景技術(shù)】
[0002] 高退課率和低參與度是當(dāng)前的大規(guī)模在線公開課程平臺面臨的重要問題,對潛在 退課用戶的行為進行細粒度的分析對設(shè)計更好的在線教育平臺及設(shè)計調(diào)整課程至關(guān)重要。 大規(guī)模在線開放課程完整的記錄了用戶和課程進行交互的過程,這提供給研究者一個細粒 度分析用戶學(xué)習(xí)行為的前所未有的機會。
[0003] 相關(guān)技術(shù)中,一種是使用用戶的社會行為來預(yù)測用戶的退課;一種是按照學(xué)習(xí)模 式對用戶進行分類;一種是分析了影響用戶參與大規(guī)模在線公開課程(Mass Open Online C〇UrSe,M00C)的關(guān)鍵因素,并且觀察到了用戶之間顯著的行為和學(xué)習(xí)模式的差異,并且提 出了一個基于動態(tài)因子圖的模型來預(yù)測用戶的學(xué)習(xí)表現(xiàn)和證書獲得;還有提出了一個隱表 示模型用來抽象學(xué)習(xí)模式并且預(yù)測退課。
[0004] 但是,相關(guān)技術(shù)的研究對于預(yù)測結(jié)果的準確度還是不夠的,我們也注意到高退課 率和低參與度是當(dāng)前的大規(guī)模在線公開課程(M00C)平臺面臨的重要問題,對潛在退課用戶 的行為進行細粒度的分析對設(shè)計更好的M00C的平臺至關(guān)重要。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的旨在至少在一定程度上解決上述的技術(shù)問題之一。
[0006] 為此,本發(fā)明的第一個目的在于提出一種用戶退課行為預(yù)測方法。該方法通過集 成學(xué)習(xí)提高了對用戶退課行為預(yù)測的準確度。
[0007] 本發(fā)明的第二個目的在于提出了一種用戶退課行為預(yù)測裝置。
[0008] 為達上述目的,本發(fā)明第一方面實施例的用戶退課行為預(yù)測方法,包括:S1,獲取 基于用戶日志的用戶行為、基于用戶論壇行為的社交關(guān)系以及
[0009] 基于時間序列的用戶行為作為訓(xùn)練集;S2,選擇部分弱分類器分別對所述訓(xùn)練集 進行集成學(xué)習(xí)得到強分類器和所述強分類器的權(quán)重和參數(shù);S3,根據(jù)所述強分類器的權(quán)重 和參數(shù)對測試集進行測試,輸出測試結(jié)果。
[0010] 本發(fā)明實施例的用戶退課行為預(yù)測方法,首先獲取基于用戶日志的用戶行為、基 于用戶論壇行為的社交關(guān)系以及基于時間序列的用戶行為作為訓(xùn)練集,接著選擇部分弱分 類器分別對訓(xùn)練集進行集成學(xué)習(xí)得到強分類器和強分類器的權(quán)重和參數(shù),最后根據(jù)強分類 器的權(quán)重和參數(shù)對測試集進行測試,輸出測試結(jié)果。該方法通過集成學(xué)習(xí)提高了對用戶退 課行為預(yù)測的準確度。
[0011] 在一些示例中,所述部分弱分類器包括:SVM(Support Vector Machine,支持向量 機)、Logistic Regression(蟲 口模型)、AdaboostMl,、KNN(k_Nearest Neighbor,K最近 鄰)、PosKNN和Attribute WKNN。
[0012]在一些示例中,步驟S2,包括:S21,賦予所述訓(xùn)練集中的每個樣本同樣大小的初始 權(quán)重值,權(quán)重向量記為D; S22,選擇部分弱分類器分別對所述訓(xùn)練集進行訓(xùn)練,并計算各個 弱分類器的分類錯誤率并選擇所述分類錯誤率最低對應(yīng)的所述弱分類器存儲,其中,所述 分類錯誤率是未被正確分類的樣本數(shù)目占所有數(shù)目的比例;S23,調(diào)整所述每個樣本的權(quán)重 值,并在同一個訓(xùn)練集上再次訓(xùn)練,并找到分類錯誤率最低對應(yīng)的所述弱分類器存儲并記 錄訓(xùn)練次數(shù)t; S24,當(dāng)t小于T時,重復(fù)執(zhí)行所述步驟S22和S23,直到t等于T,固定次數(shù)為T次, 其中,T為正整數(shù),賦予每一個存儲的弱分類器一個權(quán)重值a,所述弱分類器的錯誤率為e,
,預(yù)設(shè)閾值為P,將所述權(quán)重值a大于p對應(yīng)的弱分類器加權(quán)投票,得到最終的 強分類器和所述強分類器的權(quán)重和參數(shù),其中,P在〇至1之間。
[0013] 在一些示例中,所述權(quán)重值的調(diào)整原則為:加大/減小被上次存儲的分類器分類錯 誤/正確的樣本的權(quán)重值,并再次找到錯誤率最低的那個分類器存儲起來。
[0014] 在一些示例中,所述訓(xùn)練集為(xi,yi),. . .,(XN,yN),其中,yiG {1 ,-1},xi為正確的 類別標簽,所述訓(xùn)練集的樣本的初始分布為
,其中,i = l,. . .,N,計算弱分類器ht: X-{_1,1},對t = l,. . .,T,其中,T為循環(huán)次數(shù),所述分類器在分布Dt上的誤差為: G 乃;),計算所述弱分類器的權(quán)重:
,更新所述訓(xùn)練集的樣本的 分布:
其中Zt為歸一化常數(shù),如果at < P,更新:at = 0,最后的 f r \ 強分類器為:
[0015]為達上述目的,本發(fā)明第二方面實施例的用戶退課行為預(yù)測裝置,包括:獲取模 塊,用于獲取基于用戶日志的用戶行為、基于用戶論壇行為的社交關(guān)系以及基于時間序列 的用戶行為作為訓(xùn)練集;集成學(xué)習(xí)模塊,用于選擇部分弱分類器分別對所述訓(xùn)練集進行集 成學(xué)習(xí)得到強分類器和所述強分類器的權(quán)重和參數(shù);測試模塊,用于根據(jù)所述強分類器的 權(quán)重和參數(shù)對測試集進行測試,輸出測試結(jié)果。
[0016] 本發(fā)明實施例的用戶退課行為預(yù)測裝置,首先獲取模塊獲取基于用戶日志的用戶 行為、基于用戶論壇行為的社交關(guān)系以及基于時間序列的用戶行為作為訓(xùn)練集,接著集成 學(xué)習(xí)模塊選擇部分弱分類器分別對訓(xùn)練集進行集成學(xué)習(xí)得到強分類器和強分類器的權(quán)重 和參數(shù),最后測試模塊根據(jù)強分類器的權(quán)重和參數(shù)對測試集進行測試,輸出測試結(jié)果。該裝 置通過集成學(xué)習(xí)提高了對用戶退課行為預(yù)測的準確度。
[0017] 在一些示例中,所述部分弱分類器包括:SVM(Support Vector Machine,支持向量 機)、Logistic Regression(蟲 口模型)、adaboostMl,、KNN(k_Nearest Neighbor,K最近 鄰)、PosKNN和Attribute WKNN。
[0018]在一些示例中,所述集成學(xué)習(xí)模塊包括::S21,賦予所述訓(xùn)練集中的每個樣本同樣 大小的初始權(quán)重值,權(quán)重向量記為D;S22,選擇部分弱分類器分別對所述訓(xùn)練集進行訓(xùn)練, 并計算弱分類器的分類錯誤率并選擇所述分類錯誤率最低對應(yīng)的所述弱分類器存儲,其 中,所述分類錯誤率是未被正確分類的樣本數(shù)目占所有數(shù)目的比例;S23,調(diào)整所述每個樣 本的權(quán)重值,并在同一個訓(xùn)練集上再次訓(xùn)練,并找到分類錯誤率最低對應(yīng)的所述弱分類器 存儲并記錄訓(xùn)練次數(shù)t;S24,當(dāng)t小于T時,重復(fù)執(zhí)行所述步驟S22和S23,直到t等于T,固定次 數(shù)為T次,其中,T為正整數(shù),賦予每一個存儲的弱分類器一個權(quán)重值a,所述弱分類器的錯誤 率為e
,預(yù)設(shè)閾值為P,將所述權(quán)重值a大于p對應(yīng)的弱分類器加權(quán)投票,得到 最終的強分類器和所述強分類器的權(quán)重和參數(shù),其中,P在〇至1之間。
[0019] 在一些示例中,所述權(quán)重值的調(diào)整原則為:加大/減小被上次存儲的分類器分類錯 誤/正確的樣本的權(quán)重值,并再次找到錯誤率最低的那個分類器存儲起來。
[0020] 在一些示例中,所述訓(xùn)練集為(xi,yi),. . .,(XN,yN),其中,yiG {1 ,-1},xi為正確的 類別標簽,所述訓(xùn)練集的樣本的初始分布為;
,其中,i = l,...,N,計算弱分類器 ht:X-{-l,l},對t = l,. . .,T,其中,T為循環(huán)次數(shù),所述分類器在分布Dt上的誤差為: Q ,計算所述弱分類器的權(quán)重:
,更新所述訓(xùn)練集的樣本的 分布,其中Zt為歸一化常數(shù),如果at <P,更新:at = 0,最后的
i f T \ 強分類器為:Hfmal{x)=sign Y,aMx) \ /-I / 〇
[0021] 本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變 得明顯,或通過本發(fā)明的實踐了解到。
【附圖說明】
[0022] 本發(fā)明的上述和/或附加的方面和優(yōu)點從結(jié)合下面附圖對實施例的描述中將變得 明顯和容易理解,其中:
[0023] 圖1是根據(jù)本發(fā)明一個實施例的用戶退課行為預(yù)測方法的流程圖;
[0024] 圖2是根據(jù)本發(fā)明一個實施例的狀態(tài)機的示意圖;
[0025] 圖3是根據(jù)本發(fā)明一個實施例的集成學(xué)習(xí)方法的流程圖;
[0026] 圖4是根據(jù)本發(fā)明一個實施例的用戶退課行為預(yù)測裝置的示意圖。
【具體實施方式】
[0027] 下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終 相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附 圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
[0028] 首先,預(yù)測只針對該課程的選課用戶。由于課程間的差異性較大,各個課程的訓(xùn)練 模型參數(shù)和測試是相互獨立的。模型中,正例為1,表示用戶在預(yù)測時間內(nèi)會繼續(xù)訪問課程; 負例為〇,表示用戶會流失。統(tǒng)計證明,那些在預(yù)測時間段內(nèi)(在本模型中即為預(yù)測前一個 月)沒來訪問課程的選課用戶,有99%在接下來的10天沒來,因此本模型只對在預(yù)測前一個 月內(nèi)有行為的選課用戶使用算法預(yù)測,其余選課用戶則默認已流失,即流失率為1〇〇%。
[0029] 圖1是根據(jù)本發(fā)明一個實施例的用戶退課行為預(yù)測方法的流程圖。
[0030] 如圖1所示,該用戶退課行為預(yù)測方法可以包括:
[0031] S1,獲取基于用戶日志的用戶行為、基于用戶論壇行為的社交關(guān)系以及基于時間 序列的用戶行為作為訓(xùn)練集。
[0032]需要說明的是,每條特征向量對應(yīng)于一門課程的選課用戶。特征向量主要用到是 基于用戶日志的用戶行為、基于用戶論壇行為的社交關(guān)系以及基于時間序列的用戶行為。 [0033]可以理解的是,基于用戶日志的用戶行為可以是從用戶日志中解析出來的行為模 型。例如,從用戶日志中解析出來的行為類型;我們設(shè)計了一個基于自動機的用戶日志分析 算法。如圖2所示,狀態(tài)機由三個狀態(tài)組成空閑(Idle)、視頻(Video)和作業(yè)(Assignment), 我們假設(shè)用戶在任何時刻都處于這三個狀態(tài)中的一個。舉例來說,當(dāng)用戶點擊播放課程視 頻時,他的狀態(tài)就會轉(zhuǎn)移到視頻狀態(tài),而當(dāng)用戶點擊暫停時,他的狀態(tài)又會跳回到空閑狀 態(tài)。我們還設(shè)置了一個時間閾值,當(dāng)用戶長處于視頻或者作業(yè)狀態(tài)時超過這個時間閾值時, 他的狀態(tài)就會回到空閑。此外,我們還從用戶的訪問log日志中提取出的行為類型主要有以 下7種:Video,Page_Close,Problem, Access,Discuss ion, Wiki,Navigate。在過濾掉一些無 效的用戶訪問行為后,統(tǒng)計用戶在預(yù)測前一個月內(nèi)的各種行為類型的次數(shù),按照時間依次 羅列。無效訪問行為定義:如果在訪問記錄中,如果用戶訪問某一頁面的持續(xù)時間太短,如 用戶的連續(xù)兩次訪問記錄間隔〈=5秒,則認為用戶前一次訪問無效。
[0034]可以理解的是,基于用戶論壇行為的社交關(guān)系可以是用戶論壇"朋友"的訪問情 況。其中,"朋友"的定義是曾經(jīng)和該用戶在論壇里有過交流的用戶。例如,統(tǒng)計在預(yù)測前10 天內(nèi)訪問過該課程的用戶"朋友"數(shù)。
[0035] 可以理解的是,基于時間序列的用戶行為可以是用戶訪問時間模式和估計。例如, 統(tǒng)計用戶訪問的課程的總天數(shù)count以及平均訪問時間頻率interval,并依照該用戶最后 訪問的時間以及最近的訪問時間間隔推算該用戶下一次訪問的時間,計算該時間和預(yù)測時 間段的偏差bias。
[0036] S2,選擇部分弱分類器分別對訓(xùn)練集進行集成學(xué)習(xí)得到強分類器和強分類器的權(quán) 重和參數(shù)。
[0037] 在一些示例中,部分弱分類器包括:SVM(Support Vector Machine,支持向量機)、 Logistic Regression(蟲 口模型)、adaboostMl,、KNN(k_Nearest Neighbor,K最近鄰)、 PosKNN和Attribute WKNN。
[0038] 需要說明的是,SVM、Logistic regression、adaboostMl、KNN這四種模型都是現(xiàn)有 的經(jīng)典模型,在此不再贅述。而PosKNN和Attribute WKNN則是在經(jīng)典KNN算法的基礎(chǔ)上進行 了改進的算法。因此接下來重點介紹模型的前提假設(shè)、所用特征的選取、所用的改進算法以 及boosting集成過程。
[0039] 例如,PosKNN算法原理是:分別選取與訓(xùn)練紀錄漢明碼距離最近的前k個正例和前 k個負例,然后計算這k個正例和k個負例與訓(xùn)練紀錄的平均距離,如果正(負)例的平均距離 較小,則最終分類結(jié)果就為正(負)例。這個算法原理較簡單,過程和經(jīng)典KNN相差無幾,在此 不再贅述。
[0040] 例如,Attribute WKNN算法我們一直致力于設(shè)計一個既準確又快速的分類算法, 其中一種很簡單但非常準確的分類算法就是上文所述的KNN(k-nearest neighbor classification)算法。但是KNN算法也有其不足之處,當(dāng)在對屬性較多的訓(xùn)練樣本進行分 類時,由于假定各個屬性權(quán)重相同,而現(xiàn)實中卻往往不是如此,此時KNN的分類精度就會大 大降低,效果不是很理想。因此,為了彌補這一缺陷,本文提出一種基于特征屬性加權(quán)的KNN 改進算法--Attribute WKNN (attribute weight k_n eare s t neighbor classification)算法。該算法考慮到,由于在實際生活中,不同的特征對于最終的分類結(jié) 果的貢獻是不可能會完全同等的,因而給各個特征賦予了不同大小的權(quán)重。這樣一來,就能 使重要特征的作用得到提升,從而提高了算法的性能。更具體而言,Attribute WKNN算法的 基本思想是,為每個特征屬性訓(xùn)練出一個合理的權(quán)重值,然后根據(jù)特征屬性的相似性,找到 與新的數(shù)據(jù)屬性最為相似的k條訓(xùn)練數(shù)據(jù),然后對于新數(shù)據(jù)的分類決策則是依賴于這k條記 錄的類別的。大概過程如下:第一步,給每個特征屬性一個初始權(quán)重值W,并將訓(xùn)練數(shù)據(jù)集TA 均分成為N個小數(shù)據(jù)集Nk,然后進行N次交叉驗證。即對于每一個數(shù)據(jù)子集Nk(K=1,…,N),將 其作為測試集TEk,而其余的N-1個子集則匯集成一個新訓(xùn)練集TAiuTAk通過內(nèi)部循環(huán)處理來 訓(xùn)練特征屬性權(quán)重參數(shù)W,最后測試TEk在TAk上的準確率。第二步,在整個訓(xùn)練集TA上進行一 遍內(nèi)部循環(huán)處理訓(xùn)練特征屬性權(quán)重參數(shù)W。
[0041] 為了本領(lǐng)域人員更加清楚Attribute WKNN算法,下面詳細說明:對于一條新測試 記錄X,有:第一距離:可以是歐氏距離,余弦距離等。在本實施例中,對訓(xùn)練集中的一條記錄 Y,X和Y之間的距離3:定義為:
(1 )
[0043]其中,k為特征的數(shù)目,wi為第i個特征的權(quán)重值,xi和yi分別是記錄X和Y在第i個特 征上的取值。第二K鄰居:指的是與X距離最為接近的K條記錄。第三投票分類法:平均投票: 每個鄰居的權(quán)重相同,并且少數(shù)服從多數(shù),哪個類別多就分為哪類。加權(quán)投票法:基于相似 度的大小,給每個鄰居的分類權(quán)重值是不一樣的。第四Gradient Descent(梯度下降):該方 法的運行原理是:沿著遞度下降/上升的方向求解極小/大值。為了更加清晰的闡述其原理, 可以將函數(shù)看做一座山。而位置就處于山坡的頂端,思考從哪個方向可以最快的下山。方 法:確定Learning rate。即向下一步的步伐大小;任意給定一個初始值:0〇,0i;確定好一個 方向,并按照上述的步伐大小向下走,然后更新9〇,9 1;當(dāng)下降高度低于了所設(shè)置的門檻值 時,就終止;核心算法如下所示,其中,convergence是終止條件,a是Learning rate,它決定 了下降的步伐大小,太小函數(shù)收斂很慢,太大則可能無法找到極值,甚至函數(shù)無法收斂。
I決定了下降的方向。
[0045]其中,特點:類似于貪心算法,只能求得一個局部最優(yōu)值;隨著下降高度對門檻值 的逐漸逼近,下降速度也會逐漸變慢。第五交叉驗證,交叉驗證(Cross validation),也稱 為循環(huán)估計。是一種首先將數(shù)據(jù)集均分成若干個子集的算法??梢栽O(shè)置最開始的那個子集 為訓(xùn)練集X,它被當(dāng)做分析的對象;而其余的子集則成為測試集Y,它用來做驗證。我們可以 用交叉驗證來評判學(xué)習(xí)方法的泛化能力(generalize)。該方法需要盡可能滿足以下條件: 訓(xùn)練數(shù)據(jù)集的比重夠大,一般在50%以上;對訓(xùn)練集和測試集的抽樣要均勻。交叉驗證主要 有:
[0046] k-folder cross-validation:將數(shù)據(jù)集等分為k個子集,對每一個子集X,都有:X 當(dāng)做測試集,而其余子集則成為訓(xùn)練集。這樣重復(fù)k次交叉驗證后,將k次測試集的測試準確 率的均值作為最終結(jié)果。優(yōu)點:所有的樣本都被驗證一次,且曾被用作為訓(xùn)練集以及測試 集。l〇-folder通常被使用?;蛘呤荎*2 folder cross-validation是k-folder cross-validation的一個變體,對每一個folder,都平均分成兩個集合SO,SI。我們先將SO作訓(xùn)練 S1作測試,然后反過來。優(yōu)點:所有的樣本都能被用作訓(xùn)練集和測試集,且測試集和訓(xùn)練集 的規(guī)模數(shù)量足夠的大。一般使用k= Khleast-one-out cross-validation(loocv),假設(shè)數(shù) 據(jù)集中有N個樣本,那L00CV也就是N-CV。對每個樣本X都有:X作一次測試集,而剩余N-1個則 為訓(xùn)練集。優(yōu)點:幾乎所有的樣本用來訓(xùn)練模型,這樣可以有效的降低泛化誤差。實驗過程 可復(fù)制。缺點:當(dāng)樣本總數(shù)過多時,由于很高的計算成本,L00CV在實際操作的效率會大大降 低。
[0047] 例如,Attribute WKNN算法數(shù)據(jù)集如表1所示:
[0048]表1數(shù)據(jù)集
[0050] 訓(xùn)練數(shù)據(jù)集為D。共有6條紀錄:dl,d2,d3,d4,d5,d6。測試數(shù)據(jù)集為T。共有2條記 錄:11,t2。每條記錄均有3個特征屬性:n,f2,f3。其對應(yīng)的值為vl,v2,V3。初始參數(shù)設(shè)置: 學(xué)習(xí)比率a = 〇.2,"鄰居"數(shù)k=l,訓(xùn)練子集總數(shù)N=3,特征屬性對應(yīng)權(quán)重wl、w2、w3分別初始 化值為0.2、0.5、0.1。算法具體過程如下:交叉驗證訓(xùn)練,將訓(xùn)練集D均分為N=3個子訓(xùn)練集 01((11,(12)、02((13,(14)和03((15,(16)對每個子訓(xùn)練集有如下過程(以02為例) :設(shè)置02為驗證 集,新訓(xùn)練集D(1+3)=D1+D3,即((11,(12,(15,(16),對于0(1+3)里的每一個(1,有(以(12為例) : 計算在D(l+3)里除了d2的剩余記錄(dl,d5,d6)與d2的距離:
(保留四位小數(shù)}。 同理可得,0(d2,d5)~0.7874,9((12,(16)~1.0198。找到(12的1^仏=1)鄰居,由上可知與(12距 離最小的是dl,返回k鄰居投票值,因為k= 1,所以投票值就為dl的分類值1,由于d2的真實 分類值〇辛投票值1,所以用梯度下降法修改特征權(quán)重:Error =真實分類值-投票值=0-1 =-1,對每個特征權(quán)重 wi,有:wi = wi+a*Error*Vl = 0 ? 2+0.2*(-1)*0 = 0.2。同理可得 W2 = 0.3,W3 = 0.1,對驗證集D2里的每一個d,有:找到與d距離最小的k鄰居并得到投票分類值; 計算分類準確率A:
。在整個訓(xùn)練集上訓(xùn)練對訓(xùn)練集D里的記錄d, 有:找到與d距離最小的k鄰居并得到投票分類值;如果真實分類值辛投票值,則用梯度下降 法修改特征權(quán)重:Error =真實分類值-投票值對每個特征屬性權(quán)重wk,有:wk = wk+a*Error* Vk。對整個訓(xùn)練集D里的d,有:找到與d距離最小的k鄰居并得到投票分類值;計算分類準確 率A
,測試數(shù)據(jù)集T對T里的每一個d,有:找到與d距離最小的k鄰居 并得到投票分類值,計算分類準確率A:
[0051 ] 其中,如圖3所示,在一些示例中,步驟S2,包括:
[0052] S21,賦予訓(xùn)練集中的每個樣本同樣大小的初始權(quán)重值,權(quán)重向量記為D。
[0053] S22,選擇部分弱分類器分別對訓(xùn)練集進行訓(xùn)練,并計算各個弱分類器的分類錯誤 率并選擇分類錯誤率最低對應(yīng)的弱分類器存儲,其中,分類錯誤率是未被正確分類的樣本 數(shù)目占所有數(shù)目的比例。
[0054] S23,調(diào)整每個樣本的權(quán)重值,并在同一個訓(xùn)練集上再次訓(xùn)練,并找到分類錯誤率 最低對應(yīng)的弱分類器存儲并記錄訓(xùn)練次數(shù)t。
[0055] S24,當(dāng)t小于T時,重復(fù)執(zhí)行步驟S22和S23,直到t等于T,固定次數(shù)為T次,其中,T為 正整數(shù),賦予每一個存儲的弱分類器一個權(quán)重值a,弱分類器的錯誤率為e
預(yù)設(shè)閾值為P,將權(quán)重值a大于P對應(yīng)的弱分類器加權(quán)投票,得到最終的強分類器和強分類器 的權(quán)重和參數(shù),其中,P在0至1之間。
[0056] 在一些示例中,權(quán)重值的調(diào)整原則為:加大/減小被上次存儲的分類器分類錯誤/ 正確的樣本的權(quán)重值,并再次找到分類錯誤率最低的那個分類器存儲起來。
[0057] 更具體地,在一些示例中,訓(xùn)練集為(xi,yi),. . .,(XN,yN),其中,yiG {1 ,-1},xi為 正確的類別標簽,訓(xùn)練集的樣本的初始分布為
,其中,i = l,. . .,N,計算弱分類器 ht:X-{-l,l},對t = l,. . .,T,其中,T為循環(huán)次數(shù),分類器在分布Dt上的誤差為: 孓=仏^,^,>為!):,計算弱分類器的權(quán)重:
更新訓(xùn)練集的樣本的分布:
?,其中Zt為歸一化常數(shù),如果at<P,更新:a t = 0,最后的強分 類器為:丑_ (4=(.^。 V -t=l )
[0058] 其中,在計算中的代碼表示可以如下表示:
[0061] S3,根據(jù)強分類器的權(quán)重和參數(shù)對測試集進行測試,輸出測試結(jié)果。
[0062]舉例而言,可以選擇xuetangX上的財務(wù)分析與決策(2014春)課程測試,得到各模 型測試結(jié)果如表2所示:
[0063]表2各模型測試結(jié)果
[0065] 從表2可以看出,通過集成學(xué)習(xí),的確改善了預(yù)測結(jié)果。
[0066] 本發(fā)明實施例的用戶退課行為預(yù)測方法,首先獲取基于用戶日志的用戶行為、基 于用戶論壇行為的社交關(guān)系以及基于時間序列的用戶行為作為訓(xùn)練集,接著選擇部分弱分 類器分別對訓(xùn)練集進行集成學(xué)習(xí)得到強分類器和強分類器的權(quán)重和參數(shù),最后根據(jù)強分類 器的權(quán)重和參數(shù)對測試集進行測試,輸出測試結(jié)果。該方法通過集成學(xué)習(xí)提高了對用戶退 課行為預(yù)測的準確度。
[0067] 與上述實施例提供的用戶退課行為預(yù)測方法相對應(yīng),本發(fā)明的一種實施例還提供 一種用戶退課行為預(yù)測裝置,由于本發(fā)明實施例提供的用戶退課行為預(yù)測裝置與上述實施 例提供的用戶退課行為預(yù)測方法具有相同或相似的技術(shù)特征,因此在前述用戶退課行為預(yù) 測方法的實施方式也適用于本實施例提供的用戶退課行為預(yù)測裝置,在本實施例中不再詳 細描述。如圖4所示,該用戶退課行為預(yù)測裝置可包括:獲取模塊10、集成學(xué)習(xí)模塊20和測試 模塊30。
[0068] 其中,獲取模塊10用于獲取基于用戶日志的用戶行為、基于用戶論壇行為的社交 關(guān)系以及基于時間序列的用戶行為作為訓(xùn)練集。
[0069]集成學(xué)習(xí)模塊20用于選擇部分弱分類器分別對訓(xùn)練集進行集成學(xué)習(xí)得到強分類 器和強分類器的權(quán)重和參數(shù)。
[0070]測試模塊30用于根據(jù)強分類器的權(quán)重和參數(shù)對測試集進行測試,輸出測試結(jié)果。 [0071 ]在一些不例中,部分弱分類器包括:SVM、Logistic Regression、adaboostMl,、 KNN、PosKNN和Attribute MNN〇
[0072]在一些示例中,集成學(xué)習(xí)模塊20包括::S21,賦予訓(xùn)練集中的每個樣本同樣大小的 初始權(quán)重值,權(quán)重向量記為D; S22,選擇部分弱分類器分別對訓(xùn)練集進行訓(xùn)練,并計算弱分 類器的分類錯誤率并選擇分類錯誤率最低對應(yīng)的弱分類器存儲,其中,分類錯誤率是未被 正確分類的樣本數(shù)目占所有數(shù)目的比例;S23,調(diào)整所述每個樣本的權(quán)重值,并在同一個訓(xùn) 練集上再次訓(xùn)練,并找到分類錯誤率最低對應(yīng)的所述弱分類器存儲并記錄訓(xùn)練次數(shù)t; S24, 當(dāng)t小于T時,重復(fù)執(zhí)行所述步驟S22和S23,直到t等于T,固定次數(shù)為T次,其中,T為正整數(shù), 賦予每一個存儲的弱分類器一個權(quán)重值a,所述弱分類器的錯誤率為^
|預(yù) 設(shè)閾值為P,將所述權(quán)重值a大于P對應(yīng)的弱分類器加權(quán)投票,得到最終的強分類器和所述強 分類器的權(quán)重和參數(shù),其中,P在〇至1之間。
[0073]在一些示例中,權(quán)重值的調(diào)整原則為:加大/減小被上次存儲的分類器分類錯誤/ 正確的樣本的權(quán)重值,并再次找到錯誤率最低的那個分類器存儲起來。
[0074]在一些示例中,訓(xùn)練集為(幻,71),...,(幼^),其中,71£{1,-1},取為正確的類別標 簽,訓(xùn)練集的樣本的初始分布為
?其中,i = l,...,N,計算弱分類器ht:X^{-l,l},對t =1,...,T,其中,T為循環(huán)次數(shù),弱分類器在分布Dt上的誤差為',=仏(A, (x,.)〇',),計算弱分
類器的權(quán)重
,更新訓(xùn)練集的樣本的分布: -, 其中Zt為歸一化常數(shù),如果at<P,更新:at=0,最后的強分類器j
[0075] 本發(fā)明實施例的用戶退課行為預(yù)測裝置,首先獲取模塊獲取基于用戶日志的用戶 行為、基于用戶論壇行為的社交關(guān)系以及基于時間序列的用戶行為作為訓(xùn)練集,接著集成 學(xué)習(xí)模塊選擇部分弱分類器分別對訓(xùn)練集進行集成學(xué)習(xí)得到強分類器和強分類器的權(quán)重 和參數(shù),最后測試模塊根據(jù)強分類器的權(quán)重和參數(shù)對測試集進行測試,輸出測試結(jié)果。該裝 置通過集成學(xué)習(xí)提高了對用戶退課行為預(yù)測的準確度。
[0076] 在本發(fā)明的描述中,需要理解的是,術(shù)語"第一"、"第二"僅用于描述目的,而不能 理解為指示或暗示相對重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有"第 一"、"第二"的特征可以明示或者隱含地包括至少一個該特征。在本發(fā)明的描述中,"多個" 的含義是至少兩個,例如兩個,三個等,除非另有明確具體的限定。
[0077] 在本說明書的描述中,參考術(shù)語"一個實施例"、"一些實施例"、"示例"、"具體示 例"、或"一些示例"等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特 點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不 必須針對的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任 一個或多個實施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技 術(shù)人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結(jié) 合和組合。
[0078] 流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括 一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部 分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順 序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明 的實施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
[0079]本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步 驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介 質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
[0080] 盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例 性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述 實施例進行變化、修改、替換和變型。
【主權(quán)項】
1. 一種用戶退課行為預(yù)測方法,其特征在于,包括以下步驟: Sl,獲取基于用戶日志的用戶行為、基于用戶論壇行為的社交關(guān)系以及基于時間序列 的用戶行為作為訓(xùn)練集; 52, 選擇部分弱分類器分別對所述訓(xùn)練集進行集成學(xué)習(xí)得到強分類器和所述強分類器 的權(quán)重和參數(shù); 53, 根據(jù)所述強分類器的權(quán)重和參數(shù)對測試集進行測試,輸出測試結(jié)果。2. 如權(quán)利要求1所述的用戶退課行為預(yù)測方法,其特征在于,所述部分弱分類器包括: SVM、Logistic RegressioruadaboostMl,、KNN、PosKNN和Attribute WKNN03. 如權(quán)利要求1所述的用戶退課行為預(yù)測方法,其特征在于,步驟S2,包括: S21,賦予所述訓(xùn)練集中的每個樣本同樣大小的初始權(quán)重值,權(quán)重向量記為D; S22,選擇部分弱分類器分別對所述訓(xùn)練集進行訓(xùn)練,并計算各個弱分類器的分類錯誤 率并選擇所述分類錯誤率最低對應(yīng)的所述弱分類器存儲,其中,所述分類錯誤率是未被正 確分類的樣本數(shù)目占所有數(shù)目的比例; S23,調(diào)整所述每個樣本的權(quán)重值,并在同一個訓(xùn)練集上再次訓(xùn)練,并找到分類錯誤率 最低對應(yīng)的所述弱分類器存儲并記錄訓(xùn)練次數(shù)t; S24,當(dāng)t小于T時,重復(fù)執(zhí)行所述步驟S22和S23,直到t等于T,固定次數(shù)為T次,其中,T為正整數(shù),賦予每一個存儲的弱分類器一個權(quán)重值α,所述弱分類器的錯誤率為ε 預(yù)設(shè)閾值為Ρ,將所述權(quán)重值α大于P對應(yīng)的弱分類器加權(quán)投票,得到最終的強分類器和所述 強分類器的權(quán)重和參數(shù),其中,P在〇至1之間。4. 如權(quán)利要求3所述的用戶退課行為預(yù)測方法,其特征在于,所述權(quán)重值的調(diào)整原則 為:加大/減小被上次存儲的分類器分類錯誤/正確的樣本的權(quán)重值,并再次找到分類錯誤 率最低的那個分類器存儲起來。5. 如權(quán)利要求3所述的用戶退課行為預(yù)測方法,其特征在于,所述訓(xùn)練集為(X1, y〇,...,(XN,yN),其中,yie {1,-1} 為正確的類別標簽,所述訓(xùn)練集的樣本的初始分布為其中,i = l,. . .,N,計算弱分類器ht:X-{-l,1},對t=l,. . .,T,其中,T為循環(huán)次 數(shù),所述弱分類器在分布Dt上的誤差為:6 = A仏(Xi) H丨,計算所述弱分類器的權(quán)重:,更新所述訓(xùn)練集的樣本的分布:,其中Zt為 歸一化常數(shù),如果at〈P,更新:at = 0,最后的強分類器為:6. -種用戶退課行為預(yù)測裝置,其特征在于,包括: 獲取模塊,用于獲取基于用戶日志的用戶行為、基于用戶論壇行為的社交關(guān)系以及基 于時間序列的用戶行為作為訓(xùn)練集; 集成學(xué)習(xí)模塊,用于選擇部分弱分類器分別對所述訓(xùn)練集進行集成學(xué)習(xí)得到強分類器 和所述強分類器的權(quán)重和參數(shù); 測試模塊,用于根據(jù)所述強分類器的權(quán)重和參數(shù)對測試集進行測試,輸出測試結(jié)果。7. 如權(quán)利要求6所述的用戶退課行為預(yù)測裝置,其特征在于,所述部分弱分類器包括: SVM、Logistic RegressioruadaboostMl,、KNN、PosKNN和Attribute WKNN08. 如權(quán)利要求6所述的用戶退課行為預(yù)測裝置,其特征在于,所述集成學(xué)習(xí)模塊包括:: S21,賦予所述訓(xùn)練集中的每個樣本同樣大小的初始權(quán)重值,權(quán)重向量記為D; 522, 選擇部分弱分類器分別對所述訓(xùn)練集進行訓(xùn)練,并計算弱分類器的分類錯誤率并 選擇所述分類錯誤率最低對應(yīng)的所述弱分類器存儲,其中,所述分類錯誤率是未被正確分 類的樣本數(shù)目占所有數(shù)目的比例; 523, 調(diào)整所述每個樣本的權(quán)重值,并在同一個訓(xùn)練集上再次訓(xùn)練,并找到分類錯誤率 最低對應(yīng)的所述弱分類器存儲并記錄訓(xùn)練次數(shù)t; S24,當(dāng)t小于T時,重復(fù)執(zhí)行所述步驟S22和S23,直到t等于T,固定次數(shù)為T次,其中,T為 正整數(shù),賦予每一個存儲的弱分類器一個權(quán)重值α,所述弱分類器的錯誤率為ε,,預(yù)設(shè)閾值為Ρ,將所述權(quán)重值α大于ρ對應(yīng)的弱分類器加權(quán)投票,得到最終的 強分類器和所述強分類器的權(quán)重和參數(shù),其中,P在〇至1之間。9. 如權(quán)利要求8所述的用戶退課行為預(yù)測裝置,其特征在于,所述權(quán)重值的調(diào)整原則 為:加大/減小被上次存儲的分類器分類錯誤/正確的樣本的權(quán)重值,并再次找到錯誤率最 低的那個分類器存儲起來。10. 如權(quán)利要求8所述的用戶退課行為預(yù)測裝置,其特征在于,所述訓(xùn)練集為(X1, y〇,...,(XN,yN),其中,yie {1,-1} 為正確的類別標簽,所述訓(xùn)練集的樣本的初始分布為,其中,i = l,. . .,N,計算弱分類器ht:X-{_l,1},對t=l,. . .,T,其中,T為循環(huán)次 數(shù),所述弱分類器在分布Dt上的誤差為:£·,=仏μ, j,計算所述弱分類器的權(quán)重:.更新所述訓(xùn)練集的樣本的分布:,其中Zt為 歸一化常數(shù),如果at〈P,更新:at = 0,最后的強分類器為:
【文檔編號】G06K9/62GK105930875SQ201610292389
【公開日】2016年9月7日
【申請日】2016年5月5日
【發(fā)明人】唐杰, 張茜, 劉德兵
【申請人】清華大學(xué)