推薦系統從20世紀90年代開始出現,逐漸成為一種獨立的學科,並且在學術界和工業界應用中都獲得了諸多成果。本書主要說明目前學術界和工業界的一些主流、常用的推薦方法和工具。用最大眾化的Tensorflow/Sklearn及Spark來實作商業巨頭的推薦系統,在Zepplin Notebook和Jupyter Notebook兩個最通用的平台上來完成實作,並且詳細介紹召回演算法、排序演算法、線性模型、樹模型、深度學習模型等等。
作者簡介:
黃美靈
現任一線互聯網公司的高級工程師,擁有多年大型互聯網公司推薦系統和機器學習實戰經驗,現從事廣告推薦、應用分發和資訊Feeds流推薦相關工作。
作者序
前言
隨著網際網路企業的高速發展,人們取得資訊的方式越來越多,從主動取得資訊逐漸成為被動接收資訊,資訊量也呈爆發式增長。因此,人們已經從資訊匱乏時代進入資訊「超載」時代。人們對資訊取得的有效性和針對性的需求隨之出現,推薦系統也應運而生。推薦系統就是網際網路時代的一種資訊檢索工具,推薦系統的工作就是連接使用者和資訊,創造價值。
推薦系統從20 世紀90 年代開始出現,逐漸成為一種獨立的學科,並且在學術界和工業界應用中都獲得了諸多成果。本書主要說明目前學術界和工業界的一些主流、常用的推薦方法和工具。
首先從基礎開始,介紹數學基礎、實際的推薦系統,以及常用的推薦演算法工具,包含目前主流的工具Sklearn、Spark MLlib、TensorFlow,並且介紹效率提升工具Zeppelin Notebook 和Jupyter Notebook。
隨後說明推薦系統中的召回演算法,包含常見的協作過濾和Word2vec 兩個演算法,並且介紹這兩個演算法在Spark、TensorFlow 主流工具中的實現。
接著說明推薦系統中的排序演算法—線性模型,包含常見的邏輯回歸和FM 兩個演算法,並且介紹這兩個演算法在Sklearn、Spark、TensorFlow主流工具中的實現。
然後說明推薦系統中的排序演算法—樹模型,包含常見的隨機森林、GBDT、GBDT+LR、整合學習演算法以及最近出現的深度森林演算法,並且介紹各個演算法在Sklearn、Spark、TensorFlow 主流工具中的實現。
之後說明推薦系統中的排序演算法—深度學習模型,包含深度學習在推薦演算法中的應用、常見的DNN 演算法以及最近出現的DeepFM、Wide& Deep、YouTube 推薦模型等,並且介紹各個演算法在TensorFlow 工具中的實現。
最後說明電子商務平台的商品召回、音樂的評分預測、Kaggle 競賽Outbrain 的點擊率預估和電子商務商品點擊率預估4 個推薦演算法的實作案例,並且說明在Notebook 上進行程式開發的實作案例和演算法偵錯的實作案例。
本書主要對推薦系統中的常見方法和工具進行全面說明,並且配合說明演算法原理、實現以及案例,透過本書可從基礎到實作全面掌握推薦系統中的推薦演算法。學習本書內容需要具備以下基礎:Python 基礎知識、Spark 基礎知識、TensorFlow 基礎知識、Scala 基礎知識、線性代數基礎知識等。本書針對以下各種讀者:機器學習工程師、資料採擷工程師、大數據工程師、各大專院校的研究所學生和高年級大學生等。
前言
隨著網際網路企業的高速發展,人們取得資訊的方式越來越多,從主動取得資訊逐漸成為被動接收資訊,資訊量也呈爆發式增長。因此,人們已經從資訊匱乏時代進入資訊「超載」時代。人們對資訊取得的有效性和針對性的需求隨之出現,推薦系統也應運而生。推薦系統就是網際網路時代的一種資訊檢索工具,推薦系統的工作就是連接使用者和資訊,創造價值。
推薦系統從20 世紀90 年代開始出現,逐漸成為一種獨立的學科,並且在學術界和工業界應用中都獲得了諸多成果。本書主要說明目前學術界和工業界的一些主流、常用的推薦方法和工具。
...
目錄
第1 篇
推薦系統的演算法基礎
01 數學基礎
1.1 線性代數
1.2 機率與統計
1.3 損失函數
1.4 最佳化方法
1.5 評價方法
02 推薦系統介紹
2.1 推薦系統背景
2.2 推薦系統的典型案例
2.3 推薦系統原理
03 推薦演算法工具
3.1 Python Sklearn 機器學習函數庫
3.2 Spark MLlib 機器學習函數庫
3.3 TensorFlow
3.4 Notebook 介紹
第2 篇
推薦系統的召回演算法
04 協作過濾—基於行為相似的召回
4.1 協作過濾演算法
4.2 協作過濾推薦演算法實現
05 Word2vec—基於內容相似的召回
5.1 Word2vec 演算法
5.2 Word2vec 實例
第3 篇
推薦系統的排序演算法—線性模型
06 邏輯回歸
6.1 邏輯回歸演算法
6.2 邏輯回歸實現
07 因數分解機(FM)
7.1 FM 演算法
7.2 FM 實現
第4 篇
推薦系統的排序演算法—樹模型
08 決策樹
8.1 決策樹演算法
8.2 決策樹的整合演算法
8.3 決策樹整合演算法實例
09 整合學習
9.1 GBDT+LR 演算法
9.2 深度森林演算法
9.3 決策樹整合分類器
9.4 整合學習實例
第5 篇
推薦系統的排序演算法—深度學習模型
10 深度學習在推薦演算法中的應用
10.1 推薦模型的特點
10.2 基於深度學習的推薦模型
11 DNN 演算法
11.1 類神經網路演算法
11.2 DNN 最佳化方法
11.3 DNN 實例
TensorFlow 實現
11.4 執行結果
12 Wide & Deep 模型
12.1 Wide & Deep 模型概述
12.2 Wide & Deep 系統實現
12.3 Wide & Deep 實例
TensorFlow 實現
12.4 執行結果
13 DeepFM 模型
13.1 DeepFM 模型概述
13.2 DeepFM 模型實例
TensorFlow 實現
13.3 執行結果
14 YouTube 的深度神經網路模型
14.1 YouTube 推薦模型
14.2 YouTube 實例
TensorFlow 實現
14.3 執行結果
第6 篇
推薦系統的演算法實作
15 實作—基於電子商務平台的商品召回
15.1 背景介紹
15.2 模型選擇
15.3 演算法開發
16 實作—基於邏輯回歸的音樂評分預測
16.1 背景介紹
16.2 資料準備
16.3 特徵處理
16.4 模型選擇
16.5 演算法開發
17 實作—Kaggle 競賽之Outbrain 點擊率預估
17.1 背景介紹
17.2 資料準備
17.3 特徵處理
17.4 模型選擇
17.5 演算法開發
18 實作—基於深度學習為電子商務商品點擊率預估
18.1 背景介紹
18.2 資料準備
18.3 特徵處理
18.4 模型選擇
18.5 演算法開發
18.6 執行結果
19 Notebook 實作
19.1 Sklearn 中的LR 實作
19.2 TensorFlow 中的LR 實作
19.3 Spark 中的LR 實作
19.4 TensorFlow 中的FM 偵錯實作
19.5 Spark 中的協作過濾偵錯實作
第1 篇
推薦系統的演算法基礎
01 數學基礎
1.1 線性代數
1.2 機率與統計
1.3 損失函數
1.4 最佳化方法
1.5 評價方法
02 推薦系統介紹
2.1 推薦系統背景
2.2 推薦系統的典型案例
2.3 推薦系統原理
03 推薦演算法工具
3.1 Python Sklearn 機器學習函數庫
3.2 Spark MLlib 機器學習函數庫
3.3 TensorFlow
3.4 Notebook 介紹
第2 篇
推薦系統的召回演算法
04 協作過濾—基於行為相似的召回
4.1 協作過濾演算法
4.2 協作過濾推薦演算法實現
05 Word2vec—基於內容相似的召回
5.1 Word2vec 演算法
...