用于數據預測的模型選擇設備和方法
【技術領域】
[0001] 本公開一般地涉及數據預測領域,尤其涉及一種用于數據預測的模型選擇設備和 方法。
【背景技術】
[0002] 在數據挖掘領域,對于諸如預測、分類等任務,可用的模型很多。例如對于預測任 務而言,常見的可用模型包括線性回歸模型、支持向量回歸模型、以及諸如極端學習機的基 于神經網絡的模型等。
[0003] 這些模型分別有其適用特點,對于不同的數據預測任務,甚至在不同數據集上,效 果存在差異。一般說來,某些特定模型在特定任務和數據集上效果會比別的模型更好。
[0004] 為了達到最好的數據預測效果,常需要在前期對可選模型進行選擇,以便使用最 適合當前任務下的當前數據集的最好模型,提高預測準確度。
[0005] 現有的針對數據預測任務的模型選擇,大多數依賴一定程度上的人工挑選。例如, 在數據集的一個子集上用初步試驗選取效果較好的模型,或者使用交叉驗證的方法,將數 據集分成多份,一部分用于訓練,一部分用于驗證。無論是哪種方法,都要依賴一定程度的 人工干預,并且往往只能通過完整數據集上很小比例的子集結果完成模型選擇,局限性較 大。同時,操作起來比較繁瑣,時間損耗也較大,效果卻很有可能不夠準確。
【發(fā)明內容】
[0006] 鑒于存在的問題,本公開的目的是提供一種新型的可以廣泛應用于數據預測任務 的自動模型選擇方法。這種方法和傳統(tǒng)方法相比,可以通過自動的、無人工干預的模型選擇 過程,實現更高效、更準確的模型選擇過程,提高模型使用效果。
[0007] 根據本公開的一個方面,提供一種用于數據預測的模型選擇設備,包括:矩陣分 解單元,被配置為對預測矩陣進行奇異值分解,其中,所述預測矩陣的行/列向量是樣本向 量,列/行向量是對應維度的特征向量,樣本向量之一是包含待預測特征序列的待預測向 量;模型選擇單元,被配置為基于由矩陣分解單元通過進行奇異值分解獲得的、能夠反映預 測矩陣的樣本向量的子矩陣來選擇要應用于待預測特征序列的預測的模型。
[0008] 由于基于通過奇異值分解獲得的子矩陣來選擇要應用于待預測特征序列的預測 模型,降低了矩陣計算的維度、去除了噪聲,只保留了影響最大的原始數據維度,因而能夠 自動、準確地為待預測特征序列的每個維度選擇最佳預測模型。
[0009] 在根據本公開的實施例中,模型選擇單元可以被配置為:計算子矩陣中對應于已 知向量的各子已知向量和對應于待預測向量的向量之間的相似度,已知向量是樣本向量中 待預測向量之外的樣本向量;以及相似度最高的若干個子已知向量所對應的已知向量的所 有預測維度的最佳模型作為候選模型,其中,預測維度是已知向量的預測所包含的預測單 JLi〇
[0010] 利用奇異值分解的子矩陣中的向量的意義與原矩陣的向量的意義相對應的特點, 使用子矩陣來計算各向量間的相似度,從而大大減小了計算量。并且使用相似度較高的已 知向量的各維度的最佳預測模型作為待預測向量的預測模型的候選,完成了預測模型的初 步選擇。
[0011] 在根據本公開的實施例中,模型選擇單元可以被配置為:通過將候選模型在相似 度最高的若干個已知向量中對應預測維度出現的次數按候選模型在所有先前預測中成為 最佳模型的概率加權來計算候選模型的得分;以及將分值最高的候選模型確定為待預測序 列的對應預測維度的最佳模型。
[0012] 在完成模型的初步選擇后,為了得到最佳的預測模型,還可以對候選模型進行進 一步打分評估。通過將候選模型在相似度最高的若干個已知向量中對應預測維度出現的次 數按候選模型在所有先前預測中成為最佳模型的概率加權來計算候選模型的得分,同時考 慮了候選模型在歷史數據集中出現的概率以及其在對應預測維度出現的概率,使得模型的 選擇更加準確。
[0013] 在根據本公開的實施例中,待預測特征序列可以包括維數等于待預測特征個數 的、具有給定初設值的元素。
[0014] 元素的給定初設值的設定能夠方便后續(xù)的矩陣計算。
[0015] 在根據本公開的實施例中,該模型選擇設備還可以包括預測矩陣構造單元,被配 置為利用待預測特征序列與已知樣本序列來構造預測矩陣。
[0016] 在根據本公開的實施例中,預測矩陣構造單元可以被配置為:預測矩陣構造單元 被配置為:將已知樣本序列與待預測特征序列按特定順序擴展為第一擴展序列,以用作待 預測向量;參照第一擴展序列的擴展方式對已知樣本序列進行擴展,得到第二擴展序列組, 以用作已知向量組;以及將第一擴展序列和第二擴展序列組構造為矩陣,并且,將待預測特 征序列中的各元素設置為給定初設值。
[0017] 通過使用待預測序列和已知數據進行序列的擴展、矩陣的構建來獲得包括具有對 應關系的待預測向量和已知向量的預測矩陣,從而為簡化預測模型的選擇提供了方便。
[0018] 根據本公開的一個方面,還提供一種用于數據挖掘的模型選擇方法,包括:對預 測矩陣進行奇異值分解,其中,預測矩陣的行/列向量是樣本向量,列/行向量是對應維度 的特征向量,樣本向量之一是包含待預測特征序列的待預測向量;基于通過奇異值分解獲 得的、能夠反映預測矩陣的樣本向量的子矩陣來選擇要應用于待預測特征序列的預測的模 型。
[0019] 根據本公開的用于數據預測的模型選擇設備和模型選擇方法可以通過自動的、無 人工干預的模型選擇過程,通過對原始數據集的充分利用,實現更高效、準確的模型選擇過 程,提高模型使用效果。
【附圖說明】
[0020] 參照下面結合附圖對本公開的實施例的說明,會更加容易地理解本公開的以上和 其它目的、特點和優(yōu)點。在附圖中,相同的或對應的技術特征或部件將采用相同或對應的附 圖標記來表示。在附圖中不必依照比例繪制出單元的尺寸和相對位置。
[0021] 圖1是例示根據本公開實施例的用于數據預測的模型選擇設備的結構框圖。
[0022] 圖2是例示根據本公開另一實施例的用于數據預測的模型選擇設備的結構框圖。
[0023] 圖3是例示根據本公開實施例的用于數據預測的模型選擇方法的流程圖。
[0024] 圖4是例示根據本公開實施例的用于確定預測候選模型的方法的流程圖。
[0025] 圖5是例示根據本公開實施例的用于確定預測最佳模型的方法的流程圖。
[0026] 圖6是例示根據本公開實施例的用于構造預測矩陣的方法的流程圖。
[0027] 圖7是示出實現本發(fā)明的計算機的示例性結構的框圖。
【具體實施方式】
[0028] 下面參照附圖來說明本公開的實施例。應當注意,為了清楚的目的,附圖和說明中 省略了與本公開無關的、本領域技術人員已知的部件和處理的表示和描述。
[0029] 圖1示出根據本公開實施例的模型選擇設備100的結構框圖。模型選擇設備100 可以包括矩陣分解單元101和模型選擇單元102。矩陣分解單元101被配置為對預測矩陣 進行奇異值分解。模型選擇單元102被配置為基于由矩陣分解單元101通過進行奇異值分 解獲得的、能夠反映預測矩陣的樣本向量的子矩陣來選擇要應用于待預測特征序列的預測 的模型。
[0030] 奇異值分解可以將一個比較復雜的矩陣用更小更簡單的幾個子矩陣的相乘來表 示。這些子矩陣描述的是原矩陣的重要的特性。例如,用A表示原矩陣,則矩陣A的奇異值 分解可以用式(1)表示:
[0031] A=UEVt (1)
[0032] 其中,U是左奇異矩陣,U中的向量稱為左奇異向量,U的行向量的意義與矩陣A的 行向量的意義相對應;E是奇異值矩陣,其對角線元素為降序排列的奇異值;Vt (V的轉置) 是右奇異矩陣,Vt中的向量稱為右奇異向量,Vt的列向量的意義與矩陣A的列向量的意義 相對應。
[0033] 由于U的行向量的意義和Vt的列向量的意義分別與矩陣A的行和列向量的意義 相對應,所以對A中某一向量中的未知序列的預測可以用U或Vt中對應的向量來進行。
[0034] 在本公開的實施例中,假設矩陣A是包含待預測向量的原始矩陣(待預測矩陣的 實例)。即,矩陣A由已知歷史數據和未知的待預測數據構成;矩陣A的行/列向量是樣本 向量,列/行向量是對應維度的特征向量;矩陣A的樣本向量之一是包含待預測特征序列的 待預測向量。矩陣A可以由用戶預先準備好并輸入到模型選擇設備100中,以供矩陣分解 單元101進行分解,并將分解結果提供給模型選擇單元102進行模型選擇。
[0035] 模型選擇單元102基于由矩陣分解單元101通過進行奇異值分解獲得的、能夠反 映預測矩陣A的樣本向量的子矩陣(U或Vt)來選擇要應用于待預測特征序列的預測的模 型。
[0036] 模型選擇單元102具體如何利用奇異值分解所得到的子矩陣中相應的向量來對 預測矩陣A中的待預測向量的預測模型進行選擇,本領域技術人員可以根據需要采用不同 的方案。例如,對預測矩陣進行奇異值分解后,可以利用分解后的子矩陣,按照與原矩陣對 應的行或列向量進行聚類或者分類等,找出與待預測序列對應的向量同類的歷史向量,根 據同類歷史向量的預測模型選擇最適合當前待預測序列的預測模型。聚類方法例如可以 使用層次聚類、K平均算法聚類(K-means)等。分類方法例如可以使用K最鄰近算法(KNN) 等?;蛘撸部梢灾苯佑嬎惝斍按A測序列對應向量與歷史向量之間的相似度,選出最相似 的歷史向量,再根據這些相似歷史向量的預測模型選擇最適合當前預測序列的模型。
[0037] 無論采用哪種