日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

简述推荐系统中的矩阵分解

發(fā)布時(shí)間:2025/3/15 windows 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简述推荐系统中的矩阵分解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

AI有道

一個(gè)有情懷的公眾號(hào)

1

Linear Network Hypothesis

回顧一下,我們?cè)跈C(jī)器學(xué)習(xí)基石課程的第一節(jié)課就提到過(guò),機(jī)器學(xué)習(xí)的目的就是讓機(jī)器從數(shù)據(jù)data中學(xué)習(xí)到某種能力skill。我們之前舉過(guò)一個(gè)典型的推薦系統(tǒng)的例子。就是說(shuō),假如我們手上有許多不同用戶對(duì)不同電影的排名rank,通過(guò)機(jī)器學(xué)習(xí),訓(xùn)練一個(gè)模型,能夠?qū)τ脩魶](méi)有看過(guò)的某部電影進(jìn)行排名預(yù)測(cè)。

一個(gè)典型的電影推薦系統(tǒng)的例子是2006年Netflix舉辦的一次比賽。數(shù)據(jù)包含了480189個(gè)用戶和17770部電影,總共1億多個(gè)排名信息。該推薦系統(tǒng)模型中,我們用x?n=(n)表示第n個(gè)用戶,這是一個(gè)抽象的特征,常常使用數(shù)字編號(hào)來(lái)代替具體哪個(gè)用戶。輸出方面,我們使用ym=rnm表示第n個(gè)用戶對(duì)第m部電影的排名數(shù)值。

下面我們來(lái)進(jìn)一步看看這些抽象的特征,x?n=(n)是用戶的ID,通常用數(shù)字表示。例如1126,5566,6211等。這些編號(hào)并沒(méi)有數(shù)值大小上的意義,只是一種ID標(biāo)識(shí)而已。這類特征被稱為類別特征(categorical features)。常見(jiàn)的categorical features包括:IDs,blood type,programming languages等等。而許多機(jī)器學(xué)習(xí)模型中使用的大部分都是數(shù)值特征(numerical features)。例如linear models,NNet模型等。但決策樹(decision tree)是個(gè)例外,它可以使用categorical features。所以說(shuō),如果要建立一個(gè)類似推薦系統(tǒng)的機(jī)器學(xué)習(xí)模型,就要把用戶ID這種categorical features轉(zhuǎn)換為numerical features。這種特征轉(zhuǎn)換其實(shí)就是訓(xùn)練模型之前一個(gè)編碼(encoding)的過(guò)程。

一種最簡(jiǎn)單的encoding方式就是binary vector encoding。也就是說(shuō),如果輸入樣本有N個(gè),就構(gòu)造一個(gè)維度為N的向量。第n個(gè)樣本對(duì)應(yīng)向量上第n個(gè)元素為1,其它元素都是0。下圖就是一個(gè)binary vector encoding的例子。

經(jīng)過(guò)encoding之后,輸入xnxn是N維的binary vector,表示第n個(gè)用戶。輸出ynyn是M維的向量,表示該用戶對(duì)M部電影的排名數(shù)值大小。注意,用戶不一定對(duì)所有M部電影都作過(guò)評(píng)價(jià),未評(píng)價(jià)的恰恰是我們要預(yù)測(cè)的(下圖中問(wèn)號(hào)?表示未評(píng)價(jià)的電影)。

總共有N個(gè)用戶,M部電影。對(duì)于這樣的數(shù)據(jù),我們需要掌握每個(gè)用戶對(duì)不同電影的喜愛(ài)程度及排名。這其實(shí)就是一個(gè)特征提取(feature extraction)的過(guò)程,提取出每個(gè)用戶喜愛(ài)的電影風(fēng)格及每部電影屬于哪種風(fēng)格,從而建立這樣的推薦系統(tǒng)模型。可供選擇使用的方法和模型很多,這里,我們使用的是NNet模型。NNet模型中的網(wǎng)絡(luò)結(jié)構(gòu)是N?d??M型,其中N是輸入層樣本個(gè)數(shù),d?是隱藏層神經(jīng)元個(gè)數(shù),M是輸出層電影個(gè)數(shù)。該NNet為了簡(jiǎn)化計(jì)算,忽略了常數(shù)項(xiàng)。當(dāng)然可以選擇加上常數(shù)項(xiàng),得到較復(fù)雜一些的模型。順便提一下,這個(gè)結(jié)構(gòu)跟我們之前介紹的autoencoder非常類似,都是只有一個(gè)隱藏層。

說(shuō)到這里,有一個(gè)問(wèn)題,就是上圖NNet中隱藏層的tanh函數(shù)是否一定需要呢?答案是不需要。因?yàn)檩斎胂蛄?strong>x是經(jīng)過(guò)encoding得到的,其中大部分元素為0,只有一個(gè)元素為1。那么,只有一個(gè)元素xn與相應(yīng)權(quán)重的乘積進(jìn)入到隱藏層。由于xn=1,則相當(dāng)于只有一個(gè)權(quán)重值進(jìn)入到tanh函數(shù)進(jìn)行運(yùn)算。從效果上來(lái)說(shuō),tanh(x)x是無(wú)差別的,只是單純經(jīng)過(guò)一個(gè)函數(shù)的計(jì)算,并不影響最終的結(jié)果,修改權(quán)重值即可得到同樣的效果。因此,我們把隱藏層的tanh函數(shù)替換成一個(gè)線性函數(shù)y=x,得到下圖所示的結(jié)構(gòu)。

由于中間隱藏層的轉(zhuǎn)換函數(shù)是線性的,我們把這種結(jié)構(gòu)稱為L(zhǎng)inear Network(與linear autoencoder比較相似)。看一下上圖這個(gè)網(wǎng)絡(luò)結(jié)構(gòu),輸入層到隱藏層的權(quán)重W1維度是Nxd?,用向量V表示。隱藏層到輸出層的權(quán)重W2維度是d?xM,用矩陣W表示。把權(quán)重由矩陣表示之后,Linear Network的hypothesis 可表示為:

如果是單個(gè)用戶xn,由于X向量中只有元素xn為1,其它均為0,則對(duì)應(yīng)矩陣V只有第n列向量是有效的,其輸出hypothesis為:

2

Basic Matrix Factorization

剛剛我們已經(jīng)介紹了linear network的模型和hypothesis。其中Vx可以看作是對(duì)用戶x的一種特征轉(zhuǎn)換Φ(x)。對(duì)于單部電影,其預(yù)測(cè)的排名可表示為:

推導(dǎo)完linear network模型之后,對(duì)于每組樣本數(shù)據(jù)(即第n個(gè)用戶第m部電影),我們希望預(yù)測(cè)的排名與實(shí)際樣本排名yn盡可能接近。所有樣本綜合起來(lái),我們使用squared error measure的方式來(lái)定義EinEin的表達(dá)式如下所示:

上式中,灰色的部分是常數(shù),并不影響最小化求解,所以可以忽略。接下來(lái),我們就要求出Ein最小化時(shí)對(duì)應(yīng)的VW解。

上面的表格說(shuō)明了我們希望將實(shí)際排名情況R分解成兩個(gè)矩陣(VW)的乘積形式。V的維度是d?x N的,N是用戶個(gè)數(shù),d?可以是影片類型,例如(喜劇片,愛(ài)情片,懸疑片,動(dòng)作片,…)。根據(jù)用戶喜歡的類型不同,賦予不同的權(quán)重。W的維度是d?x M,M是電影數(shù)目,d?同樣是影片類型,該部電影屬于哪一類型就在那個(gè)類型上占比較大的權(quán)重。當(dāng)然,d?維特征不一定就是影片類型,還可以是其它特征,例如明顯陣容、年代等等。

那么,Matrix Factorization的目標(biāo)就是最小化Ein函數(shù)。Ein表達(dá)式如下所示:

Ein中包含了兩組待優(yōu)化的參數(shù),分別是vnwm。我們可以借鑒上節(jié)課中k-Means的做法,將其中第一個(gè)參數(shù)固定,優(yōu)化第二個(gè)參數(shù),然后再固定第二個(gè)參數(shù),優(yōu)化第一個(gè)參數(shù),一步一步進(jìn)行優(yōu)化。

當(dāng)vn固定的時(shí)候,只需要對(duì)每部電影做linear regression即可,優(yōu)化得到每部電影的d?維特征值wm

當(dāng)wm固定的時(shí)候,因?yàn)閂和W結(jié)構(gòu)上是對(duì)稱的,同樣只需要對(duì)每個(gè)用戶做linear regression即可,優(yōu)化得到每個(gè)用戶對(duì)d?維電影特征的喜愛(ài)程度vn

這種算法叫做alternating least squares algorithm。它的處理思想與k-Means算法相同,其算法流程圖如下所示:

alternating least squares algorithm有兩點(diǎn)需要注意。第一是initialize問(wèn)題,通常會(huì)隨機(jī)選取vnwm。第二是converge問(wèn)題,由于每次迭代更新都能減小EinEin會(huì)趨向于0,則保證了算法的收斂性。

在上面的分析中,我們提過(guò)Matrix Factorization與Linear Autoencoder的相似性,下圖列出了二者之間的比較。

Matrix Factorization與Linear Autoencoder有很強(qiáng)的相似性,都可以從原始資料匯總提取有用的特征。其實(shí),linear autoencoder可以看成是matrix factorization的一種特殊形式。

3

Stochastic Gradient Descent

我們剛剛介紹了alternating least squares algorithm來(lái)解決Matrix Factorization的問(wèn)題。這部分我們將討論使用Stochastic Gradient Descent方法來(lái)進(jìn)行求解。之前的alternating least squares algorithm中,我們考慮了所有用戶、所有電影。現(xiàn)在使用SGD,隨機(jī)選取一筆資料,然后只在與這筆資料有關(guān)的error function上使用梯度下降算法。使用SGD的好處是每次迭代只要處理一筆資料,效率很高;而且程序簡(jiǎn)單,容易實(shí)現(xiàn);最后,很容易擴(kuò)展到其它的error function來(lái)實(shí)現(xiàn)。

對(duì)于每筆資料,它的error function可表示為:

上式中的err是squared error function,僅與第n個(gè)用戶vn,第m部電影wm有關(guān)。其對(duì)vnwm的偏微分結(jié)果為:

計(jì)算完任意一個(gè)樣本點(diǎn)的SGD后,就可以構(gòu)建Matrix Factorization的算法流程。SGD for Matrix Factorization的算法流程如下所示:

在實(shí)際應(yīng)用中,由于SGD算法簡(jiǎn)單高效,Matrix Factorization大多采用這種算法。

介紹完SGD for Matrix Factorization之后,我們來(lái)看一個(gè)實(shí)際的應(yīng)用例子。問(wèn)題大致是這樣的:根據(jù)現(xiàn)在有的樣本資料,預(yù)測(cè)未來(lái)的趨勢(shì)和結(jié)果。顯然,這是一個(gè)與時(shí)間先后有關(guān)的預(yù)測(cè)模型。比如說(shuō)一個(gè)用戶三年前喜歡的電影可能現(xiàn)在就不喜歡了。所以在使用SGD選取樣本點(diǎn)的時(shí)候有一個(gè)技巧,就是最后T次迭代,盡量選擇時(shí)間上靠后的樣本放入到SGD算法中。這樣最后的模型受這些時(shí)間上靠后的樣本點(diǎn)影響比較大,也相對(duì)來(lái)說(shuō)比較準(zhǔn)確,對(duì)未來(lái)的預(yù)測(cè)會(huì)比較準(zhǔn)。

所以,在實(shí)際應(yīng)用中,我們除了使用常規(guī)的機(jī)器學(xué)習(xí)算法外,還需要根據(jù)樣本數(shù)據(jù)和問(wèn)題的實(shí)際情況來(lái)修改我們的算法,讓模型更加切合實(shí)際,更加準(zhǔn)確。我們要學(xué)會(huì)靈活運(yùn)用各種機(jī)器學(xué)習(xí)算法,而不能只是照搬。

4

Summary of Extraction Models

從第12節(jié)課開(kāi)始到現(xiàn)在,我們總共用了四節(jié)課的時(shí)間來(lái)介紹Extraction Models。雖然我們沒(méi)有給出Extraction Models明確的定義,但是它主要的功能就是特征提取和特征轉(zhuǎn)換,將原始數(shù)據(jù)更好地用隱藏層的一些節(jié)點(diǎn)表征出來(lái),最后使用線性模型將所有節(jié)點(diǎn)aggregation。這種方法使我們能夠更清晰地抓住數(shù)據(jù)的本質(zhì),從而建立最佳的機(jī)器學(xué)習(xí)模型。

下圖所示的就是我們介紹過(guò)的所有Extraction Models,除了這四節(jié)課講的內(nèi)容之外,還包括之前介紹的Adaptive/Gradient Boosting模型。因?yàn)橹肮P記中都詳細(xì)介紹過(guò),這里就不再一一總結(jié)了。

除了各種Extraction Models之外,我們這四節(jié)課還介紹了不同的Extraction Techniques。下圖所示的是對(duì)應(yīng)于不同的Extraction Models的Extraction Techniques。

最后,總結(jié)一下這些Extraction Models有什么樣的優(yōu)點(diǎn)和缺點(diǎn)。從優(yōu)點(diǎn)上來(lái)說(shuō):

  • easy:機(jī)器自己完成特征提取,減少人類工作量

  • powerful:能夠處理非常復(fù)雜的問(wèn)題和特征提取

另一方面,從缺點(diǎn)上來(lái)說(shuō):

  • hard:通常遇到non-convex的優(yōu)化問(wèn)題,求解較困難,容易得到局部最優(yōu)解而非全局最優(yōu)解

  • overfitting:模型復(fù)雜,容易造成過(guò)擬合,需要進(jìn)行正則化處理

所以說(shuō),Extraction Models是一個(gè)非常強(qiáng)大的機(jī)器學(xué)習(xí)工具,但是使用的時(shí)候也要小心處理各種可能存在的問(wèn)題。

5

Summary

本文主要介紹了Matrix Factorization。從電影推薦系統(tǒng)模型出發(fā),首先,我們介紹了Linear Network。它從用戶ID編碼后的向量中提取出有用的特征,這是典型的feature extraction。然后,我們介紹了基本的Matrix Factorization算法,即alternating least squares,不斷地在用戶和電影之間交互地做linear regression進(jìn)行優(yōu)化。為了簡(jiǎn)化計(jì)算,提高運(yùn)算速度,也可以使用SGD來(lái)實(shí)現(xiàn)。事實(shí)證明,SGD更加高效和簡(jiǎn)單。同時(shí),我們可以根據(jù)具體的問(wèn)題和需求,對(duì)固有算法進(jìn)行一些簡(jiǎn)單的調(diào)整,來(lái)獲得更好的效果。最后,我們對(duì)已經(jīng)介紹的所有Extraction Models做個(gè)簡(jiǎn)單的總結(jié)。Extraction Models在實(shí)際應(yīng)用中是個(gè)非常強(qiáng)大的工具,但是也要避免出現(xiàn)過(guò)擬合等問(wèn)題。

往期回顧

【1】線性支持向量機(jī)(LSVM)

【2】深度學(xué)習(xí)概述

【3】

【4】

【5】卷積神經(jīng)網(wǎng)絡(luò)CNN基礎(chǔ)

【6】循環(huán)神經(jīng)網(wǎng)絡(luò)RNN

【7】干貨 | 吳恩達(dá)deeplearning.ai專項(xiàng)課程歷史文章匯總

【8】簡(jiǎn)單的梯度下降算法,你真的懂了嗎?

【9】力薦 | 臺(tái)大林軒田《機(jī)器學(xué)習(xí)基石》資源匯總

長(zhǎng)按二維碼

掃描關(guān)注

如果喜歡我的文章,就點(diǎn)贊分享吧!

總結(jié)

以上是生活随笔為你收集整理的简述推荐系统中的矩阵分解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产欧美日韩综合精品一区 | 欧美激情在线狂野欧美精品 | 日本精品视频一区 | 99re在线视频 | 成人亚洲一区 | 超碰.com | 国产一区2 | 国产91av在线 | aaaa一级片| 黄色高潮| 欧美激情3p | 日韩精品一区中文字幕 | 解开人妻的裙子猛烈进入 | 天天操天天干天天舔 | 欧美色视 | 欧美色图13p| 国产精品区在线观看 | 肉色超薄丝袜脚交69xx | av在线你懂的 | 麻豆三级在线观看 | 欧美日韩在线视频免费观看 | 四川黄色一级片 | 欧美区国产区 | 综合久久综合久久 | 亚洲欧美另类一区 | 久久久久久久久久影视 | 性开放网站 | 成人av一区二区三区 | 精品不卡在线 | 高hnp视频| 狠狠干天天 | 天天爱天天色 | 黄色专区 | 日韩美一级片 | h片在线观看免费 | 精品1区2区| 一区在线播放 | 午夜久久久 | 久久免费影院 | 一二三区在线 | 久久九九国产 | 91久久视频 | 国产素人自拍 | 欧美高清hd | 日本色区 | 日韩精品一区二 | 麻豆乱码国产一区二区三区 | 国产午夜精品久久久久久久 | 欧美视频一 | 国产在线一区二区 | 51精品国产人成在线观看 | 自拍偷拍国产视频 | 六月婷婷网 | 扒开jk护士狂揉免费 | 国产三级在线看 | 好吊妞一区二区三区 | 橹图极品美女无圣光 | 国产福利电影在线 | 亚洲第一男人天堂 | 黄色一级片av | 国产成人黄色av | 久久精品2 | 国产精品久久久爽爽爽麻豆色哟哟 | 性无码专区无码 | 久色资源| 少妇日皮视频 | 夜夜爽夜夜 | 草莓视频成人在线 | 动漫美女被艹 | 亚洲国产一区在线 | 91在线一区二区 | 国产又粗又猛 | 欧美日韩亚洲国产一区 | www.av色| 国产在线视频卡一卡二 | xxxxx在线观看 | 国产精品成人国产乱一区 | 欧美精品一区在线观看 | 一级黄毛片 | 欧美专区在线播放 | 性按摩玩人妻hd中文字幕 | 黄色3级视频 | 亚洲激情视频一区 | 亚洲色图欧美色 | 爆操日本美女 | 人人妻人人澡人人爽人人dvd | 国产精品成人免费一区二区视频 | 日本精品久久久久中文字幕 | 直接看毛片 | 青青草97国产精品麻豆 | 精品黑人一区二区三区国语馆 | 日本精品在线视频 | 双性人做受视频 | 男男免费视频 | 国产乱视频 | 狠狠干天天爱 | 日本美女毛片 | sese欧美| 亚洲国产欧美一区 |