簡介
場景將基于機器學習PAI平臺,指導您如何使用ALS算法實現用戶音樂打分預測。
背景信息
ALS算法是基于模型的推薦算法,基本思想是對稀疏矩陣進行模型分解,評估出缺失項的值,以此來得到一個基本的訓練模型。然后依照此模型可以針對新的用戶和物品數據進行評估。ALS是采用交替的最小二乘法來算出缺失項的,交替的最小二乘法是在最小二乘法的基礎上發展而來的。
從協同過濾的分類來說,ALS算法屬于User-Item CF,也叫做混合CF,它同時考慮了User和Item兩個方面。
在本次用戶音樂打分場景中,首先拿到的原始數據是每個聽眾對每首歌的評分矩陣A,這個評分可能是非常稀疏的,因為不是每個用戶都聽過所有的歌,也不是每個用戶都會對每首歌評分。

ALS矩陣分解會把矩陣A分解成兩個矩陣的相乘,分別是X矩陣和Y矩陣。
矩陣A=矩陣X和矩陣Y的轉秩的乘積
x的列表示和Y的橫表示可以稱之為ALS中的因子,這個因子是有隱含定義的,這里假設有3個因子,分別是性格、教育程度、愛好。A矩陣經過ALS分解出的X、Y矩陣可以分別表示成如下所示。
X矩陣:

Y矩陣:

數據經過這樣的拆解就很容易做用戶對音樂的評分預測。比如有聽眾6,他從沒聽過“紅豆“這首歌,但是我們可以拿到聽眾6在矩陣分解中X矩陣的向量M,這時候只有把向量M和”紅豆“在Y矩陣中的對應向量N相乘,就能預測出聽眾6對于”紅豆“這首歌的評分。
開通機器學習PAI服務
說明:本場景使用的機器學習PAI服務依賴于MaxCompute大數據計算服務,在運行實驗時將會消耗大約2.5元的計算費用,請確保您的賬戶余額充足。
1.使用阿里云賬號登錄阿里云官網。

2. 在頂部的導航欄,依次將鼠標懸停到產品>人工智能處,然后單擊機器學習平臺PAI。

3. 在機器學習PAI控制臺首頁,單擊立即開通。

4. 在服務開通頁面,選擇要開通的機器學習PAI服務所在的區域,例如華東2(上海),然后單擊頁面下方的立即購買。

5. 在訂單確認頁面,仔細閱讀《機器學習(PAI)服務協議》后,勾選我已閱讀并同意,最后單擊立即開通。

6. 開通成功后,單擊前往PAI管理控制臺。

創建PAI Studio項目
1.在控制臺左側導航欄,單擊可視化建模(Studio)。

2. 在PAI Studio頁面單擊創建項目。

3. 在右側彈出的創建項目頁面,MaxCompute選擇按量付費,填入項目名稱,然后單擊確定。
PAI Studio底層計算依賴MaxCompute,如果您未開通過當前區域的MaxCompute,請按照頁面提示去購買。
a. 單擊購買。

b. 選擇步驟一開通的機器學習PAI服務所在區域,例如華東2(上海),然后單擊立即購買。

c. 仔細閱讀《大數據計算服務MaxCompute(按量計算)服務協議》后,勾選我已閱讀并同意,最后單擊立即開通。

d. 開通成功后返回PAI Studio控制臺頁面,再次單擊創建項目,在創建項目頁面選擇MaxCompute付費方式為按量付費,然后填入項目名稱,最后單擊確認。

4. 項目創建需要1分鐘左右進行初始化,等待項目操作列出現進入機器學習,表示項目創建完成。

創建實驗
1.單擊左側導航欄的首頁。

2. 在模板列表找到ALS實現音樂推薦,然后單擊從模板創建。

3. 在彈出的新建實驗框,單擊確定。

查看實驗模板
在該模板中已經默認配置了實驗的數據源和ALS矩陣分解組件的參數。
1.右鍵單擊數據源節點,然后單擊查看數據。

顯示的數據如下。

該數據源包含4個字段,其中:
user:用戶ID。
item:音樂ID。
score:user對item的評分。
2. 單擊ALS矩陣分解-1節點,右側顯示如下,可以看到字段設置已設置為與數據源中的字段一致。

3. 單擊右側的參數設置,可以看到模板中默認的算法參數。

運行實驗
1 單擊左上角運行。

2. 請耐心等待3~5分鐘,實驗運行完成如下所示。

查看實驗結果
本實驗中會輸出2張表,對應ALS算法中的X矩陣和Y矩陣。
1.實驗運行完成后,右鍵單擊畫布中的ALS矩陣分解-1,在快捷菜單,選擇查看數據 > 查看輸出樁1,即可查看矩陣X。
2. 右鍵單擊畫布中的ALS矩陣分解-1,在快捷菜單,選擇查看數據 > 查看輸出樁2,即可查看矩陣Y。

預測評分
例如要預測user1對音樂978130429的評分,只要將下方兩個向量相乘即可。
user1:[-0.14220297,0.8327106,0.5352268,0.6336995,1.2326205,0.7112976,0.9794858,0.8489773,0.330319,0.7426911]
item978130429:[0.2431642860174179,0.6019538044929504,0.4035401940345764,0.254305899143219,0.4056856632232666,0.46871861815452576,0.3701469600200653,0.3757922947406769,0.26486095786094666,0.37488409876823425]
經計算,兩個向量相乘的結果為2.7247730805432644,可以預測user1對音樂978130429的評分為2.7247730805432644。
|