<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

系統機器學習算法總結知識分享

zhKF_jqr_AI ? 來源:未知 ? 作者:steve ? 2017-12-15 14:11 ? 次閱讀

Statsbot數據科學家Daniil Korbut簡明扼要地介紹了用于推薦系統的主流機器學習算法:協同過濾、矩陣分解、聚類、深度學習。

現在有許多公司使用大數據來制定高度相關的建議以提高收入。數據科學家需要根據業務的限制和需求,在各種推薦算法中選擇最好的算法。

為了簡化這一任務,Statsbot團隊準備了一份現有主要推薦系統算法的概覽。

協同過濾

協同過濾(collaborative filtering, CF)及其改版是最常用的推薦算法之一。 即使是數據科學初學者也可以使用它來構建他們的個人電影推薦系統,比如用它寫一個簡歷項目。

當我們想向用戶推薦東西時,最符合邏輯的做法是找到有相似興趣的人,分析他們的行為,然后給我們的用戶推薦相同的東西。 或者我們可以查看與用戶之前所購類似的物品,并進行相應的推薦。

這正是CF的兩種基本方法:基于用戶的協作過濾和基于物品的協作過濾。

在這兩種情形下,推薦引擎分兩步:

  1. 找出數據庫中有多少用戶/物品與給定的用戶/物品類似。

  2. 評估其他用戶/物品,這一評估基于比待評估用戶/物品更相似的用戶/物品的總權重,以預測給用戶推薦相應產品的評分。

算法中的“最相似”是什么意思?

假設我們有一個表示每個用戶的偏好的向量(矩陣 R的行)和一個表示用戶給每件產品評分的向量(矩陣 R的列)。

首先,讓我們去除一些元素,只保留兩個向量中值均已知的元素。

例如,如果我們想比較比爾和簡,我們可以看到,比爾還沒有看過《泰坦尼克號》,而簡到現在為止還沒看過《蝙蝠俠》,所以我們只能通過《星球大戰》來衡量他們的相似性。怎么會有人不看《星球大戰》,是吧?:)

最流行的衡量相似性的技術是用戶/物品向量之間的余弦相似性或加權平均數。

矩陣分解

下一個有趣的算法是矩陣分解。這是一個非常優雅的推薦算法,因為使用矩陣分解時通常不用考慮要在結果矩陣的列和行中保留的物品。

u是第i個用戶的興趣向量,v是表示第j部電影的參數的向量。因此,我們可以使用u和v的點積來逼近x(第i個用戶對第j部電影的評分)。我們使用已知評分來構建這些向量,并使用它們來預測未知評分。

例如,我們有表示用戶特德的向量(1.4; .9)和表示電影A的向量(1.4; .8),矩陣分解之后我們可以直接通過計算(1.4; .9)和(1.4; .8)的點積來還原電影A——特德的評分,結果為2.68。

聚類

前面兩個推薦算法非常簡單,比較適合小型系統。到目前為止,我們將推薦問題看作一個監督學習任務?,F在到了應用無監督方法來解決這個問題的時候了。

想象一下,我們正在建立一個大型推薦系統,協同過濾和矩陣分解會花很長時間。這時第一個想到的應該是聚類(clustering)。

根據屬于同一聚類的所有客戶的偏好,每個聚類會被分配一個典型偏好。每個聚類中的客戶將收到在聚類層次計算出的推薦。

業務初期缺乏用戶評分,因此聚類會是最佳選擇。

不過,單獨使用的話,聚類有點弱。因為通過聚類,我們識別出用戶群組,然后給同一群組中的每個用戶都推薦相同的物品。當我們有足夠多的數據的時候,更好的選擇是將聚類作為第一步,用來調整相關用戶/物品選取,以供協同過濾算法使用。聚類也能提升復雜推薦系統的性能。

深度學習

十年來,神經網絡有一個巨大的飛躍。今天,神經網絡被應用到許多領域,正逐漸取代傳統的機器學習方法。我想談一下YouTube使用的深度學習方法。

毫無疑問,為這樣的服務打造推薦系統是一項非常具有挑戰性的任務,因為這一服務的規模很大,語料庫是動態的,還有各種難以觀察的外部因素。

根據《YouTube推薦系統的深度神經網絡》,YouTube推薦系統算法包括兩個神經網絡:一個用于生成候選視頻,另一個用于排名。如果你沒有足夠的時間閱讀上面的論文,我這里有一個快速總結。

接受用戶的歷史事件作為輸入,候選生成網絡顯著減少了視頻的數量,從一個巨大的語料庫抽取出一組相關性最高的視頻。生成的候選視頻是最和用戶相關的,我們即將預測用戶給候選視頻的評分。這個網絡的目標只是通過協同過濾來提供一些范圍較廣的個性化候選視頻。

接下來我們需要更仔細地分析這些候選視頻,以挑選出其中最好的視頻。我們通過評分網絡完成這一任務,評分網絡可以通過一個期望目標函數給每個視頻賦值一個分數,該期望目標函數使用描述視頻的數據和有關用戶行為的信息。評分最高的那些視頻將被推薦給用戶。

使用這一兩步方法,我們可以基于一個非常巨大的視頻語料庫推薦視頻,同時保證推薦的少量視頻是個性化的。這一設計也允許我們混合從其他來源生成的候選視頻。

這一推薦任務構成了一個極端多類分類(extreme multiclass classification)問題,基于用戶(U)和情境(C)精確地分類在給定時刻t觀看(wt)的特定視頻,這一視頻取自一個語料庫(V),總共有數百萬的視頻類別(i)。

構建你自己的推薦系統

  • 基于大型數據庫的在線推薦,最好的辦法是將這個問題拆分成兩個子問題:1)選擇排名最高的N個候選 2)對它們進行評分。

  • 如何評估模型質量?除了標準的質量指標之外,還有一些特別針對推薦問題的指標:Recall at K和Precision at K,Average Recall at K和Average Precision at K。另外可以參考《A Survey of Accuracy Evaluation Metrics of Recommendation Task》(JMLR 10 (2009))

  • 如果使用分類算法解決推薦問題,則應考慮生成負樣本。如果用戶購買了推薦的物品,不應將其作為正樣本,也不應將未購買的推薦物品作為負樣本。

  • 基于在線分數和離線分數考量算法質量。 僅使用歷史數據的訓練模型可能導向簡陋的推薦系統,因為該算法不知道新的潮流和偏好。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 聚類
    +關注

    關注

    0

    文章

    146

    瀏覽量

    14179
  • 協同過濾
    +關注

    關注

    0

    文章

    45

    瀏覽量

    9754
  • 矩陣分解
    +關注

    關注

    1

    文章

    13

    瀏覽量

    3651

原文標題:推薦系統機器學習算法概覽

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于FPGA的常見的圖像算法模塊總結

    意在給大家補充一下基于FPGA的圖像算法基礎,于是講解了一下常見的圖像算法模塊,經過個人的總結,將知識點分布如下所示。
    的頭像 發表于 04-28 11:45 ?232次閱讀
    基于FPGA的常見的圖像<b class='flag-5'>算法</b>模塊<b class='flag-5'>總結</b>

    全面總結機器學習中的優化算法

    幾乎所有的機器學習算法最后都歸結為求一個目標函數的極值,即最優化問題,例如對于有監督學習,我們要找到一個最佳的映射函數f (x),使得對訓練樣本的損失函數最小化(最小化經驗風險或結構風
    發表于 11-02 10:18 ?298次閱讀
    全面<b class='flag-5'>總結</b><b class='flag-5'>機器</b><b class='flag-5'>學習</b>中的優化<b class='flag-5'>算法</b>

    機器學習的研究現狀和發展趨勢 機器學習的常見算法和優缺點

    隨著計算能力和大數據的崛起,機器學習算法正迎來快速發展的時期。在研究層面上,機器學習和深度學習
    發表于 08-22 17:49 ?2368次閱讀

    機器學習有哪些算法?機器學習分類算法有哪些?機器學習預判有哪些算法?

    機器學習有哪些算法?機器學習分類算法有哪些?機器
    的頭像 發表于 08-17 16:30 ?1476次閱讀

    機器學習是什么意思?機器學習屬于什么分支?機器學習有什么用處?

    機器學習是什么意思?機器學習屬于什么分支?機器學習是什么有什么用處?
    的頭像 發表于 08-17 16:30 ?1337次閱讀

    機器學習vsm算法

    機器學習vsm算法 隨著機器學習技術的不斷發展,相似性計算是機器
    的頭像 發表于 08-17 16:29 ?609次閱讀

    機器學習算法入門 機器學習算法介紹 機器學習算法對比

    機器學習算法入門 機器學習算法介紹 機器
    的頭像 發表于 08-17 16:27 ?663次閱讀

    機器學習算法總結 機器學習算法是什么 機器學習算法優缺點

    機器學習算法總結 機器學習算法是什么?
    的頭像 發表于 08-17 16:11 ?1163次閱讀

    機器學習算法匯總 機器學習算法分類 機器學習算法模型

    機器學習算法匯總 機器學習算法分類 機器
    的頭像 發表于 08-17 16:11 ?764次閱讀

    機器學習算法的5種基本算子

    機器學習算法的5種基本算子 機器學習是一種重要的人工智能技術,它是為了讓計算機能夠通過數據自主的學習
    的頭像 發表于 08-17 16:11 ?1368次閱讀

    智能數字辨識水表-基于機器學習算法

    智智能數字辨識水表-基于機器學習算法
    的頭像 發表于 08-10 11:26 ?423次閱讀
    智能數字辨識水表-基于<b class='flag-5'>機器</b><b class='flag-5'>學習</b><b class='flag-5'>算法</b>

    創建一個邊緣機器學習系統

    本指南適用于系統設計人員,可能使用Arm Flexible access程序。 本指南將幫助您開發可以執行機器學習的片上系統(SoC)在邊緣。本指南中介紹的SoC可以處理與
    發表于 08-02 11:02

    基于機器學習算法的校準優化方案

    基于機器學習算法的校準優化方案
    發表于 06-29 12:35 ?268次閱讀
    基于<b class='flag-5'>機器</b><b class='flag-5'>學習</b><b class='flag-5'>算法</b>的校準優化方案

    機器學習理論:k近鄰算法

    KNN(k-Nearest Neighbors)思想簡單,應用的數學知識幾乎為0,所以作為機器學習的入門非常實用、可以解釋機器學習
    的頭像 發表于 06-06 11:15 ?458次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b>理論:k近鄰<b class='flag-5'>算法</b>

    機器學習的經典算法與應用

    ? 一、機器學習基礎概念 ? 關于數據 ? 機器學習就是喂入算法和數據,讓算法從數據中尋找一種相
    的頭像 發表于 05-28 11:29 ?795次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b>的經典<b class='flag-5'>算法</b>與應用
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>