席一鍇
(江蘇省新海高級中學,江蘇連云港,222000)
隨著我國經濟的快速發展,人們的生活水平穩步提升,在追求物質生活的同時,也不斷追求著精神層面的滿足,觀看電影是當下大眾消遣娛樂的基本形式,好的影視作品不僅能帶來歡樂,也能帶來不錯的票房促進影視企業的發展。據統計,2018年我國電影票房高達417億美元,電影行業比以往任何時候都更受歡迎,每年的內地影市,都有五六百部影片上映。雖然影片的票房不能代表一切,但是票房收入則是衡量一部商業片是否成功的最重要的指標,沒有之一。了解電影票房的影響因素,有利于企業提前做好預判,有效抵御風險,因此對于電影票房的預測顯得格外重要。80年代,美國的BarryLitman提出了票房收入預測模型,該模型能分析預測不同種類電影的票房價值,對之后美國電影投資界產生了顛覆性的影響。2012年我國企業也研究推出第一套票房預測系統,推動了我國影視產業的進一步發展。本文利用線性回歸及xgboost算法,建立電影票房預測模型,取得了良好的實驗結果。
本文研究意義如下:
(1)本文根據理論證明了相關電影票房預測模型的可用,證明了基于機器學習的預測模型的可行性,以及基于電影市場各種復雜因素進行預測的效果。
(2)為以后制作一款電影票房預測系統提供制作算法,制作理念和制作核心,為以后開發一個完整的電影票房預測系統做基礎。
(3)鼓勵電影從業者打造出符合大眾審美的具有良好社會影響力的影視文化作品,提高國內影視產業水平。
機器學習可以使計算機模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的算法。機器學習能夠讓計算機實現數據驅動的決策,是人工智能的核心。利用機器學習,可以迅速的訓練出預測模型,應用到實際場景中。在電影票房的預測中,我們能在一定的數據集中挖掘出影響一部電影票房的潛在影響因素,發現并總結出電影各種特征的內在聯系,從而適用于現實世界的真實場景進行票房預測,并對行業發展起到一定的指導作用。本文討論的票房預測適用于機器學習中的回歸問題,我們將采用相應的回歸算法嘗試建立模型擬合真實場景。
回歸算法是機器學習中最常用的算法之一,分為線性回歸和邏輯回歸,在本文的業務場景中,我們需要通過數據分析一部電影的票房走勢,即最終預測出一部電影的總票房收入,這是典型的回歸模型。我們需要通過數據特征,諸如一部電影的多種信息來探索影響票房的因素,從而建模進行票房預測。在回歸問題中,實際上是我們在建立數學方程對數據進行擬合的一個過程,我們利用機器學習通過大量數據進行學習的特點,不斷讓計算機通過建立好的回歸模型不斷優化和調節模型參數,從而達到預測值越來越接近真實值的目的。通過不斷的迭代更新,最終我們可以利用算法模型得到一個能夠近似反映真實世界規律的模型,這也就是本文中我們的目標。
我們已經知道票房預測是一個典型的回歸問題,我們可以嘗試一些基本的回歸問題模型來對數據進行建模。相關的模型有很多,并且對每個模型,當嘗試不同的參數,所表達出來的效果也是千差萬別。這時候,我們要考慮的不僅僅是要構建模型,而且還需要對我們建立好的模型進行準確的評估,因為一個預測效果和真實情況差距很大的模型,或者是不穩定的模型都是遠遠不夠甚至是包含風險的。
在機器學習算法的評估中,我們利用損失函數來評估建立好的模型。損失函數可以衡量模型預測的好壞,用來表現預測與實際數據的差距程度。通常損失函數最小,對應模型參數最優。比如在線性回歸中,實際值和預測值肯定會有誤差,那么我們找到一個函數表達這個誤差就是損失函數。比如在本研究中,根據機器學習算法進行的電影票房預測難免與實際票房存在差距。機器所給出的票房是預測值,而電影實際在市場中所取得的票房就是實際值。通過模型和損失函數來進行模型構建的流程圖如圖1所示。

圖1 模型構建
上文已經提到,我們完成模型的初步構建之后將會尋求一個用于評估模型是否接近真實物理模型的函數表達式,即損失函數。我們希望在模型訓練的過程中最小化這個損失,一旦我們可以找到一個全局的最小損失,也將意味著模型達到了一個比較好的效果。
機器學習模型訓練中由于涉及到大量的高維度數據,數學模型十分復雜,我們很難直接求得損失函數的這個最小值,因此一般我們采用多次迭代不斷接近的方式去逼近這個最優解。這種方式即為梯度下降算法,也稱為最速下降法。它在機器學習中應用非常廣泛,主要通過不斷迭代找到最小值,或者逼近最小偏差。
梯度下降算法如同下山,每走一步需要進行計算當前位置的梯度,沿著梯度負方向,進一步向下走。所以通過不斷的迭代計算,就可以找到令損失函數最小化的參數,確定最優模型,用梯度下降算法循環更新模型參數,就可以找到一組最優參數,使損失函數得到一個接近最優解的結果,通過這組比較好的參數,我們可以構建一個接近真實的模型。
本實驗數據集來源于電影數據庫TMDB,在這個數據集中包括7398部電影和從電影數據庫(TMDB)獲得的各種元數據。數據特征包括演員陣容、攝制組、劇情關鍵詞、預算、海報、上映日期、語言、制片公司和國家等相關信息。
我們首先對數據集進行預處理,預處理是機器學習建模的關鍵步驟,我們需要在預處理過程中將拿到的數據進行一定的清洗和篩選,并轉換為我們的算法模型能夠識別的數據類型。針對缺失值的數據,我們采用均值填充,即取其所在列中的其他數據的平均值來代替,而對離散型數據則采用眾數填充。
在進行簡單的處理之后,我們對數據的幾個主要特征進行了探索,通過可視化工具我們觀察了特征之間的相關性,以及我們的預測標簽revenue(票房收入)與特征之間的關系。

圖2 預算,網站投票數與票房收入分布圖
我們通過類似的方式對數據特征進行了一些探索,發現預算,投票數,電影主題,演員等幾類特征和票房收入是正相關的,同時我們也篩選出了一些沒有顯著正相關的特征進行舍棄,如電影ID,語言等影響比較小或者比較不具備規律性的特征。通過圖3的特征相關性我們認為特征之間沒有顯著的關聯性,故認為不存在特征相似性過大的冗余特征

圖3 特征之間的相關性
數據的預處理及數據分析之后,我們接下來可以對數據進行機器學習算法建模,本實驗數據集相對較小(訓練集4398,測試集3000),我們先后嘗試簡單的回歸預測模型線性回歸,以及各種時下比較流行的集成算法如xgboost,lightGBM,模型的訓練結束之后我們采用均方誤差對預測結果進行了測試,結果如下:
LightGBM MSE: 1.8184;xgboost MSE:1.8320;linear model MSE:1.8819。
集成算法模型相對較為復雜,在大多數時候具有較好的效果,線性回歸模型相對來說較為簡單,并且從實驗結果來看效果雖然略微弱于集成算法,但也具備了良好實驗效果,因此具體的模型選擇還需要結合業務場景。
本論文基于機器學習算法建立了對實際場景下的電影票房預測模型,在構建模型的過程中通過對TMDB數據集進行了詳細的分析和處理,并建立回歸模型進行了預測并得到了較好的效果。我們的模型尚可發掘更多的信息,比如我們可以在模型建立完成之后進一步查看分析特征的重要程度,這也能夠指導我們在實際場景中對票房收入有更完善的理解。我們也可進一步調整模型并適用于更大規模和復雜的數據集上,得到更為全面的預測功能,使算法起到更多的作用。