郭龍偉,關欣,李鏘
雖然互聯(lián)網(wǎng)中存在海量的鋼琴樂譜資源,但其難易程度不一,對于業(yè)余和初級樂器學習者來說,由于缺乏專業(yè)知識和指導,難以有效地找到與自身學習難度匹配的樂譜來學習。專業(yè)音樂學習者一般依據(jù)固定進階教材,但缺乏個性化、靈活的學習方案。此外,一些經(jīng)典但難度高的樂譜,會有諸多簡化版本存在。因此,有必要對海量的鋼琴樂譜資源的難度等級進行區(qū)分。
現(xiàn)在絕大部分樂譜難度等級仍然依賴于專業(yè)人士主觀判斷。對于海量的數(shù)字樂譜,人工判斷難度等級會是一個耗時耗力的巨大工程。人工主觀判斷也很難穩(wěn)定、可靠地把握每個難度等級之間的區(qū)別,尤其對于多類別問題。不同的人對于同一首樂譜可能會給出不同的難度等級,甚至對于同一首樂譜,同一個人在不同的時間也會給出不同的難度等級。因此,自動識別樂譜難度等級的系統(tǒng)具有重要的理論意義和應用價值。
為網(wǎng)絡中存在的數(shù)字樂譜提供難度等級標簽將會大大提高尋找合適難度等級樂譜的效率,并能提高音樂網(wǎng)站的用戶體驗。通常研究中將樂譜難度識別歸為模式分類問題,從符號樂譜中定義并提取難度相關特征,利用分類思想實現(xiàn)樂譜難度等級的識別。下面將針對不同的技術來回顧鋼琴樂譜難度等級識別領域的研究現(xiàn)狀。
Shih-Chuan Chiu等[1]最先開始鋼琴樂譜難度等級識別研究。由于鋼琴樂譜難度識別是一個相對較新的研究問題,現(xiàn)有的符號音樂特征(symbolic music feature)較少直接用于難度等級識別。所以他們首先定義8個與樂譜難度密切相關的特征,將此8個難度相關特征與語義特征一起作為特征空間。后用特征選擇算法ReliefF[2]按照特征重要程度(即各個特征對難度等級的辨別能力大小)分配權值,選擇權值最大的10個特征作為后續(xù)實現(xiàn)難度等級識別的特征空間。最終用3個回歸算法:多元線性回歸、逐步回歸[3]、支持向量回歸[4]實現(xiàn)難度等級識別。實驗中,支持向量回歸算法得到最好的效果,其R2統(tǒng)計量為39.9%[3]。
Véronique Sébastien 等[5]也將樂譜難度等級識別看作分類問題,他們利用無監(jiān)督的聚類算法實現(xiàn)樂譜難度等級識別。首先定義7個難度相關特征,這些特征從MusicXML格式[6]樂譜文件提取。之后用主成分分析 (principal component analysis,PCA)將特征投影到低維空間,以降低特征維數(shù)。然后,用分層聚類(hierarchical clustering)[7]將樂譜聚成3類,即3個難度類別。
總的來說,無論是多元線性回歸還是逐步回歸都假設特征與難度等級之間為線性關系,此假設過于簡化特征與難度等級之間的實際關系。而支持向量回歸雖然可實現(xiàn)非線性擬合,但擬合結(jié)果尚不令人滿意。與有監(jiān)督算法相比,非監(jiān)督算法,如分層聚類,雖能充分利用特征與難度等級之間的自然分布關系,但無法利用已有的難度等級標簽作為先驗知識提高識別效果。例如,實驗中,原始樂譜數(shù)據(jù)是4個類別,Véronique Sébastien經(jīng)過PCA降維,應用聚類算法,最終僅得到3個難度類別。
在現(xiàn)有有監(jiān)督的回歸擬合算法識別鋼琴樂譜難度等級的研究中,支持向量回歸有最好的擬合效果(其R2統(tǒng)計量值為39.9%)。但支持向量回歸,更適合逼近、擬合連續(xù)分布數(shù)據(jù),對于此離散類別的分類問題能力有限。所以本文利用一種與支持向量回歸算法原理相近,但更適用于解決分類問題的支持向量機分類算法實現(xiàn)數(shù)字鋼琴樂譜難度等級識別。
SVM是基于統(tǒng)計學習理論中經(jīng)驗風險最小化原則的一種機器學習算法[8]。SVM已廣泛應用于紋理分類 (texture classification)[9]、文本分類[10]、人臉識別[11]、語音識別[12]等各個領域。理論和實踐證明,SVM對噪聲和離群點魯棒性好,泛化能力強,經(jīng)過擴展可解決多分類問題[8]。
SVM實現(xiàn)分類的關鍵是核函數(shù),利用核函數(shù)[13]可以將低維線性不可分的問題轉(zhuǎn)化到高維空間實現(xiàn)線性可分,同時避免因維數(shù)增加而導致過大的計算量。常用的核函數(shù)有線性核函數(shù)(linear kernel function)、多項式核函數(shù) (polynomial kernel function)、高斯徑向基核函數(shù)(Gauss radical basis kernel function,GRB)等[13]。由于本研究問題的特征數(shù)目遠小于樣本數(shù)目,并且為降低分類模型的參數(shù)復雜度,本文考慮采用高斯徑向基核函數(shù)。
然而傳統(tǒng)的基于高斯徑向基核函數(shù)的SVM(GRB-SVM)算法假設特征不相關且權重相同,即不能根據(jù)特征對難度等級的貢獻度差別對待。而在本應用問題中,特征對難度區(qū)分的貢獻度不同。為彌補GRB-SVM不能根據(jù)特征重要程度差別對待的不足,本文結(jié)合測度學習(metric learning)理論,充分利用訓練樂譜中關于難度等級的先驗知識,從帶難度等級標簽的樂譜特征空間中有監(jiān)督地學習到能更好區(qū)分鋼琴難度的投影矩陣,保留特征之間的相關關系,從而利用該矩陣改進高斯徑向基核函數(shù),提出一種測度學習支持向量機分類算法——ML-SVM算法,實現(xiàn)數(shù)字鋼琴樂譜難度等級識別。
本文提出的ML-SVM樂譜難度識別算法主要包括以下3部分:基于測度學習從訓練數(shù)據(jù)中有監(jiān)督的學習到能增加鋼琴樂譜難度區(qū)分度的投影矩陣;得到新的距離測度,并利用該測度改進高斯徑向基核函數(shù),建立ML-SVM算法模型;最后利用網(wǎng)格搜索算法得到核函數(shù)參數(shù)的最優(yōu)組合,建立分類模型,實現(xiàn)數(shù)字鋼琴樂譜難度等級的識別。MLSVM樂譜難度識別算法框圖,如圖1所示。
圖1 ML-SVM算法的框圖Fig. 1 The frame chart of ML-SVM algorithm
為獲取更多的鋼琴樂譜難度相關特征,本文采用文獻[1]與文獻[5]中的難度相關特征作為本文的特征空間。所以本文中的特征空間包括:文獻[1]中除指法復雜度(屬于樂譜標注層面信息,MIDI樂譜中不包含此信息),調(diào)號(key signature是元標簽信息)之外的全部難度和語義特征;文獻[5]中除去指法特征(同樣屬于標注層面特征)的全部特征,共22個特征,組成一個22維的特征向量來表示MIDI樂譜。
由于傳統(tǒng)的SVM算法無法根據(jù)特征對類別的辨別能力差別對待,所以本文考慮利用測度學習從訓練樂譜中有監(jiān)督地學習到一個投影矩陣,充分考慮特征對難度等級的貢獻度,為特征分配不同的權重,進而得到新的距離測度DM,改進原始高斯徑向基核函數(shù),改進后的高斯徑向基核函數(shù)為
通過矩陣M,依據(jù)特征對難度等級的區(qū)別能力及特征之間的相關關系,將特征投影到一個類別區(qū)分度更高的空間[14]。DM的構建及投影矩陣M)的學習過程如下。
本算法的關鍵在于找到最佳的特征投影矩陣L??紤]用變換矩陣(n表示特征的維數(shù))實現(xiàn)特征投影:
為避免求均方并保證距離為正值,取距離的平方并用矩陣形式表示,則新的距離測度DM為
構造決策函數(shù):
依據(jù)決策函數(shù)可以得到待分類樂譜x所屬類別[8]。其中α是拉格朗日系數(shù),C是錯誤分類的懲罰參數(shù),kM是改進后的高斯徑向基核函數(shù),核函數(shù)表達式中的是測度學習得到的距離測度。
另外,原始SVM是二分類的,本文采用一對余(one versus rest)方法[8,16]將 ML-SVM擴展到多分類。主要思想是:對于一個m類分類問題,通過建立m個二分類ML-SVM模型,每一個ML-SVM模型需要訓練所有的訓練樣本,但訓練樣本中只將某一個類別記為正,其余所有類別記為負。對于待識別的樣本,依次調(diào)用訓練好的m個ML-SVM模型,計算它在各個ML-SVM模型中決策函數(shù)的值,選擇決策函數(shù)值最大的ML-SVM模型給出的類別,作為待識別樂譜難度類別。
本文算法全部用MATLAB軟件實現(xiàn),所用的計算機環(huán)境為32位Windows 7操作系統(tǒng),內(nèi)置Intel I5-4200M處理器和4 GB的內(nèi)存。
在實驗中,為更好地評估本文提出的ML-SVM算法的分類性能和泛化能力,在9類和4類難度兩個樂譜數(shù)據(jù)集中,將ML-SVM算法與邏輯回歸、基于線性核函數(shù)的SVM、基于多項式核函數(shù)的SVM、基于原始高斯徑向基核函數(shù)的SVM(均用one versus rest擴展到多分類)算法以及結(jié)合主成分分析的各個SVM算法進行對比試驗,以識別準確率作為算法性能的評價指標。每個實驗獨立重復5次,并用五折交叉驗證,取平均準確率作為最終識別準確率。同時為更全面評估識別算法性能,也給出各個算法結(jié)果的90%置信區(qū)間。
鋼琴樂譜數(shù)據(jù)集采用包含音高、節(jié)拍、時間、和弦、速度和信道等鋼琴樂譜信息的MIDI格式數(shù)字樂譜文件[17]。MIDI文件小,易于獲得。為和現(xiàn)有的研究作對比,我們采用了文獻[1]中包含9個難度等級,共176個MIDI文件的數(shù)據(jù)集。
另外考慮到實際鋼琴學習與教學中很多情況會將樂譜分為4個難度等級,大量音樂網(wǎng)站也普遍提供 4 個難度等級 (easy,beginner,intermediate,advanced)的數(shù)字樂譜,所以為更好地評估本文算法的可拓展性,切合實際應用情況,我們還從大型音樂網(wǎng)站8notes[18]收集到400首MIDI樂譜組成有4個難度等級的數(shù)據(jù)集,每一個難度等級有100個MIDI樂譜。為書寫及引用方便,9個難度等級的數(shù)據(jù)集簡稱為NineS數(shù)據(jù)集,4個難度等級的數(shù)據(jù)集簡稱為FourS數(shù)據(jù)集。
特征提取后,一些特征對應的值較大,而另一些特征對應的值較小,甚至相差超過兩個數(shù)量級,為避免數(shù)值較大的特征對整體分類的影響,利用Min-Max歸一化方法:
將特征向量歸一化到[0, 1]。其中min和max分別表示特征的最小和最大值,表示特征經(jīng)過歸一化處理后的特征。
仿真試驗中,將ML-SVM算法與邏輯回歸(logistic regression,LR)[19],基于線性核函數(shù)的 SVM(記為L-SVM),基于多項式核函數(shù)的SVM(記為PSVM)和基于高斯徑向基核函數(shù)的SVM算法(記為GRB-SVM)[16,20-21]進行對比。每個實驗獨立重復5次,每次用5折交叉驗證,取平均準確率作為分類性能指標,同時計算出結(jié)果的90%置信區(qū)間。
各個SVM算法中核函數(shù)參數(shù)利用網(wǎng)格搜索算法[22],在 2–10~210內(nèi),以步長 0.5,5 折交叉驗證尋找最優(yōu)的參數(shù)設置。其中L-SVM,P-SVM(多項式階數(shù)d=3)只需優(yōu)化懲罰因子C,GRB-SVM與MLSVM需要優(yōu)化懲罰因子C與核函數(shù)參數(shù)g(g =)的最優(yōu)組合。最終的最優(yōu)參數(shù)組合如表1所示。
表1 各個算法的最優(yōu)參數(shù)組合Table 1 Optimal parameter combination of each algorithm
表2給出了本文提出的ML-SVM算法與LR、L-SVM、P-SVM、GRB-SVM算法在NineS數(shù)據(jù)集和FourS數(shù)據(jù)集中的識別準確率及結(jié)果的90%置信區(qū)間。從表2中可以看出,在兩個數(shù)據(jù)集上,本文提出的ML-SVM算法,識別準確率最高,分別達到68.74%和84.67%。兩個數(shù)據(jù)集中,本文提出的算法最終識別準確率均高于GRB-SVM算法,尤其在FourS數(shù)據(jù)集中,本文所提算法得到84.67%的識別準確率,相對75.63%的GRB-SVM,識別準確率有較大提高。且更窄的置信區(qū)間表明結(jié)果更穩(wěn)定、顯著?;诰€性核函數(shù)的SVM(L-SVM)一直表現(xiàn)欠佳,在兩個數(shù)據(jù)集中識別效果不如邏輯回歸(LR),基于多項式核函數(shù)的SVM(P-SVM)表現(xiàn)良好,在FourS數(shù)據(jù)集中識別效果僅次于本文算法。
表2 各算法的識別準確率及90%置信區(qū)間Table 2 Recognition accuracy and 90% confidence interval of each algorithm %
為進一步驗證本文所提算法的有效性,我們將ML-SVM算法與另一種主要用來實現(xiàn)特征降維的投影算法——主成分分析結(jié)合SVM的分類準確率進行對比。在對原始特征數(shù)據(jù)進行PCA處理時,保留原始特征95%信息量的投影特征。PCA投影處理后,最終NineS數(shù)據(jù)集中的特征降到13維,而FourS數(shù)據(jù)集的特征降到8維。之后再用基于各個核函數(shù)的SVM算法對PCA降維后的數(shù)據(jù)進行分類。實驗結(jié)果如表3所示。從表中可以看出,原始特征數(shù)據(jù)經(jīng)過PCA處理后,最終各個SVM的分類準確率都有所提高。這是因為原始特征數(shù)據(jù)經(jīng)過PCA投影、降維之后,可以有效減少混疊以及冗余信息,進而提高最終分類的準確率。
表3 PCA處理后,各算法的識別準確率Table 3 After features are processed by PCA, each SVM algorithm’s recognition accuracy in two data sets %
雖然原始特征數(shù)據(jù)經(jīng)過PCA投影、降維處理后,利用GRB-SVM分類的準確率較之前有所提高,但分類準確率與本文提出的ML-SVM算法仍有差距,尤其在FourS數(shù)據(jù)集中,ML-SVM仍有較大優(yōu)勢,這也再次驗證了本文提出的ML-SVM算法是有效的。
針對現(xiàn)有鋼琴樂譜難度分類主要由人工方式完成,效率不高,區(qū)別于傳統(tǒng)將樂譜難度等級識別歸結(jié)為回歸問題,本文直接將其建模為基于支持向量機的分類問題。并結(jié)合鋼琴樂譜分類主觀性強、特征之間普遍存在相關性等特點,利用測度學習改進高斯徑向基核函數(shù),從而提出一種測度學習支持向量機分類算法——ML-SVM算法。經(jīng)過在9類和4類難度兩個樂譜數(shù)據(jù)集上的對比實驗,結(jié)果表明本文所提算法的識別準確率優(yōu)于現(xiàn)有算法,且有效提高了基于高斯徑向基核函數(shù)SVM的分類性能。實驗結(jié)果說明,利用測度學習理論,保留特征之間的相關關系,更適合樂譜難度識別數(shù)據(jù)與分布特點,并能夠有效識別算法的性能。未來的工作可以考慮應用半監(jiān)督算法,以充分利用大量無難度標簽數(shù)據(jù),預期將會大大提高分類器的訓練效果,進而提高算法的識別準確率。
[1]CHIU S C, CHEN M S. A study on difficulty level recognition of piano sheet music[C]//IEEE International Symposium on Multimedia. Irvine, CA, USA: IEEE, 2012: 17–23.
[2]ROBNIK-?IKONJA M, KONONENKO I. Theoretical and empirical analysis of Relief[J]. Machine learning, 2003,53(1/2): 23–69.
[3]JAMES G, WITTEN D, HASTIE T, et al. An introduction to statistical learning with applications in R[M]. New York:Springer, 2013: 59–102.
[4]SMOLA A J, SCH?LKOPF B. A tutorial on support vector regression[J]. Statistics and computing, 2003, 14(3): 199–222.
[5]SéBASTIEN V, RALAMBONDRAINY H, SéBASTIEN O, et al. Score analyzer: automatically determining scores difficulty level for instrumental e-learning[C]//Proceedings of the 13th International Society for Music Information Retrieval Conference. Porto, Portugal: ISMIR, 2012: 571–576.
[6]CASTAN G, GOOD M, ROLAND P. Extensible markup language (XML) for music applications: an introduction, the virtual score: representation, retrieval, restoration[M]. Cambridge: MIT Press, 2001: 95–102.
[7]WARD JR J H. Hierarchical grouping to optimize an objective function[J]. Journal of the American statistical association, 1963, 58(301): 236–244.
[8]丁世飛, 齊丙娟, 譚紅艷. 支持向量機理論與算法研究綜述[J]. 電子科技大學學報, 2011, 40(1): 2–10.DING Shifei, QI Bingjuan, TAN Hongyan. An overview on theory and algorithm of support vector machines[J]. Journal of university of electronic science and technology of China,2011, 40(1): 2–10.
[9]LI Shutao, KWOK J T, ZHU Hailong, et al. Texture clas-sification using the support vector machines[J]. Pattern recognition, 2003, 36(12): 2883–2893.
[10]SIMON T, KOLLER D. Support vector machine active learning with applications to text classification[J]. The journal of machine learning research, 2002, 2: 45–66.
[11]OSUNA E, FREUND R, GIROSIT F. Training support vector machines: an application to face detection[C]//IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Juan, Puerto Rico, USA: IEEE,1997: 130–136.
[12]WAN V, CAMPBELL W M. Support vector machines for speaker verification and identification[C]//Neural Networks for Signal Processing X. Proceedings of the 2000 IEEE Signal Processing Society Workshop. Sydney, NSW,Australia: IEEE, 2000, 2: 775–784.
[13]SCH?LKOPF B, SMOLA, A J. Learning with kernels[M].GMD-For Schungszentrum Information Stechnik, 1998:5–93.
[14]KULIS B. Metric learning: a survey[J]. Foundations and trends in machine learning, 2012, 5(4): 287–364.
[15]WEINBERGER K Q, SAUL L K. Distance metric learning for large margin nearest neighbor classification[J].Journal of machine learning research, 2009, 10: 207–244.
[16]HSU C W, LIN C J. A comparison of methods for multiclass support vector machines[J]. IEEE transactions on neural networks, 2002, 13(2): 415–425.
[17]MIDI Manufacturers Association. An introduction to MIDI[M]. California: MIDI Manufacturers Association,2009: 1–16.
[18]Fours set data sources[EB/OL]. [2015-07-24]. http://www.8notes.com.
[19]HOSMER D W, LEMESHOW S. Applied logistic regression[M]. New York: Wiley, 2000: 31–46.
[20]WESTON J, WATKINS C. Multi-class support vector machines, CSD-TR-98-04[R/OL]. Egham: Royal Holloway University of London, 1998: 1–10.
[21]CHANG C C, LIN C J. LIBSVM——a library for support vector machines[J/OL]. ACM transactions on intelligent systems and technology, 2011, 2(3): 27.
[22]徐曉明. SVM參數(shù)尋優(yōu)及其在分類中的應用[D]. 大連:大連海事大學, 2014: 6–58.XU Xiaoming. SVM parameter optimization and its application in the classification[D]. Dalian: Dalian Maritime University, 2014: 6–58.