自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

通過Netflix案例研究和NVIDIA深度學(xué)習(xí)技術(shù)深入了解推薦算法

譯文 精選
人工智能 深度學(xué)習(xí)
本文介紹了推薦系統(tǒng)已從簡單的統(tǒng)計建模、基于內(nèi)容的篩選和協(xié)作篩選,發(fā)展到了我們現(xiàn)在常見的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)、HPC 節(jié)點(diǎn)、矩陣分解,并通過Netflix案例研究NVIDIA Merlin框架。

譯者 | 陳峻

審校 | 重樓

你知道什么是推薦引擎嗎?它是每一筆互聯(lián)網(wǎng)交易背后的算法,無論是亞馬遜、NetflixYouTube、TikTok,甚至是 LinkedIn、Facebook、XTwitter)、以及Snapchat,所有這些網(wǎng)站、以及互聯(lián)網(wǎng)上幾乎所有的內(nèi)容策劃、或產(chǎn)品市場應(yīng)用,都從推薦算法中獲利頗豐。

簡單來說,推薦算法會建立一套模型,包括你的喜好、憎惡、收藏的物品、類型和項目等。當(dāng)你在網(wǎng)上進(jìn)行一筆交易時,它們幾乎會讀懂你的想法,并預(yù)測你最有可能購買的下一個產(chǎn)品。目前,YouTube TikTok 上所使用的推薦算法已非常準(zhǔn)確,以至于它們可以讓用戶沉迷數(shù)小時。下面展示了YouTube、TikTokInstagram Facebook 的月訪問量足以證明這一點(diǎn)。

  • Facebook29
  • YouTube22
  • Instagram14
  • TikTok10

顯然,此類算法會帶來更好的客戶參與度、更好的客戶體驗、以及平臺收入的提升。可以說,成癮就建立在這些超優(yōu)化算法的準(zhǔn)確性和令人生畏的性能之上,而它們成功的秘訣就依賴于出色的推薦算法。

一、推薦算法的類型

1.協(xié)作篩選(基于用戶)

基于用戶的協(xié)作篩選是一種推薦技術(shù),它假設(shè)具有相似偏好的用戶將具有相似的品味。它利用用戶-項目(user-item)的交互數(shù)據(jù),來識別用戶之間的相似性,且通常采用余弦相似性或Pearson 相關(guān)性等來度量。該方法根據(jù)類似用戶給出的評級,來預(yù)測其他用戶的評級或偏好。

但是,此方法可能會面臨一些挑戰(zhàn),例如:尚未與系統(tǒng)交互的新用戶,會出現(xiàn)“冷啟動問題”,并且在處理大量用戶時,也可能會出現(xiàn)可擴(kuò)展性問題。

Python
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity

def user_based_cf(ratings_matrix, user_id, k=5):
 similarities = cosine_similarity(ratings_matrix)
 user_similarities = similarities[user_id]
 similar_users = np.argsort(user_similarities)[::-1][1:k+1]

 recommendations = np.zeros(ratings_matrix.shape[1])
 for similar_user in similar_users:
 recommendations += ratings_matrix[similar_user]

return recommendations / k

上述代碼展示了:

  • 使用余弦相似度來計算用戶的相似度
  • 查找與目標(biāo)用戶最相似的用戶k
  • 匯總類似用戶的評分以生成推薦
  • 返回類似用戶對每個項目的平均評分而且,它實現(xiàn)起來非常簡單,易于修改或擴(kuò)展。

2.協(xié)作篩選(基于項目)

基于項目的協(xié)作篩選假定用戶會更喜歡與他們過去喜歡的項目相類似的項目。它根據(jù)用戶評分或交互來計算項目之間的相似性。這種方法通常比基于用戶的協(xié)作篩選更具可擴(kuò)展性,尤其是在用戶眾多而項目較少的情況下。它允許通過預(yù)先計算項目的相似性,以更快地進(jìn)行實時推薦。

雖然此方法能比基于用戶的方法更好地處理新用戶,但它對缺乏足夠評級的新項目不一定奏效。隨著時間的推移,它受到用戶偏好變化的影響也較小。

Python
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity

def item_based_cf(ratings_matrix, item_id, k=5):
    similarities = cosine_similarity(ratings_matrix.T)
    item_similarities = similarities[item_id]
    similar_items = np.argsort(item_similarities)[::-1][1:k+1]
    
    recommendations = np.zeros(ratings_matrix.shape[0])
    for similar_item in similar_items:
        recommendations += ratings_matrix[:, similar_item]
    
return recommendations / k

上述代碼展示了:

  • 通過轉(zhuǎn)置評級矩陣以計算項目之間的相似性
  • 查找與目標(biāo)項目最相似的k
  • 匯總類似商品的用戶評分
  • 返回基于相似項目的每個用戶的平均評分而且,它對于用戶多于項目的系統(tǒng)非常有效。

3.矩陣分解

矩陣分解會將用戶-項目交互矩陣分解為低維度矩陣,并假設(shè)用戶偏好和項目特征可以由潛在的因素所表示。奇異值分解 (Singular Value Decomposition,SVD 或交替最小二乘法 (Alternating Least Squares,ALS 等技術(shù)通常被用于此目的。

與基于上述記憶的協(xié)作篩選方法相比,這種方法可以有效地處理大型稀疏數(shù)據(jù)集,而且通常能夠提供更高的準(zhǔn)確性。此外,它還可以結(jié)合正則化技術(shù),來防止過度擬合,從而增強(qiáng)模型對不可見的數(shù)據(jù)的泛化。

Python
import numpy as np

def matrix_factorization(R, P, Q, K, steps=5000, alpha=0.0002, beta=0.02):
    Q = Q.T
    for step in range(steps):
        for i in range(len(R)):
            for j in range(len(R[i])):
                if R[i][j] > 0:
                    eij = R[i][j] - np.dot(P[i,:], Q[:,j])
                    for k in range(K):
                        P[i][k] += alpha * (2 * eij * Q[k][j] - beta * P[i][k])
                        Q[k][j] += alpha * (2 * eij * P[i][k] - beta * Q[k][j])
        
        e = 0
        for i in range(len(R)):
            for j in range(len(R[i])):
                if R[i][j] > 0:
                    e += pow(R[i][j] - np.dot(P[i,:], Q[:,j]), 2)
                    for k in range(K):
                        e += (beta/2) * (pow(P[i][k], 2) + pow(Q[k][j], 2))
        if e < 0.001:
            break
return P, Q.T

上述代碼展示了:

  • 實現(xiàn)基本的矩陣分解算法
  • 使用梯度下降,來最小化預(yù)測評級和實際評級之間的誤差
  • 結(jié)合正則化以防止過擬合
  • 迭代更新用戶和項目的潛在因素
  • 當(dāng)誤差低于閾值或達(dá)到最大步長時停止

4.基于內(nèi)容的篩選

基于內(nèi)容的篩選根據(jù)項目的功能和用戶的偏好來推薦項目。它根據(jù)每個用戶和項目的特征,為每個用戶和項目構(gòu)建一個配置文件。
通常此方法采用諸如 TF-IDF(術(shù)語頻率-逆文檔頻率)和余弦相似度等技術(shù),進(jìn)行文本分析和余弦相似度進(jìn)行匹配。由于該方法并不依賴于先前的用戶交互,因此有效地解決了新項目的問題。

然而,它也可能受到過度專業(yè)化(overspecialization)的影響,并導(dǎo)致給出的建議缺乏多樣性。此外,其有效的實施往往需要良好的特征工程,以確保能準(zhǔn)確地捕獲項目的相關(guān)特征。

Python
import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity

def content_based_filtering(item_descriptions, user_profile, k=5):
    vectorizer = TfidfVectorizer()
    item_vectors = vectorizer.fit_transform(item_descriptions)
    user_vector = vectorizer.transform([user_profile])
    
    similarities = cosine_similarity(user_vector, item_vectors)
    top_items = np.argsort(similarities[0])[::-1][:k]
    
return top_items

上述代碼展示了:

  • 使用 TF-IDF 將文本描述轉(zhuǎn)換為數(shù)值向量
  • 計算用戶配置文件和項目描述之間的余弦相似度
  • 返回與用戶配置文件最相似的項目k此方法不但對于具有明確定義的物料特征的系統(tǒng)非常高效,而且可以通過輕松的擴(kuò)展,來包含多種功能類型。

5.混合推薦系統(tǒng)

混合推薦系統(tǒng)結(jié)合了兩種或多種推薦技術(shù),以利用它們各自的優(yōu)勢。通過集成多種方法,混合系統(tǒng)可以減輕例如:冷啟動問題等,單一方法的弱點(diǎn)。常見的方法組合包括協(xié)作篩選和基于內(nèi)容的篩選。其涉及到的技術(shù)包括:加權(quán)、切換、混合或meta-level方法。

與單一方法系統(tǒng)相比,混合系統(tǒng)通??梢蕴峁└鼜?qiáng)大、更準(zhǔn)確的建議。當(dāng)然,有效的實施也離不開仔細(xì)的調(diào)整,以平衡不同的組件,并確保其最佳性能。

Python
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity

def hybrid_recommender(ratings_matrix, content_matrix, user_id, alpha=0.5, k=5):
    cf_similarities = cosine_similarity(ratings_matrix)
    content_similarities = cosine_similarity(content_matrix)
    
    hybrid_similarities = alpha * cf_similarities + (1 - alpha) * content_similarities
    user_similarities = hybrid_similarities[user_id]
    
    similar_users = np.argsort(user_similarities)[::-1][1:k+1]
    
    recommendations = np.zeros(ratings_matrix.shape[1])
    for similar_user in similar_users:
        recommendations += ratings_matrix[similar_user]
    
return recommendations / k

上述代碼展示了:

  • 將協(xié)作篩選和基于內(nèi)容的相似性相結(jié)合
  • 使用帶有參數(shù) alpha 的加權(quán)求和方法
  • 根據(jù)混合相似度查找相似用戶
  • 根據(jù)類似用戶的評分生成推薦而且,它還允許輕松調(diào)整 CF 和基于內(nèi)容的方法之間的平衡

6.奇異值分解 (SVD)

奇異值分解是一種矩陣分解技術(shù),它將矩陣分解為三個分量:U、Σ V^T。在此分解中,U V 分別表示左奇異向量和右奇異向量,而 Σ 包含了奇異值。SVD 通過僅保留頂部的奇異值k來降低維度。這有助于揭示用戶與項目交互中的潛在因素。

此方法對于處理推薦系統(tǒng)中常見的大型稀疏矩陣非常有效。此外,SVD 在準(zhǔn)確性和計算效率之間提供了良好的平衡,使其成為生成推薦的熱門選擇。

Python
import numpy as np
from scipy.sparse.linalg import svds

def svd_recommender(ratings_matrix, k=5):
    U, s, Vt = svds(ratings_matrix, k=k)
    
    sigma = np.diag(s)
    predicted_ratings = np.dot(np.dot(U, sigma), Vt)
    
return predicted_ratings

上述代碼展示了:

  • 使用 scipy svd函數(shù)來執(zhí)行截短了的 SVD
  • 僅使用頂部奇異值k重建評級矩陣
  • 返回所有“用戶-項目”對的預(yù)測評級的密集矩陣由于適用于大型稀疏評級矩陣,它還可以很容易地集成到一個更大的推薦系統(tǒng)中。

7.張量分解

張量分解技術(shù)會將傳統(tǒng)的矩陣分解擴(kuò)展為多維數(shù)據(jù),并允許將時間和位置等上下文信息合并到推薦中。它利用 CP 分解等方法,將張量分解為各個分量張量之和,以捕獲多個因素之間的復(fù)雜交互。與二維方法相比,由于處理的是更高維的數(shù)組,因此該方法需要更多的數(shù)據(jù)和計算資源。

同時,此方法可以通過利用數(shù)據(jù)的其他維度,來提供高度個性化和上下文感知的建議。數(shù)據(jù)結(jié)構(gòu)復(fù)雜性的增加,會使得在各種上下文中,對用戶偏好的理解更加細(xì)致入微,整體推薦的準(zhǔn)確性也就相應(yīng)提高了。

Python
import numpy as np
import tensorly as tl
from tensorly.decomposition import parafac

def tensor_factorization_recommender(tensor, rank=10):
    factors = parafac(tensor, rank=rank)
    reconstructed_tensor = tl.kruskal_to_tensor(factors)
return reconstructed_tensor

上述代碼展示了:

  • 使用 TensorLy 庫進(jìn)行張量運(yùn)算和分解
  • PARAFAC 分解應(yīng)用于輸入張量
  • 從分解因子中重建張量
  • 將重建的張量作為建議返回而且,它還可以處理多維數(shù)據(jù)(例如,用戶-項目-上下文)。

8.神經(jīng)協(xié)作篩選

基于深度學(xué)習(xí)的推薦系統(tǒng)會將協(xié)作篩選技術(shù)與神經(jīng)網(wǎng)絡(luò)相結(jié)合。這種方法能夠?qū)W到非線性用戶-項目的交互,而傳統(tǒng)的矩陣分解方法則可能難以解決。深度學(xué)習(xí)推薦器通常使用嵌入層,來表示密集的低維空間中的用戶和項目。據(jù)此,它可以輕松地集成各種附加功能或附帶信息,包括用戶人口統(tǒng)計或項目描述等,從而提高推薦的效果。

在大型數(shù)據(jù)集上進(jìn)行訓(xùn)練時,基于深度學(xué)習(xí)的系統(tǒng)在準(zhǔn)確性方面,通常會優(yōu)于傳統(tǒng)的矩陣分解方法。當(dāng)然,這一優(yōu)勢是以計算復(fù)雜性的增加和對大數(shù)據(jù)的需求為代價的。

此外,深度學(xué)習(xí)推薦器還需要仔細(xì)的超參數(shù)調(diào)優(yōu),才能獲得最佳結(jié)果。與更簡單的協(xié)作篩選方法相比,深度學(xué)習(xí)推薦器的實施和維護(hù)更具挑戰(zhàn)性。

Python
import tensorflow as tf
from tensorflow.keras.layers import Input, Embedding, Flatten, Dense, Concatenate
from tensorflow.keras.models import Model

def neural_collaborative_filtering(num_users, num_items, embedding_size=100):
    user_input = Input(shape=(1,), dtype='int32', name='user_input')
    item_input = Input(shape=(1,), dtype='int32', name='item_input')

    user_embedding = Embedding(num_users, embedding_size, name='user_embedding')(user_input)
    item_embedding = Embedding(num_items, embedding_size, name='item_embedding')(item_input)

    user_vecs = Flatten()(user_embedding)
    item_vecs = Flatten()(item_embedding)

    concat = Concatenate()([user_vecs, item_vecs])
    dense1 = Dense(128, activation='relu')(concat)
    dense2 = Dense(64, activation='relu')(dense1)
    output = Dense(1, activation='sigmoid')(dense2)

    model = Model(inputs=[user_input, item_input], outputs=output)
    model.compile(optimizer='adam', loss='binary_crossentropy')

上述代碼展示了:

  • 使用 TensorFlow Keras 構(gòu)建神經(jīng)網(wǎng)絡(luò)模型
  • 為用戶和項目創(chuàng)建嵌入層
  • 連接用戶和項目嵌入
  • 添加密集層以學(xué)習(xí)非線性交互
  • 返回一個已編譯的模型,以便進(jìn)行訓(xùn)練

二、Netflix 案例研究

作為一種協(xié)作篩選算法,Netflix 的推薦系統(tǒng)源于 2000 年的 CineMatch。它使用會員評分來估計用戶對于電影的喜愛程度。2006 年,Netflix 發(fā)起了 100 萬美元的獎金池,旨在創(chuàng)建一個能夠勝過 CineMatch 10% 的模型,進(jìn)而讓獲勝的算法被應(yīng)用到Netflix的內(nèi)部數(shù)據(jù)中。

Netflix很快以此開始積累用戶,并在2007年轉(zhuǎn)向流媒體數(shù)據(jù),讓觀眾接觸到了實時生成建議的強(qiáng)化學(xué)習(xí)算法和聚類算法。隨著推薦算法在有效性上的改進(jìn),越來越多的用戶開始轉(zhuǎn)用Netflix。他們在Netflix上觀看的內(nèi)容中,幾乎有80%是由推薦算法所建議的。

說到Netflix 先進(jìn)的機(jī)器學(xué)習(xí)技術(shù)和聚類技術(shù),該系統(tǒng)是基于用戶觀看的電影相關(guān)元數(shù)據(jù),由 1300 多個聚類組成。這使得他們能夠向用戶提供高度優(yōu)化的建議。不過,Netflix很快就遇到了一個新的問題--用戶規(guī)模。隨著月用戶數(shù)達(dá)到數(shù)億級,Netflix需要全力投入云計算。

簡而言之,Netflix 2008 年開始將所有數(shù)據(jù)遷移到 Amazon Web Services AWS)上。 他們充分利用了AWS 內(nèi)置的對于機(jī)器學(xué)習(xí)的支持。據(jù)報道,Netflix 早在 2022 年就為其全球觀眾使用了超過 100,000 AWS 服務(wù)器和 1,000 Kinesis 分片。而且,Netflix的推薦器算法是高度自動化的,每天都能為用戶執(zhí)行數(shù)千次 A/B 測試。截止去年,Netflix已獲得了高達(dá)310億美元的收入。

目前,Netflix推薦系統(tǒng)的主要部分包括:

  • 強(qiáng)化學(xué)習(xí):根據(jù)用戶行為,Netflix 會實時更改屏幕上的內(nèi)容。系統(tǒng)處于不斷變化的狀態(tài),會根據(jù)用戶的交互而變化。
  • 深度神經(jīng)網(wǎng)絡(luò):鑒于數(shù)據(jù)規(guī)模相當(dāng)龐大(超過 15,000 個節(jié)目和近 3 億用戶),深度學(xué)習(xí)和NVIDIA技術(shù)(請參閱下文,以了解使用 NVIDIA 最新的 Merlin 深度學(xué)習(xí)技術(shù))得到了廣泛的使用。
  • 矩陣分解:通過在高度稀疏和龐大的矩陣上有效地執(zhí)行奇異值分解 SVD),Netflix 可以估計某些類型的節(jié)目對于用戶的重要性和吸引力。
  • 集成學(xué)習(xí):上面列出的算法的組合可以動態(tài)調(diào)整推薦,實現(xiàn)了沒有兩個用戶會看到相同的屏幕。這種個性化是獲取大筆資金,并使得 Netflix 在所有 OTT 平臺上處于領(lǐng)先地位的根本原因。Netflix的上述所有這些模型和優(yōu)化,每天都會為數(shù)十萬用戶運(yùn)行數(shù)十萬次。

三、現(xiàn)代化深度學(xué)習(xí)技術(shù)

針對大規(guī)模用戶,任何一臺計算機(jī)都無法單獨(dú)地運(yùn)行機(jī)器學(xué)習(xí)模型。這就是 AWS 在數(shù)千臺機(jī)器上,以分布式方式運(yùn)行 ML 算法的原因。

現(xiàn)代化推薦系統(tǒng)已廣泛地使用到了深度學(xué)習(xí)。作為深度學(xué)習(xí)的一部分,GPU/TPU 計算系統(tǒng)被廣泛用于加速計算。例如,NVIDIA GPU 集群在 ML 算法的執(zhí)行中,發(fā)揮著重要的作用。其新近發(fā)布的Merlin,就是一種高性能推薦算法。經(jīng)過優(yōu)化,它可以在數(shù)千臺機(jī)器上運(yùn)行,并提供卓越的計算結(jié)果。

1.NVIDIA 推薦系統(tǒng)

NVIDIA Merlin官宣的深度推薦系統(tǒng)應(yīng)用框架包括:

NVTabular(https://github.com/NVIDIA/nvTabular)

NVTabular 是一個特征工程和預(yù)處理庫,旨在快速便捷地操作 TB 級數(shù)據(jù)集。它特別適用于推薦系統(tǒng),這些系統(tǒng)需要一種可擴(kuò)展的方式,來處理諸如用戶-項目元數(shù)據(jù)、以及上下文信息等。它提供了一種高級抽象來簡化代碼,并使用 RAPIDS cuDF 庫來加速 GPU 上的計算。使用 NVTabular,你只需 10-20 行高級 API 代碼,就可以設(shè)置好數(shù)據(jù)工程管道。與基于 CPU 的優(yōu)化方法相比,NVTabular 實現(xiàn)了高達(dá) 10 倍的加速,而且無論 GPU/CPU 及內(nèi)存的配置如何,都不會受到數(shù)據(jù)集大小的限制。

HugeCTR(https://github.com/NVIDIA/HugeCTR)

HugeCTR 是一個高效的 GPU 框架,專為推薦模型訓(xùn)練而設(shè)計,旨在實現(xiàn)高性能和易用性。它既支持簡單的深度模型,也支持最先進(jìn)的混合模型,如W&D、Deep Cross NetworkDeepFM。而HugeCTR DLRM模型的詳細(xì)信息和超參數(shù),則可以很容易地以JSON格式被指定,并允許開發(fā)者從一系列常見的模型中進(jìn)行快速選擇。

TensorRT (https://developer.nvidia.com/tensorrt)和Triton 推理服務(wù)器(https://developer.nvidia.com/nvidia-triton-inference-server)

NVIDIA TensorRT 是一個用于高性能深度學(xué)習(xí)推理的 SDK 。它包括了一個深度學(xué)習(xí)推理優(yōu)化器和運(yùn)行時,可以為推理應(yīng)用程序提供低延遲和高吞吐量的服務(wù)。TensorRT 可以使用通用接口,即開放神經(jīng)網(wǎng)絡(luò)交換格式ONNX,接入來自所有深度學(xué)習(xí)框架的訓(xùn)練神經(jīng)網(wǎng)絡(luò)。

NVIDIA Triton 推理服務(wù)器提供了針對 NVIDIA GPU 優(yōu)化的云推理解決方案。該服務(wù)器通過 HTTP gRPC 端點(diǎn)提供推理服務(wù),允許遠(yuǎn)程客戶端請求對服務(wù)器管理的任何模型進(jìn)行推理。目前,Triton Server 可以使用包括 TensorFlowPyTorch TorchScript)、ONNX 運(yùn)行時和 TensorRT 運(yùn)行時等多個后端,來提供深度學(xué)習(xí)推薦器模型。

代碼示例

以下代碼示例展示了轉(zhuǎn)換 1 TB Criteo Ads 數(shù)據(jù)集所需的實際預(yù)處理工作流。該工作流僅使用 NVTabular 通過十幾行代碼指定的數(shù)值列和分類列。據(jù)此,我們可以定義一個 NVTabular 工作流,并提供一組訓(xùn)練和驗證文件。然后,我們再將預(yù)處理操作添加到工作流中,并將數(shù)據(jù)保存到磁盤上。相比之下,那些自定義構(gòu)建的處理代碼,例如:由Facebook DLRM 實現(xiàn)的基于 NumPy 的數(shù)據(jù)工具,對于同一管道,則需要 500-1000 行代碼才能實現(xiàn)。

Python
import nvtabular as nvt
import glob
 
cont_names = ["I"+str(x) for x in range(1, 14)] # specify continuous feature names
cat_names = ["C"+str(x) for x in range(1, 27)] # specify categorical feature names
label_names = ["label"] # specify target feature
columns = label_names + cat_names + cont_names # all feature names
 
# initialize Workflow
proc = nvt.Worfklow(cat_names=cat_names, cont_names=cont_names, label_name=label_names)
 
# create datsets from input files
train_files = glob.glob("./dataset/train/*.parquet")
valid_files = glob.glob("./dataset/valid/*.parquet")
 
train_dataset = nvt.dataset(train_files, gpu_memory_frac=0.1)
valid_dataset = nvt.dataset(valid_files, gpu_memory_frac=0.1)
 
# add feature engineering and preprocessing ops to Workflow
proc.add_cont_feature([nvt.ops.ZeroFill(), nvt.ops.LogOp()])
proc.add_cont_preprocess(nvt.ops.Normalize())
proc.add_cat_preprocess(nvt.ops.Categorify(use_frequency=True, freq_threshold=15))
 
# compute statistics, transform data, export to disk
proc.apply(train_dataset, shuffle=True, output_path="./processed_data/train", num_out_files=len(train_files))
proc.apply(valid_dataset, shuffle=False, output_path="./processed_data/valid", num_out_files=len(valid_files))

你可以通過鏈接--https://github.com/NVIDIA-Merlin,在GitHub 存儲庫中找到整個技術(shù)棧。

小結(jié)

綜上所述,推薦系統(tǒng)已從簡單的統(tǒng)計建模、基于內(nèi)容的篩選和協(xié)作篩選,發(fā)展到了我們現(xiàn)在常見的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)、HPC 節(jié)點(diǎn)、矩陣分解,并正在向更大維度的擴(kuò)展。推薦系統(tǒng)可謂無處不在,從Google到Microsoft,從Amazon到Flipkart。它已是現(xiàn)代企業(yè)的重要組成部分。希望如下參考能夠幫助你對推薦系統(tǒng)有進(jìn)一步的了解。

譯者介紹

陳峻(Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項目實施經(jīng)驗,善于對內(nèi)外部資源與風(fēng)險實施管控,專注傳播網(wǎng)絡(luò)與信息安全知識與經(jīng)驗。

原文標(biāo)題:A Deep Dive Into Recommendation Algorithms With Netflix Case Study and NVIDIA Deep Learning Technology,作者:Sagar Sidana

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2020-09-21 05:58:40

深度學(xué)習(xí)算法目標(biāo)檢測

2020-07-20 06:35:55

BashLinux

2010-11-19 16:22:14

Oracle事務(wù)

2010-07-13 09:36:25

2010-06-23 20:31:54

2009-08-25 16:27:10

Mscomm控件

2022-08-26 13:48:40

EPUBLinux

2020-09-21 09:53:04

FlexCSS開發(fā)

2010-05-18 10:39:22

2024-08-21 08:00:00

2023-10-06 00:04:02

2024-08-19 08:07:52

2020-09-19 17:51:31

機(jī)器學(xué)習(xí)算法神經(jīng)網(wǎng)絡(luò)

2013-04-16 10:20:21

云存儲服務(wù)云存儲SLA服務(wù)水平協(xié)議

2021-04-28 10:13:58

zookeeperZNode核心原理

2021-01-19 12:00:39

前端監(jiān)控代碼

2010-11-08 13:54:49

Sqlserver運(yùn)行

2018-06-22 13:05:02

前端JavaScript引擎

2010-09-27 09:31:42

JVM內(nèi)存結(jié)構(gòu)

2010-11-15 11:40:44

Oracle表空間
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號