ALS演算法 (面試準備)

2022-07-05 09:54:09 字數 783 閱讀 4932

als演算法描述:

1、als演算法用來補全使用者評分矩陣。由於使用者評分矩陣比較稀疏,將使用者評分矩陣進行分解,變成v和u的乘積。通過求得v和u兩個小的矩陣來補全使用者評分矩陣。

2、als演算法使用交替最小二乘法來進行求解。

3、als分為顯示反饋和隱式反饋兩種。顯示反饋是指使用者有明確的評分。對於商品推薦來說,大部分是通過使用者的行為,獲取隱式反饋的評分。

隱式反饋評分矩陣需要進行處理,如果有使用者評分則置為1,沒有則賦值為0。但是對這個處理後的評分矩陣,再有乙個置信度來評價這個評分。置信度等於1+a*使用者真實評分

4、als的代價函式是估計值和現有的評分值誤差的平方和,引入了l2正則

als演算法引數:

引數:rating:由使用者-物品矩陣構成的訓練集

rank:隱藏因子的個數

numiterations: 迭代次數

lambda:正則項的懲罰係數

alpha: 置信引數

als交替最小二乘法求解步驟:

最小二乘法是通過最小化誤差的平方和來尋找和資料最匹配的函式。

使用交替最小二乘法來求解。步驟是先設定乙個x規定,然後求解另乙個矩陣y。然後再固定乙個矩陣y,求解另乙個矩陣x。這就是交替二乘法的步驟。

在矩陣求解的過程中,比如固定y,求解x的話,目標評分矩陣a。x的每一行可以獨立求解,x的第i行和y的計算得到a的第i行。

這樣的話,對於每一步來說,x或者y的行或者列都是可以獨立並行求解的。這樣als就可以進行並行化計算了。

準備演算法面試

我決定寫篇短文,即為此文。之所以要寫這篇文章,緣於微博上常有朋友詢問,要畢業找工作了,如何備戰演算法。儘管在微博上簡單梳理過,如下圖所示 但因字數限制,許多問題無法一次性說清楚,故特撰此文著重闡述下 程式設計師如何快速準備面試中的演算法,繼而推薦一些相關的書籍或資料。順便也供節後跳槽 3月春季招聘小...

如何準備演算法面試?

主要介紹演算法面試的一些問題 以及如何準備演算法面試 演算法面試不僅僅是正確的回答問題 對於面試中遇到的大多數問題,都能有乙個合理的思考路徑 正確 本身是乙個相對概念 例子我們需要對一組資料進行排序 解決 快速排序演算法 o nlogn 向面試官提問 這組資料有什麼樣的特徵?向面試官提問 對排序有什...

面試準備 排序演算法

氣泡排序 從陣列中的第乙個元素開始到最後乙個元素,將相鄰兩個元素進行比較,若陣列左端的元素大於陣列有短的元素,則交換兩元素的位置,然後再對該陣列剩下的元素進行氣泡排序 氣泡排序 void bubblesort int arr,int length 選擇排序 首先在未排序陣列中找到最小的資料,將其放在...