定型 SVD 建議程式

本文描述如何使用 Azure Machine Learning 設計工具中的「定型 SVD 建議程式」元件。 使用此元件可根據單一值分解 (SVD) 演算法來定型建議模型。

定型 SVD 建議程式元件會讀取「使用者-項目-評等」三項的資料集。 它會傳回已定型的 SVD 建議程式。 然後,您可以使用定型的模型來預測評等,或藉由連接評分 SVD 建議程式元件來產生建議。

深入了解建議模型和 SVD 建議程式

建議系統的主要目標是對系統的使用者建議一或多個項目。 項目的範例可能是電影、餐廳、書籍或歌曲。 使用者可能是個人、人員群組或具有項目喜好設定的其他實體。

建議程式系統有兩種主要方法:

  • 以內容為基礎的方法會利用使用者和項目的特徵。 可以透過年齡和性別等屬性來描述使用者。 可以透過作者和製造商等屬性來描述項目。 您可以在社交媒合網站上找到以內容為基礎的建議系統的一般範例。
  • 共同作業篩選只會使用使用者和項目的識別碼。 它會從使用者為項目指定的評等 (稀疏) 矩陣取得有關這些實體的隱含資訊。 我們可以從使用者所評等的項目以及從已評等相同項目的其他使用者了解使用者。

SVD 建議程式會使用使用者和項目的識別碼,以及使用者指定給項目的評等矩陣。 它是共同作業建議程式

如需 SVD 建議程式的詳細資訊,請參閱相關的研究論文:建議程式系統的矩陣分解技術

如何設定定型 SVD 建議程式

準備資料

使用該元件之前,您的輸入資料必須採用建議模型所預期的格式。 需要包含使用者-項目-評等三者的定型資料集。

  • 第一個資料行包含使用者識別碼。
  • 第二個資料行包含項目識別碼。
  • 第三個資料行包含使用者-項目配對的評等。 評等值必須是數值類型。

Azure Machine Learning 設計工具中的電影分級資料集 (選取 [資料集],然後選取 [樣本]) 示範預期的格式:

電影分級

從此樣本,您可以看到單一使用者已為數部電影評等。

將模型定型

  1. 在設計工具中將「定型 SVD 建議程式」元件新增至您的管線,並將其連接至定型資料。

  2. 針對 [因素數目],指定要與建議程式搭配使用的因素數目。

    每個因素會測量使用者與項目之間有多少相關。 因素的數目也是潛在因數空間的維度。 隨著使用者和項目數的增加,最好是設定較大量的因素。 但如果數字太大,效能可能會降低。

  3. 建議演算法反覆運算次數會指出演算法應該處理輸入資料的次數。 此數字越高,預測就越準確。 不過,數字越高表示定型速度較慢。 預設值是 30。

  4. 針對 [學習速率],輸入 0.0 和 2.0 之間的數字,以定義學習時的步驟大小。

    學習速率會決定每個反覆運算的步驟大小。 如果步驟太大,您可能會越過最佳解決方案。 如果步驟太小,則定型會較久才能找到最佳解決方案。

  5. 提交管線。

結果

在管線作業完成後,若要使用該模型進行評分,請將定型 SVD 建議程式連接至評分 SVD 建議程式,以預測新輸入範例的值。

後續步驟

請參閱 Azure Machine Learning 可用的元件集