• 沒有找到結果。

我們參考了Herremans et al. (2014) 的設計,將我們的被解釋變數轉換成一個二 元的分類問題,換句話說,我們的 popularity 原本為一個實數域上大於 0 的連續變 數,我們取其 90 百分位以上的資料,將其標註成熱門歌曲,而低於 30 百分位的 資料,我們將其標註成不熱門的歌曲,而位於 30 百分位至 90 百分位的資料我們 將不採用。

在我們將被解釋變數轉換後,我們會分別利用音訊特徵資料訓練梯度增強 機器、歌詞訓練長短期記憶遞迴式類神經網路和上述兩個模型的預測結果訓練 隨機森林,並利用混淆矩陣 (Confusion Matrix)、接收者操作特徵曲線 (Receiver Operating Characteristic Curve,ROC Curve) 與精確度-召回率曲線 (Precision Recall Curve,PR Curve) 來驗證模型的結果。

接下來的小節中我們會詳述上述每個模型的訓練方式與過程。

4.1 梯度增強機器

在梯度增強機器模型中,我們單純利用了音訊特徵來訓練模型,訓練的過程 中,我們首先使用了 80% 與 20% 的比率做了訓練/測試集資料的切分,再來我們

圖 4.1. 梯度增強機器訓練流程。我們首先進行了訓練/測試集切分,再利用網格搜 尋法進行超參數調整,並搭配了 10 摺分層抽樣的交叉驗證避免過度擬合。訓練完 畢以後再以混淆矩陣、接收者操作特徵曲線與精確度-召回率曲線搭配測試資料集 進行模型的驗證。

模型的流程。

4.2 長短期記憶遞迴式類神經網路

在長短期記憶遞迴式類神經網路中,我們單純利用了歌詞資料來訓練模型。在 訓練模型前,我們需要將每首歌曲中的關鍵字轉換為數值資料,在這邊我們利用 了 FastText(Bojanowski, Grave, Joulin, & Mikolov, 2017),來將我們先前提取每首歌 曲的關鍵字轉換為向量,最後再將向量做為我們的訓練資料輸入長短期記憶遞迴 式類神經網路。

訓練的過程與梯度增強機器大致相似,我們會先使用 80% 與 20% 的比率做

圖 4.2. 長短期記憶遞迴式類神經網路訓練過程。我們首先將每首歌關鍵字進行文 字轉向量,再進行訓練/測試資料集切分。切分完畢後,再利用訓練資料集訓練模 型,利用測試資料集搭配混淆矩陣、接收者操作特徵曲線與精確度-召回率曲線進 行模型驗證。

訓練/測試資料集的切分,並利用訓練資料集訓練資料。訓練過程中,在每一期 (Epoch) 我們都操作了訓練/驗證資料集切分與驗證,並在隱藏層中加入了丟棄層 (Dropout) 來防止過度擬合。除此之外,訓練遞迴式類神經網路會有梯度消失的問 題 (Vanishing Gradient),我們還針對了梯度做了梯度剪裁 (Gradient Clipping)。值 得一提的是,抽取完關鍵字後,每首歌的歌詞順序變得沒有意義,因此在訓練模 型時,我們採用了雙向 (Bidirectional) 的訓練方法,意即使模型在每個序列跑過前 往後、後往前兩個方向。訓練完畢後,我們同樣利用混淆矩陣、接收者操作特徵 曲線與精確度-召回率曲線搭配測試資料集進行模型的驗證。

圖 4.3. 隨機森林模型結構。我們首先進行了訓練測試集資料切分,再分別將歌詞 與音訊資料代入長短期記憶遞迴式類神經網路與梯度增強機器產生預測結果,再 以預測結果作為解釋變數訓練模型。訓練完畢後我們將測試資料集做了相同轉換,

並利用混淆矩陣、接收者操作特徵曲線與精確度-召回率曲線搭配測試資料集進行 模型的驗證。

與上述兩模型雷同,

我們利用 80% 與 20% 的比率進行訓練/測試資料集切分。切分完畢後,分別利 用訓練資料集內的歌詞與音訊資料放入長短期記憶遞迴式類神經網路與梯度增強 機器產生預測結果,並利用結果作為解釋變數訓練隨機森林,訓練的過程我們同 樣採用網格搜尋法搭配 10 摺交叉驗證。在訓練完畢後,我們將測試資料集同樣 分別利用長短期記憶遞迴式類神經網路與梯度增強機器進行轉換,再利用轉換後 的資料搭配搭配混淆矩陣、接收者操作特徵曲線與精確度-召回率曲線進行模型 驗證。附帶一題,我們利用隨機森林針對前兩種模型進行進一步訓練的動作,可 以視為利用兩個模型進行表決,因此後面章節我們會將隨機森林稱為表決分類器 (Voting Classifier)。

章節 5

相關文件