一起學人工智能:推薦算法並不難,相似性是基礎,來看看相似算法

有這麼一個有名的故事,一家超市把啤酒跟尿布放在一起之後銷量驚人,調查後是發現給孩子買奶布的同時,也會給爸爸買啤酒。啤酒與奶布,這兩種看起來毫不相關的東西,卻發現有一定的關聯性,在以前,發現物品的相關性需要一定的機緣巧合,但是在大數據時代,找到物品的相關性卻是非常的簡單,這也是人工智能的一個分支。

今天我們來講一講,常見的物品/用戶相似性的評分算法。

歐幾里德距離評價算法

我們不凡想象這麼一個業務場景,我們常常使用的外賣或者美食點評軟件,我們經常會對點過的餐或者吃過的餐廳進行評價,例如A給日料店4分,給粵菜館5分,給西餐3分,用戶B給日料店3分,給粵菜館4.5分,給西餐廳4分,那麼,這兩個用戶是不是相似的呢?如果有一天A用戶去了一家新的餐廳,給出了高評價,那麼我們時候應該運用一定的推薦算法,把它推薦給B呢?


一起學人工智能:推薦算法並不難,相似性是基礎,來看看相似算法


偉大的古希臘數學家歐幾里德提出,平面上兩個點的距離等於橫縱座標的差的平方之和開根號。我們把這個算法應用評估兩個商品是否相近當中,上述例子,A用戶跟B用戶最終的相似度為sqrt((4-3)^2 + (5-4.5)^2 + (3-4)^2) = 1.5, 很顯然,歐幾里德越小,說明越相似


一起學人工智能:推薦算法並不難,相似性是基礎,來看看相似算法


曼哈頓距離評價算法

曼哈頓距離評價算法與歐幾里德距離評價算法非常的接近,曼哈頓距離是由十九世紀的赫爾曼·閔可夫斯基提出了的一種衡量兩點距離的算法,曼哈頓距離的計算為每個維度的差值的絕對值之和,像上述例子種,我們使用曼哈頓距離評價算法,計算出來的結果為abs(4-3)+ abs(4-4.5) + abs(3-4) 等於2.5,很明顯,曼哈頓距離評價算法計算出來的結果越小,說明兩者越接近。

一起學人工智能:推薦算法並不難,相似性是基礎,來看看相似算法

皮爾遜相關度評價算法

在我們的生活中常常存在這樣的場景,不同的兩個人,可能洗好相同,但是評分的尺度卻不一樣。例如兩個人都是程序員,都關注了沙茶敏碎碎念,喜歡閱讀程序設計類相關的書籍,A的評分標準比較低,通常都給4-5分,B的評分標準比較高,通常只給3-4分,這兩個人,本應該是相似的,但使用前面歐幾里德算法與曼哈頓距離算法,都會計算出來他們有一定的偏差,所以我們可能就需要用到皮爾遜相關度評價算法進行評價。


一起學人工智能:推薦算法並不難,相似性是基礎,來看看相似算法


皮爾遜相關度評價算法主要是擬合一條直線,然後依賴直線的斜率來判斷兩者的相似程度,斜率的範圍有0到1,越大表示相關性越高,越小標識相關性越低,如果你對具體的算法感興趣,可以關注我,後臺私信“皮爾遜”可以獲得相關學習資料

Tanimoto分值

有些應用場景,可能沒有評分這樣的算法,例如用戶A購買了程序設計、算法導論、Java高級編程3本書,用戶B購買了JAVA高級編程,算法導論,程序員頸椎康復訓練3本書,雙方都沒有進行評價,那麼如何計算出兩者的相關度呢?


一起學人工智能:推薦算法並不難,相似性是基礎,來看看相似算法


我們可以使用兩者的交集去除以兩者的並集,和明顯越接近1表示兩者越接近。

一起學人工智能:推薦算法並不難,相似性是基礎,來看看相似算法

總結

今天我們就介紹這四種常用的用來評價相關度的算法,其實都非常地簡單,人工智能的很多知識並非高深莫測,關注我,我們由淺入深,慢慢來學習人工智能的一些相關算法吧。關注後私信"皮爾遜",可以獲取更多算法資料哦。

相關推薦

推薦中...