spark 機器學習 ALS原理 一

2022-09-02 17:30:08 字數 1668 閱讀 7573

1.線性回歸模型

線性回歸是統計學中最常用的演算法,當你想表示兩個變數間的數學關係時,就可以用線性回歸。當你使用它時,你首先假設輸出變數(相應變數、因變數、標籤)和**變數(自變數、解釋變數、特徵)之間存在的線性關係。

(自變數是指:研究者主動操縱,而引起因變數發生變化的因素或條件,因此自變數被看作是因變數的原因。

因變數是指:在函式關係式中,某個量會隨乙個(或幾個)變動的量的變動而變動。)

線性模型可能使用於類似下面的問題:比如你正在研究乙個公司的銷售額和該公司在廣告上的投入之間的關係,或者某人在社交**上的好友數量和他每天在該社交**上花費的時間之間的關係。

理解線性回歸乙個切入點是先確定那條直線,我們知道,通過斜率和截距就可以完全確定一條直線

例子1:

假設 (使用者數,利潤值)

那麼哪條線才是我們使用的最優線呢?這是乙個擬合過程

als中文名作交替最小二乘法,就是在最小二乘法基礎上的公升級,在機器學習中,als特指使用最小二乘法求解的乙個協同過濾演算法,是協同過濾中的一種。als演算法是2023年以來,用的比較多的協同過濾演算法。從協同過濾的分類來說,als演算法屬於user-item cf,也叫做混合cf,因為它同時考慮了user和item兩個方面,即即可基於使用者進行推薦又可基於物品

如下圖所示,u表示使用者,v表示商品,使用者給商品打分,但是並不是每乙個使用者都會給每一種商品打分。比如使用者u6就沒有給商品v3打分,需要我們推斷出來,這就是機器學習的任務。

由於並不是每個使用者給每種商品都打了分,可以假設als矩陣是低秩的,即乙個

m*n的矩陣,是由

m*k和

k*n兩個矩陣相乘得到的,其中

kam×n=um×k×vk×n

表示使用者對隱藏特徵的偏好,vk×n

表示產品包含隱藏特徵的程度。機器學習的任務就是求出um×k

和vk×n

。可知ui

tvj是使用者i對商品

j的偏好,使用

frobenius

範數來量化重構u和

v產生的誤差。由於矩陣中很多地方都是空白的,即使用者沒有對商品打分,對於這種情況我們就不用計算未知元了,只計算觀察到的(使用者

,商品)集合

r。這樣就將協同推薦問題轉換成了乙個優化問題。目標函式中u和

v相互耦合,這就需要使用交替二乘演算法。即先假設

u的初始值

u(0)

,這樣就將問題轉化成了乙個最小二乘問題,可以根據

u(0)

可以計算出

v(0)

,再根據

v(0)

計算出u

(1),這樣迭代下去,直到迭代了一定的次數,或者收斂為止。雖然不能保證收斂的全域性最優解,但是影響不大。

spark 機器學習 隨機森林 原理 一

1.什麼是隨機森林 顧名思義,是用隨機的方式建立乙個森 森林裡面有很多的決策樹組成,隨機森林的每一棵決 策樹之間是沒有關聯的。在得到森 之後,當有乙個新的輸入樣本進入的時候,就讓森 中的每一棵決策樹分別進行一下判斷,看看這個樣本應該屬於哪一類 對於分類演算法 然後看看哪一 類被選擇最多,就 這個樣本...

機器學習 KNN演算法原理 Spark實現

不懂演算法的資料開發者不是乙個好的演算法工程師,還記得研究生時候,導師講過的一些資料探勘演算法,頗有興趣,但是無奈工作後接觸少了,資料工程師的鄙視鏈,模型 實時 脫機數倉 etl工程師 bi工程師 不喜勿噴哈 現在做的工作主要是脫機數倉,當然前期也做過一些etl的工作,為了職業的長遠發展,拓寬自己的...

機器學習 KNN演算法原理 Spark實現

不懂演算法的資料開發者不是乙個好的演算法工程師,還記得研究生時候,導師講過的一些資料探勘演算法,頗有興趣,但是無奈工作後接觸少了,資料工程師的鄙視鏈,模型 實時 脫機數倉 etl工程師 bi工程師 不喜勿噴哈 現在做的工作主要是脫機數倉,當然前期也做過一些etl的工作,為了職業的長遠發展,拓寬自己的...