李世森,張春英,吳萬斌,蘭思武
(1.華北理工大學 體育部,河北 唐山 063210;2.華北理工大學 理學院,河北 唐山 063210)
大學生體能測試是當前檢測大學生體質的重要測試之一,其反映了大學生身體體質的綜合情況,是大學生學習、工作的重要保障。但是在實際中,除了規定的體育課外,學生很少進行體育運動,因此學生的身體素質和機能正在不斷下降,許多學生甚至無法通過必須的體育測試[1],且無法完成體育測試中基本的考核內容,其主要原因在于學生缺乏運動樂趣,并且不得運動要領,在課程要求的時長內難以完成課程任務,同時,學生在課外時間里,學生在進行鍛煉時也同樣缺少指導。體測考試會記錄大量學生的體能測試成績數據,從這些數據入手,挖掘其所蘊含的信息并以其為基礎,構建推薦算法,給學生推薦一位可以互補的好友,以好友帶動好友、好友間相互指導的方式,解決學生對于體育興趣不足的問題。
作為一種常用的算法,目前已經有大量的學者對推薦算法進行研究,常見的推薦算法有基于流行度的推薦算法[2]、基于協同過濾的推薦算法[3]、基于內容的推薦方法[4]、基于用戶的推薦算法[5]以及綜合使用的混合方法。不同的推薦算法雖然在挑選推薦對象的方法上存在不同,在推薦對象的選取上一般都是以用戶與用戶間相似度作為評價標準,來對用戶進行推薦。在以體測數據為基礎的好友推薦問題中,單純的以相似度作為評價的方法是不適用的,其僅僅證明用戶間具有相同的興趣。因此僅僅考慮到相似性的傳統方法并不適用,仍然需要對二者間的相異進行證明,才能說明二者之間存在可以相互學習的地方。該研究結合集對分析理論,對傳統的相似度計算方法進行改進,提出了一種全新的集對相似度推薦法。該方法可以綜合地考慮到在推薦問題中所涉及到的確定性、不確定性、相異性的問題,與傳統的推薦方法相比在涉及到不確定性的推薦問題中具有更高的準確度、合理性。
推薦算法是根據已有的大量數據進行分析與挖掘,根據挖掘出的信息對用戶進行推薦其所喜愛的物品的算法,但是無論何種推薦算法,其內核都避不開根據同好的人進行推薦、根據喜愛的物品進行推薦、根據關鍵字進行推薦這3個基本條件。一般的推薦算法會存在冷啟動、可拓展性差等多種問題,國內外學者已經對這些問題進行了大量的研究。
如何根據體測成績給大學生推薦合理的能夠互相學習的同伴是研究的要點。在傳統的推薦算法中,所推薦的往往是用戶所喜愛的物或人,但是這樣的推薦方式在該研究中并不適用。若是要根據其體測成績的相似程度來推薦一位與其能夠互相學習的好友,相似程度越高則代表2個人之間可以學習的東西就越少,反之2個人差異越大,則代表可以互相學習的方面就越多。但由于是推薦交友問題,需要考慮到好友間具有相似的地方,因此,在好友推薦的問題上引入模糊的概念是該研究的研究要點。在現實生活中,一件事情往往不是非黑即白的,需要引進模糊的概念對其進行更多的處理,才能更加的貼近現實。同樣的,在推薦好友的問題上,也需要引進相關的概念,才能使得推薦的結果更加具有合理性、準確性。國內外有許多學者已經對在推薦算法中引入模糊數學的方法進行了研究。文獻[6]通過協同過濾法結合個人偏好對畢業生進行工作推薦,解決了零就業歷史的冷啟動問題,并且對偏好有較好的識別度。文獻[7]研究了一種基于模糊聚類的并行推薦法,比傳統的推薦方法更加合理準確,貼近現實。文獻[8]針對協同過濾推薦算法多樣性較低的問題,采用信息熵與用戶配置信息長度2個指標來評估項目各個屬性的多樣性,并且對用戶多樣性進行模糊化處理,顯著提高了個體多樣性、總體多樣性與新穎性。文獻[9]基于模糊邏輯構建推薦相似度,與傳統的相似度計算方法對比更加貼近現實且合理。集對分析[10-12]是由我國學者趙克勤于1989年提出的一種模糊數學分析法,其是在一定的問題背景下,對集對中2個集合的確定性與不確定性、相反性的相互作用所進行的一種系統和數學分析。該研究運用了集對的思想,針對在基于體測數據進行的推薦問題上需要使得差異與相似共同參與影響的問題上,利用集對聯系數構建相似度,較好地解決了相關問題。
大學生體測推薦算法是專門根據大學生體測大數據所設計的算法,算法流程如圖1。在該研究中引入了集對分析的概念對傳統的相似度進行改造。在推薦過程中首先需要計算出2個對象之間的相似度,不確定度以及相異度,再根據集對分析理論計算出集對推薦度rec(A,B),最后以集對推薦度來篩選合適的推薦對象并進行推薦。

圖1 大學生體測算法流程
在進行推薦算法的設計前,為了計算2個對象之間的體測推薦度,需要根據《國家體質標準》對大學生體測項目進行評分,將學生的體測項目數據百分制化,并且對學生身體狀況分類:爆發型、耐力型、柔韌型、力量型,不同類別分數由學生體測項目成績根據不同權重計算所得,然后通過閾值分級,確定各類別強、中、弱學生群體,最后需要對文字性的運動特征進行擬值,給出定義:{“強”:1,“中”:2,“弱”:3}。
假設存在對象A和B,將其運動特征表示成特征向量,即A=
|ak-bk|=0,表示A與B具有相似度;
|ak-bk|=1,表示A與B具有不確定度;
|ak-bk|=2,表示A與B具有相異度。
該研究將在以上所描述的背景下,對體測相似度、相異度、不確定度進行設計。
與傳統的相似度計算推薦算法不同,需要考慮用戶與用戶間的相似度,用戶與用戶之間的差異度,以及用戶與用戶間的不確定因素。因此在推薦算法的相似度計算中引入集對的概念,并存在以下定義:
rel(A,B)=a+b*i+c*j
(1)
其中,rel(A,B)表示A和B之間的關聯度,rel∈[-1,1],rel越大說明相似度越高,反之相異度越低。a表示A與B之間的體測相似度,即a=S(A,B);b表示A與B之間的體測不確定度,即b=D(A,B);c表示A和B之間的體測相異度,即c=F(A,B),并滿足a+b+c=1。i為不確定度標記,j為相異度標記,在運算時,i與j同時作為系數參加運算,并規定j恒取值-1,i在[-1,1]區間視情況取值。集對推薦度是在關聯度rel基礎上進行變形,綜合性考慮了相似、差異、不確定三者因素,避免因相似度或相異度過大導致推薦度高的錯誤情況,采取如下定義:
rec(A,B)=1-|a+b*i+c*j|
(2)
rec(A,B)表示A和B之間的集對推薦度,rec∈[0,1],rec越趨于0,越不容易被推薦;越趨于1,則越容易被推薦。
2.3.1 體測相似度
相似度是2個對象之間相似程度的一種數值度量,是個性化推薦系統中重要的參考指標,傳統的相似度是根據用戶對項目的評分以及推薦利用相關公式對相似度進行計算。而該研究的體測相似度的計算方法與傳統的方法不同,其是指通過獲取學生體測數據,對數據分析處理,以提取描述學生的運動特征,通過一定的方法比較不同學生間的特征值來計算相似性。設在推薦系統中存在對象A、B,則推薦對象A、B存在以下相似度:
(3)
其中,S(A,B)為對象A與B之間的體測相似度,n是特征屬性種類總和,ak和bk分別表示2個對象的特征值。通過一定的規則,將學生的成績進行不同層次的劃分,當2個學生的體育成績層級相等時,則認為其具備一定的相似性,即存在N(ak=bk)是2個對象具有相同特征值的特征個數。
2.3.2體測相異度
相異度是形容2個對象之間差異程度的一種數值度量,在根據體能測試成績的推薦問題上,僅僅根據相似度進行推薦往往是不合理的,若被推薦的雙方僅存在相似度,則代表著雙方可以相互學習的知識很少,因此雙方需要存在一定的相異度。只有存在相異的雙方,才有互相學習的可能性。設推薦系統中存在具有相異度的2個對象A、B,則推薦對象A、B存在以下相異度:
(4)

2.3.3體測不確定度
若推薦系統中存在對象A和B,當A與B之間存在一方的體育成績為中等,另一方的成績為強或弱時,不能以此判斷雙方的差距是否真的能夠大到足以教導對方的程度,因此存在不確定性。在集對理論中,相似度、相異度和不確定度三者總和為1,即a+b+c=1,因此,存在對于推薦對象A、B存在以下不確定度:
(4)
2.3.4聯系度i的確定
推薦系統中的對象A與B所對應的集對推薦度中,其所對應的差異不確定系數i的取值是一個需要確定的重點。當i的取值越趨近1時,2個對象之間的相似度越高,因此,利用余弦相似度,提出了一種利用計算取值法的i值確定方法,其存在以下定義:
(5)
其中s為對象A,B的余弦相似度,公式如下:
(6)
d為對象A,B的余弦相異度,在一定條件下,余弦相異度可以由余弦相似度變換而來。采用以下公式對相似度進行變換:
d=e-s
(7)
d表示2個對象之間的相異度,s表示2個對象之間的相似度,當s取值越大時,d的取值越小,i也越趨近于1;反之,i越遠離1。
2.3.5 Top-N推薦集的計算及好友推薦
Top-N推薦算法是根據一定的規則對數據進行排序,并從排序列表中選取出最大或最小的N個數據進行推薦。針對不同的社會環境可制定不同的規則對推薦集中的數據進行篩選,基于大學校園學生群體進行研究,在進行好友推薦的同時需考慮多方面的因素,根據得到的用戶集對推薦度集合,計算用戶與被推薦用戶推薦度的平均值作為閾值r,將大于閾值的推薦度存儲到用戶的Top-N推薦集中,如圖2所示:

圖2 Top-N推薦集的確定及好友推薦
由于在好友推薦的過程中,不僅需要考慮用戶與用戶兩者的推薦度,還存在一些實際上的問題需要考慮,就如用戶的班級、性別、生活區域的距離等,推薦時根據用戶需求進行篩選。
選用數據取自某高校大學生體測成績,數據真實可靠,且只保留體測成績部分,姓名、學號等身份識別信息均已刪除。學生體測成績如表1、表2所示:

表1 男生部分體測數據

表2 女生部分體測數據
參照《國家體質標準》計算表1、表2學生體測成績,如表3、表4所示:

表3 男生部分體測成績/分

表4 女生部分體測成績/分
結合實際情況給出體測項目對于特征的權重系數[13],根據權重計算學生的4大特征分數,如表5所示:

表5 男、女生部分特征分數/分
根據數據分布給定閾值分級后的學生標簽如表6所示:

表6 男、女生部分特征標簽
以編號為10001的學生為實驗對象,根據推薦算法計算得到其他學生與其的推薦度如表7所示:

表7 編號10001學生與其他學生集對推薦度
由表7計算得到的集對推薦度,可得到與編號10001學生最為匹配的部分學生,對原體測數據分析可發現,推薦的學生與實驗對象之間同時兼顧相似性和相異性,符合該研究提出的推薦原則。運用于現實生活中還需要考慮實際因素,在推薦度較高的學生中,用戶可根據性別、學院、年級、距離等因素進行主觀篩選,從而獲得與自己最為匹配的運動好友。
(1)提出基于集對理論的好友推薦模型,在相似度、相異度、不確定度公式上進行了大量的創新,運用余弦相似度計算方法及其變換確定了聯系度i的取值,最終得到用戶之間的推薦度。實驗結果證明,所設計的推薦方法更具有針對性和互補性,推薦的用戶質量性得到提高。
(2)由于特征屬性種類和特征分級級數比較少,導致用戶之間的差異程度較為不明顯,對差異程度較大的用戶具有更好的效果。故在今后的研究中,將會加入更多的特征屬性,比如用戶性別、用戶年級等個人信息,并且對公式進行進一步改良,在保證準確率和合理性的情況下進一步提高推薦度。