1. 程式人生 > 其它 >推薦演算法與推薦系統--概述

推薦演算法與推薦系統--概述

開一個專題,努力將這9年的推薦演算法經驗記錄下來。

作為一名非一線大廠的演算法工程師,通常要完成幾乎全棧的演算法開發工作。

目前我的工作內容包含了:提取訓練樣本、特徵構造、搭建模型、線上服務開發、線上特徵管理和開發、模型/AB分流/演算法使用場景管理、特徵/演算法/場景線上驗證等。

  1. 提取訓練樣本和特徵構造都屬於是ETL部分,如果有時間的話會放到後面部分去記錄,會包含hive、spark、storm、flink、redis等(並不包含對應工具的原理技術,只是說明怎麼使用)

  2. 搭建模型是演算法工程師根本和核心技能,目前大家關注最多的點是:使用者序列資訊、多工、多模態、圖網路、交叉資訊和Attention、對比學習等;模型越來越複雜,推薦效果越來越好,但是卻為工程實現帶來了極大的困難。

  3. 線上模型開發是使用java/C等語言,將構建好的演算法包裝成介面,供下游應用方使用。是目前大多數演算法工程師不會涉及該領域的開發工作,其演算法相關專案的排期很多時候會依賴於服務端開發工程師的開發進度。演算法工程師和服務端開發工程師經常會因為工作方法和理解不同,導致服務端開發演算法服務的時候出現問題,最終影響演算法上線。

4、演算法管理和演算法驗證等工作,即對構建好的演算法進行管理,合理安排分流,驗證演算法的效果;可以更加便捷的為演算法工程師提供一個演算法驗證工具和線上效果分析工具。

重點會將第3點和第4點進行詳細說明。

先列出來大綱,後續再擴充完善吧