吳晶晶
摘要:早在1989年Barry Litman建立了第一個電影預(yù)測模型,隨著電影市場和互聯(lián)網(wǎng)的迅速發(fā)展,運用大數(shù)據(jù)理念,電影票房預(yù)測系統(tǒng)應(yīng)運而生。它是考察影響電影票房的諸多因素基礎(chǔ)上,采用回歸統(tǒng)計分析方法研發(fā)出的預(yù)測系統(tǒng)。電影定檔后正式海報會在線上/線下宣傳,觀眾會通過海報圖像上提供的信息來決定是否買票觀看電影。預(yù)測系統(tǒng)收集最近10年的電影數(shù)據(jù),根據(jù)提交海報生成的特征,并分類到相似海報的已上映影片,根據(jù)相似海報的電影票房數(shù)據(jù)進(jìn)行多元回歸分析來預(yù)測該電影的票房收入。
關(guān)鍵詞:回歸統(tǒng)計分析;票房預(yù)測;多元回歸;電影預(yù)測模型
1概述
本課題研究內(nèi)容主要基于機(jī)器學(xué)習(xí)技術(shù)設(shè)計并實現(xiàn)電影票房預(yù)測系統(tǒng)。主要貢獻(xiàn)包括三部分:1,基于機(jī)器學(xué)習(xí)的電影票房預(yù)測系統(tǒng)的體系結(jié)構(gòu)和實現(xiàn);2,基于深度學(xué)習(xí)的電影特征抽取方法;3,基于回歸分析的電影票房預(yù)測方法,預(yù)測未上映的電影中國票房收入。
2電影票房預(yù)測系統(tǒng)結(jié)構(gòu)
電影票房預(yù)測系統(tǒng)如圖1所示,該系統(tǒng)分為三個模塊:1,電影海報與票房數(shù)據(jù)處理模塊。2,基于深度學(xué)習(xí)的海報圖像特征抽取模塊。3,基于線性回歸的電影票房預(yù)測模塊。
2.1電影海報與票房數(shù)據(jù)處理
數(shù)據(jù)源來自CBO中國票房網(wǎng)、時光網(wǎng)、imdb等電影相關(guān)的在線服務(wù)網(wǎng)站。用Python語言設(shè)計并實現(xiàn)一個數(shù)據(jù)收集與處理程序,該程序從互聯(lián)網(wǎng)電影信息網(wǎng)站爬取電影信息(電影名稱、海報圖像、上映時間、總票房、評分),并保存到關(guān)系型數(shù)據(jù)庫(MySQL5.7)中。
2.2基于深度學(xué)習(xí)的海報圖像特征抽取方法
用VGG16來訓(xùn)練神經(jīng)網(wǎng)絡(luò),選擇某一層次作為特征向量,即可描述數(shù)據(jù)集中的電影概貌。在系統(tǒng)設(shè)計中,選擇使用基于Keras的深度學(xué)習(xí)框架提升訓(xùn)練神經(jīng)網(wǎng)絡(luò)的效率。利用訓(xùn)練結(jié)果得到的特征向量計算余弦相似性,得到相似海報,最后找到同類電影。
2.3基于線性回歸的電影票房預(yù)測方法
深度神經(jīng)網(wǎng)絡(luò)自動提取的電影海報特征不一定是人類可直觀理解的特征。根據(jù)海報提取的特征,對此分類。
回歸分析是機(jī)器學(xué)習(xí)一種預(yù)測性的建模技術(shù),它研究的是因變量(目標(biāo))和自變量(預(yù)測器)之間的關(guān)系。這種技術(shù)通常用于發(fā)現(xiàn)兩個或多個變量之間的因果關(guān)系:1,表明自變量(年份/評分等)和因變量(票房收入)之間的顯著關(guān)系;2,表明多個自變量對一個因變量的影響強(qiáng)度。
1,根據(jù)電影A的海報提取的電影特征進(jìn)行聚類,計算同類電影的票房均值。 ,其中,A是電影A的票房均值,p是第k部電影與電影a的相似度,v是第k部電影的票房)。
2,獲取到該類電影票房均值(Y),年份(X)的樣本數(shù)據(jù)。
3,利用回歸分析找到一條擬合線,從而預(yù)測下一年的電影票房均指作為此電影的票房預(yù)測。
線性回歸是機(jī)器學(xué)習(xí)最重要的算法之一,通過擬合最佳直線來建立自變量和因變量的關(guān)系?;貧w線用Y=m*X+b來表示,這條直線能以最小的誤差(Loss)來擬合數(shù)據(jù)。
找最佳擬合直線時,如果因變量y與自變量x的關(guān)系為非線性的,但是又找不到適當(dāng)?shù)暮瘮?shù)曲線來擬合,則可以采用一元多項式回歸。
二元則采用梯度下降法求解方程組。在多維特征中,要保證特征具有相近的尺度,這將幫助梯度下降算法更快地收斂。解決的方法是嘗試將所有特征的尺度都盡量縮放到-1到1之間,最簡單的方法就是(X-mu) /sigma,其中mu是平均值,sigma是標(biāo)準(zhǔn)差。損失函數(shù)和單變量一樣,依然計算損失平方和均值。和單變量線性回歸問題中一樣,是要找出使得代價函數(shù)最小的一系列參數(shù)。
3實驗
類1海報電影票房預(yù)測:
1,把年月份換算成小數(shù)表示Y=year+mouth/13如2017年4月用數(shù)字2017.31表示。載入matplotlib庫后,用pandas讀取數(shù)據(jù)存儲的.csv,寫一個函數(shù)把數(shù)據(jù)轉(zhuǎn)換為X值(年月份)、Y值(票房總收入/萬元)。
2,線性回歸分析,其中predict_year為要預(yù)測的年份,函數(shù)返回對應(yīng)的票房收入。構(gòu)造回歸圖像,獲取預(yù)測值,構(gòu)造返回字典:定義截距值、回歸系數(shù)、預(yù)測值。
3,構(gòu)造回歸對象,繪出已知數(shù)據(jù)散點圖和預(yù)測直線,獲取預(yù)測值2018,輸出結(jié)果為112052.45751675萬元。
預(yù)測類1海報的電影2018年上映票房收入為12052.5萬元。實際電影復(fù)仇者聯(lián)盟3:無限戰(zhàn)爭2018年累計票房為236490.5萬元。從直線上看該類電影票房呈逐年上升趨勢。
4,多項式線性回歸是是一種特殊的線性回歸,直觀地解釋是根據(jù)樣本點去擬合一條多項式曲線。
degree是多項式中自變量x的階數(shù)。雖然其圖形經(jīng)過了大部分的點,但會存在擬合過度(over-fitting)的情況,并沒有從輸入和輸出中推導(dǎo)出一般的規(guī)律,而是記憶訓(xùn)練集的結(jié)果,并沒有實際的參考價值。
5,定義年月份為x1、評分為x2,向量x=(x1,x2),y為票房收入,進(jìn)行二元回歸分析。例如:x=[2017.54,7.2],y=[567886.1]。
6,對數(shù)據(jù)特征的尺度都盡量縮放到-1和1之間,輸出x,均值,標(biāo)準(zhǔn)差:
計算損失平方和均值,轉(zhuǎn)化為向量化計算
對theta求導(dǎo),套入迭代公式,并存儲歷史誤差
預(yù)處理設(shè)置迭代次數(shù)和學(xué)習(xí)率
7,預(yù)測年份為2018,分?jǐn)?shù)為8.1,x=[2018,8.1],使用模型預(yù)測結(jié)果,計算y。輸出結(jié)果為13067.68萬元。從預(yù)測結(jié)果上看二元回歸分析比一元線性回歸更接近實際票房數(shù)值。
4總結(jié)與展望
電影票房預(yù)測系統(tǒng)在實際中具有實際意義,它能分析預(yù)測不同種類電影的票房價值,成為電影產(chǎn)業(yè)投融資重要參考工具,對電影產(chǎn)品定價及衍生產(chǎn)品開發(fā)都具有較強(qiáng)的指導(dǎo)作用。在實驗中遇到許多問題,如:時光網(wǎng)電影海報有多張:預(yù)告海報、角色海報、國外海報等,每類海報差異巨大,會影響下一步的海報特征抽取,本課題以網(wǎng)站標(biāo)簽為中國正式海報為準(zhǔn)進(jìn)行抓取。VGG16抽取特征后可能會出現(xiàn)聚類不明顯的情況,還需對數(shù)據(jù)進(jìn)行降噪、過濾處理,增加神經(jīng)網(wǎng)絡(luò)訓(xùn)練次數(shù)。電影市場潛力巨大,隨著模型的不斷完善,也會應(yīng)用到其他領(lǐng)域。
參考文獻(xiàn):
[1]袁璐,沈浩.基于深度學(xué)習(xí)的電影海報推薦系統(tǒng)[J].現(xiàn)代電影技術(shù),No.05/2018
[2]鄭堅,周尚波.基于神經(jīng)網(wǎng)絡(luò)的電影票房預(yù)測建模[J].計算機(jī)應(yīng)用,2014,34(3):742-748.
[3]胡曉紅、王紅.基于多元線性回歸的電影票房預(yù)測研究[J].信息技術(shù)與信息化,1672-9528.2018.h2.048