亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于集成學習的電影票房預測

        2023-08-23 08:19:00張濤陳瀟瀟
        電子制作 2023年14期
        關鍵詞:特征優(yōu)化模型

        張濤,陳瀟瀟

        (北方工業(yè)大學, 北京,100144)

        0 引言

        隨著社會經(jīng)濟的發(fā)展,社會生活水平提高,看電影已經(jīng)成為一項主要的娛樂活動。據(jù)國家統(tǒng)計局統(tǒng)計,2021中國票房近470億,幾乎是2019年中國票房的5倍[1]。盡管大多數(shù)公司都想從這個巨大的市場中分一杯羹,但只有幾部熱門電影實現(xiàn)了盈利,其他電影則在虧損[2]。因此,如何準確地預測電影票房,降低投資風險,避免公司因投資失敗而遭受巨大損失已成為亟需解決的問題。

        隨著人工智能技術(shù)的快速發(fā)展,越來越多的學者將機器學習等數(shù)據(jù)挖掘技術(shù)應用于電影票房預測中,郭萱[3]以2014年-2016年的173部影片為研究對象,引入了基于條件推斷樹的隨機森林模型對電影票房進行預測,研究結(jié)果表明,基于條件推斷樹的隨機森林預測模型比傳統(tǒng)的隨機森林預測模型準確度更高。楊朝強[4]分別訓練了LSTM模型和BP神經(jīng)網(wǎng)絡模型,得出了LSTM模型的平均相對誤差比BP神經(jīng)網(wǎng)絡模型的平均相對誤差要低的結(jié)論。李振興[5]的研究結(jié)果表明,演員是影響電影票房的關鍵因素。甘雨涵[6]爬取了2016年全年在國內(nèi)上映的150部電影的豆瓣評論信息,通過分析評論中的情感傾向,證明了口碑對電影票房的重要性。

        在前人研究的基礎上,本文首先分別建立了XGBoost、LightGBM、CatBoost、隨機森林(Random Forest)和支持向量回歸(support vector Regression)票房預測模型,并通過optuna框架對五個票房預測模型的超參數(shù)進行優(yōu)化,提高單個票房預測模型的預測精確度;然后,使用測試集,通過加權(quán)stacking算法進行了電影票房預測,并與傳統(tǒng)的票房預測模型進行了對比,驗證了模型的有效性。

        1 相關工作

        ■1.1 評價指標

        為了有效評估模型的預測效果,本文采用了平均絕對百分比誤差(MAPE)、均方誤差 (MSE)、均方根誤差(RMSE)以及kaggle上的評分這四項指標作為模型評價指標。

        平均絕對百分比誤差(MAPE)表示的是真實值與預測值之差的絕對值占真實值之比。MAPE值越小,模型預測效果越好。具體公式如下:

        式中:n為樣本數(shù),為預測值,yi為真實值。

        均方誤差(MSE)是指預測值與真實值的距離的平方和的平均數(shù),MSE的值越小,模型預測效果越好,具體公式如下:

        均方根誤差(RMSE)是均方誤差的算數(shù)平方根,RMSE的值越小,模型預測效果越好,具體公式如下:

        Kaggle上的評分是指當用戶提交對測試集的預測結(jié)果時,kaggle對測試集的預測結(jié)果的打分,kaggle上的評分越低,排名越靠前,模型預測效果越好。

        ■1.2 Optuna框架

        Sklearn 的GridSearchCV函數(shù)可通過網(wǎng)格搜索與交叉驗證的方式來進行超參數(shù)優(yōu)化,但由于其會遍歷給定范圍內(nèi)的所有超參數(shù)組合,所以非常耗時,特別是當超參數(shù)的數(shù)量增長時,網(wǎng)格搜索的時間復雜度將呈現(xiàn)指數(shù)增長。

        Optuna 是一個完全用 Python 編寫的自動超參數(shù)調(diào)整框架。專為機器學習而設計,可以與 PyTorch、TensorFlow、Keras、SKlearn 等其他框架一起使用。

        Optuna 的優(yōu)化程序中只有三個核心的概念,分別為目標函數(shù)(objective),單次試驗(trial),和研究(study)。其中目標函數(shù)負責定義待優(yōu)化函數(shù)并指定超參數(shù)范圍,單詞試驗對應著目標函數(shù)的單次執(zhí)行,而研究則負責管理優(yōu)化,決定優(yōu)化的方式,記錄總試驗的次數(shù)、試驗結(jié)果等。

        ■1.3 傳統(tǒng)stacking算法介紹

        stacking 算法一般采用兩層結(jié)構(gòu),第一層的學習器被稱作初級學習器,也被稱為基學習器,常用作對經(jīng)過處理后的原始樣本的訓練和預測,第二層的學習器為次級學習器,也被稱為元學習器,用于結(jié)合第一層的驗證集與測試集的預測結(jié)果再次進行學習。

        Stacking算法能夠結(jié)合每個基學習器的優(yōu)點,提高模型的整體預測精度。Stacking算法的流程圖如圖1所示,假設第一層有兩個基學習器,每個基學習器分別對原始訓練集進行訓練, 得到驗證集的預測結(jié)果v1 和v2。對整個測試集的進行五次預測,將結(jié)果進行相加取平均得到測試集結(jié)果T1和T2。水平連接V1和V2得到新訓練集TrainNew,水平連接T1和T2得到新的測試集Testew,將新訓練集Trainnew與原始訓練集一同放入元學習器中進行訓練,將最終所得的元學習器對TestNew進行測試后即可得到測試集的最終預測結(jié)果。

        圖1 stacking算法的流程圖

        ■1.4 改進stacking算法介紹

        在傳統(tǒng)stacking算法中,在第二層進行集成時,僅僅是將測試集的預測結(jié)果進行的平均處理,這樣會平均掉表現(xiàn)好的模型的訓練結(jié)果。因此,可對次級學習器的每一折預測結(jié)果進行加權(quán)處理,從而提高模型在測試集上的表現(xiàn),具體的示意圖如圖2所示,其中wi即為權(quán)值,權(quán)值為每一折驗證集的預測值與真實值的誤差,wi的計算方式如公式(4)所示,式中mape的定義如公式(1)所示。

        圖2 次學習器中精度加權(quán)的改進

        2 數(shù)據(jù)預處理

        本文選取的是Kaggle競賽中的數(shù)據(jù),數(shù)據(jù)來自于TMDB電影數(shù)據(jù)庫,數(shù)據(jù)集共有9399條,其中有5001條訓練集數(shù)據(jù),4398條測試集數(shù)據(jù)。數(shù)據(jù)集共包括電影Id、系列電影名、電影預算、電影類型、電影官方主頁、TMDB官網(wǎng)id、原始語言、電影原始名稱、電影簡介、流行程度、海報鏈接、出品公司、出品國家、發(fā)行日期、電影時長、電影語言、電影狀態(tài)、宣傳語、電影名稱、電影關鍵詞、演員、導演和電影總收入這二十三個特征。其中,電影總收入為預測目標變量。

        由于Kaggle提供的數(shù)據(jù)為未經(jīng)過處理的原始數(shù)據(jù),其中包含有文本類型的數(shù)據(jù),不能將其直接輸入模型訓練,需要進行數(shù)據(jù)預處理,數(shù)據(jù)預處理包括正態(tài)化處理、數(shù)值化處理以及標準化處理。

        (1)正態(tài)化處理

        正態(tài)化處理是指將不符合正態(tài)分布的特征數(shù)據(jù)轉(zhuǎn)換成符合正態(tài)分布的特征數(shù)據(jù)。該數(shù)據(jù)集包含有電影預算和電影總收入這兩個不符合正態(tài)分布的特征,正態(tài)化處理方式有指數(shù)變換、對數(shù)變換、Box-cox變換等,需要根據(jù)數(shù)據(jù)的不同情況進行選擇,通常采用指數(shù)變換將左偏數(shù)據(jù)的數(shù)值較大的數(shù)據(jù)點間的距離增大,采用對數(shù)變換將右偏數(shù)據(jù)的數(shù)值較大的數(shù)據(jù)點間的距離縮小,而Box-cox變換既可以處理左偏數(shù)據(jù),也可以處理右偏數(shù)據(jù)。本文使用的是對數(shù)變換對電影預算和電影總收入進行轉(zhuǎn)換,使分布不均的數(shù)據(jù)服從正態(tài)分布。

        (2)數(shù)值化處理

        數(shù)值化處理是指將類別型特征和文本型特征轉(zhuǎn)換成數(shù)值型特征,該數(shù)據(jù)集共包含有11個類別型特征,分別包括系列電影名、電影類型、電影官方主頁、出品公司、出品國家、電影語言、電影狀態(tài)、電影名稱、電影關鍵詞、演員、導演。該數(shù)據(jù)集有三個文本型特征,分別包括電影簡介、發(fā)行日期和宣傳語。

        獨熱編碼,又稱一位有效編碼,是使用M位狀態(tài)寄存器對M個狀態(tài)進行編碼的方式,每個狀態(tài)都有它獨立的寄存器位,并且在任意時刻,這些寄存器位中只有其中一位有效。獨熱編碼能將類別型特征的取值擴展到歐式空間,有效擴充了特征,使特征之間的距離計算更合理。經(jīng)過獨熱編碼,系列電影名、電影類型、電影官方主頁等11個類別型特征一共轉(zhuǎn)換成了113個數(shù)值型特征。

        而對于電影簡介和宣傳語這兩個特征來說,將對應文本的長度作為特征的量化值;對于發(fā)行日期這個特征來說,將具體的年、月、日作為其量化值。

        (3)標準化處理

        標準化處理是指通過一定的數(shù)據(jù)變換方式,將數(shù)據(jù)落入到特定區(qū)間內(nèi),使結(jié)果更具有可比性。標準化的處理方式有極差標準化法,即min-max標準化法、Z-score標準化法、歸一化法、中心化法。本文采用的是min-max標準化法,該方法的具體轉(zhuǎn)換公式如下。

        式中x′為轉(zhuǎn)換后的數(shù)據(jù),min為原始數(shù)據(jù)的最小值,max為原始數(shù)據(jù)的最大值,x為原始數(shù)據(jù)。

        刪除了電影Id、TMDB官網(wǎng)Id、原始語言、原始名稱、海報鏈接這五個無關特征后,最終形成了一共包含有9399條數(shù)據(jù),143個特征的數(shù)據(jù)集。

        3 實驗

        對于第一層的初級學習器來說,搭建模型的主要任務即是進行模型的超參數(shù)優(yōu)化,常用的超參數(shù)的優(yōu)化方法有網(wǎng)格搜索、隨機搜索、貝葉斯優(yōu)化等, Optuna優(yōu)化框架支持以上所有優(yōu)化方法,因此本文選用了Optuna框架對模型的超參數(shù)進行優(yōu)化。

        (1)基于XGBoost的票房預測模型

        基于XGBoost的電影票房預測模型的主要超參數(shù)有max_depth, subsample, colsample_bytree和learning_rate,max_depth為XGBoost中樹的最大深度,max_depth的值越大,樹越復雜,模型學習的更加具體,系統(tǒng)默認值為6,一般設置在3~10之間。subsample為XGBoost中每棵樹隨機選擇樣本的比率,系統(tǒng)默認值為1,范圍在 (0,1]之間。colsample_bytree是構(gòu)建每棵樹時隨機選擇特征的比例,系統(tǒng)默認值為1,范圍在在(0,1]之間。learning_rate為每一步迭代的步長,默認值為0.3,一般設置為0.1。

        根據(jù)Optuna優(yōu)化框架得到的基于XGBoost的票房預測模型的主要超參數(shù)如表1所示。

        表1 XGBoost模型的超參數(shù)表

        (2)基于LightGBM的電影票房預測模型

        基于LightGBM的電影票房預測模型的主要超參數(shù)有num_leaves, min_data_in_leaf, max_depth, learning_rate 。nums_leaves為LightGBM中每棵樹上的葉子節(jié)點的個數(shù),默認值為31,增大num_leaves的值能提高模型預測的準確率,但過高會導致模型過擬合。min_data_in_leaf為LightGBM中一個葉子節(jié)點上的最小樣本數(shù),默認值為20,增大min_data_in_leaf可以防止過擬合。與XGBoost類似,max_depth為樹的最大深度,learning_rate為學習率。

        根據(jù)Optuna優(yōu)化框架得到的基于LightGBM的票房預測模型的主要超參數(shù)如表2所示。

        表2 LightGBM模型的超參數(shù)表

        (3)基于CatBoost的電影票房預測模型

        基于CatBoost的電影票房預測模型的主要超參數(shù)有iterations, learning_rate, depth, bagging_temperature。與XGBoost類似,iterations為可以建立的樹的數(shù)目,learning_rate為學習率,depth為樹的深度,bagging_temperature為貝葉斯套袋控制強度,默認值為1。

        根據(jù)Optuna優(yōu)化框架得到的基于CatBoost的票房預測模型的主要超參數(shù)如表3所示。

        表3 CatBoost4模型的超參數(shù)表

        (4)基于支持向量回歸的票房預測模型

        在使用rbf作為核函數(shù)的情況下,基于支持向量回歸的票房預測模型的主要超參數(shù)有g(shù)amma和C。其中,gamma決定了數(shù)據(jù)集映射到新的特征空間后的分布,gamma越大,支持向量越少。gamme越小,支持向量越多C是模型的正則化系數(shù),默認值為1.0,主要用來防止模型過擬合,C值越大,對模型的懲罰越高,泛化能力越弱,即造成了過擬合。反之,C值越小,對模型的懲罰越低,泛化能力越強,即造成欠擬合。

        根據(jù)Optuna優(yōu)化框架得到的基于支持向量回歸的票房預測模型的主要超參數(shù)如表4所示。

        表4 基于支持向量回歸的票房預測模型的超參數(shù)表

        (5)基于隨機森林的票房預測模型

        基于隨機森林的票房預測模型的主要超參數(shù)有n_estimators, max_depth, min_samples_leaf和max_features。與XGBoost類似,max_depth 為決策樹的最大深度,n_estimators為決策樹的個數(shù), min_samples_leaf為葉子節(jié)點所需的最小樣本數(shù),默認值為1,若葉子節(jié)點樣本數(shù)小于min_samples_leaf,則對該葉子節(jié)點和兄弟葉子節(jié)點進行減枝,只留下該葉子節(jié)點的父節(jié)點。max_feature為構(gòu)建決策樹最優(yōu)模型時考慮的最大特征數(shù)。

        根據(jù)Optuna優(yōu)化框架得到的基于隨機森林的票房預測模型的主要超參數(shù)如表5所示。

        表5 基于隨機森林的票房預測模型的超參數(shù)表

        (6)基于改進stacking算法的票房預測模型

        在對以上五個模型進行集成時,本文選用的是嶺回歸算法進行集成。分別記錄下每折驗證集真實值與預測值的差異,對對應測試集的結(jié)果進行加權(quán),即得到最終預測結(jié)果。

        將本文提出的基于改進stacking算法的票房預測模型與基于XGBoost、LightGBM、CatBoost 、隨機森林、支持向量回歸、傳統(tǒng)stacking算法的票房預測模型的實驗結(jié)果進行對比,最終結(jié)果如表6所示。

        表6 不同算法的指標對比

        從表6中可以看出,單個模型中,基于XGBoost的票房預測模型性能最好,而基于傳統(tǒng)Stacking算法的票房預測模型的性能優(yōu)于單個模型的性能,基于改進stacking算法的票房預測模型性能又優(yōu)于基于傳統(tǒng)stacking算法的票房預測模型,可見改進stacking算法能充分挖掘和利用數(shù)據(jù)信息,在模型之間取長補短,最終取得更好的效果。

        4 總結(jié)與展望

        針對電影票房預測模型精確度低的問題,本文提出了一種對測試集加權(quán)的stacking算法,對 kaggle提供的TMDB電影票房數(shù)據(jù)集進行了預測。首先,分別訓練了第一層的XGBoost、LightGBM。CatBoost、支持向量回歸和隨機森林電影票房模型,并使用了Optuna參數(shù)優(yōu)化框架找到了模型的最優(yōu)超參數(shù),優(yōu)化了模型;然后,在對第一層的模型進行集成時,第二層使用了對測試集加權(quán)的嶺回歸算法。實驗結(jié)果表明,與其他算法所搭建的電影票房預測模型相比,基于對測試集加權(quán)的改進stacking算法所搭建的模型對電影票房的預測更加準確,效果更好。因此,本文的方法可以對投資公司進行電影票房預測提供有效的參考。然而,本文中使用的電影票房數(shù)據(jù)有限,將來需要更多的數(shù)據(jù)來構(gòu)建魯棒性更強的票房收入預測模型。

        猜你喜歡
        特征優(yōu)化模型
        一半模型
        超限高層建筑結(jié)構(gòu)設計與優(yōu)化思考
        民用建筑防煙排煙設計優(yōu)化探討
        關于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        如何表達“特征”
        不忠誠的四個特征
        當代陜西(2019年10期)2019-06-03 10:12:04
        抓住特征巧觀察
        99久久久久国产| 亚洲色大成网站www久久九| 日本免费精品一区二区| 97超碰精品成人国产| 国产美女高潮流白浆免费视频| (无码视频)在线观看| 国产精品久久久久乳精品爆| 国产精品_国产精品_k频道w| 无码人妻精品一区二区三18禁| 99热在线精品播放| 精品理论一区二区三区| 国产女主播大秀在线观看| 久久精品国产免费一区二区三区| 日本在线精品一区二区三区| 人人妻人人做人人爽| 欧美性狂猛xxxxx深喉| 国产精品精品| 亚洲成a人片在线观看中文!!!| 国产精品乱子伦一区二区三区 | 国产91在线精品福利| 无码久久精品蜜桃| 久久久99精品国产片| 人妻在线有码中文字幕| 人妖av手机在线观看| 久久久久亚洲av无码专区喷水| 亚洲av成人中文无码专区| 欧美成人www免费全部网站| 国产盗摄XXXX视频XXXX| 亚洲一区二区三区麻豆 | 国产 无码 日韩| 99久久久69精品一区二区三区| 亚洲精品有码日本久久久| 国产免费又爽又色又粗视频| 51国偷自产一区二区三区| 国产成+人+综合+亚洲专| 国产人妖赵恩静在线视频| 国产精品高清国产三级国产av | 久久久精品人妻一区二区三区四| 手机在线精品视频| 青青青草国产熟女大香蕉| 91精品国产色综合久久|