第 5 章 機器學習技術的應用(上)

原文html

全文目錄前端

機器學習技術概述

讓計算機在沒有被顯示編程的狀況下具備自主學習的能力;算法

學習出特徵目標之間具體的相關性;編程

學習結果的用法: 預測, 推斷(inference);架構

推薦系統中的應用場景

推薦系統的本質是匹配;機器學習

  1. 推薦結果排序學習

    傳統的方式是利用公式來定義排序規則, 機器學習是選擇具備良好描述能力的規則系統來服務於系統;測試

  2. 用戶興趣建模優化

    用戶興趣的捕捉和預測, 捕捉即對用戶行爲的客觀記錄; 預測則基於行爲記錄對用戶未來可能感興趣的內容進行預測;架構設計

  3. 候選集召回

    相似排序問題;

優勢:

  1. 機器學習系統對推薦系統進行全方位的改造升級;
  2. 引入一套能夠系統性持續優化的架構;

機器學習技術的實施方法

老系統與數據準備

  1. 收集訓練樣本

    老系統中已有的樣本數據;

    曝光誤差(impression bias)比較小;

    曝光誤差: 系統是否會傾向於曝光某一類型的物品, 致使其餘類型物品曝光不足, 在總體數據上產生曝光誤差的問題;

  2. 收集業務規則

    解決問題的模型, 多數狀況下都是以邏輯迴歸決策樹爲表明的淺層模型, 即大量的被量化的規則;

    機器學習即規模化的量化規則;

    量化: 將以前人工指定的規則, 利用數據和算法, 針對具體的優化目標進行量化;

    規模化: 機器學習能夠用相對自動化的方法讓規則的數量增長几個量級;

  3. 肯定系統目標

    基於老系統基礎上使用機器學習技術進行技術升級和改造, 目標是和老系統一致的;

問題分析與目標定義

在架構設計和代碼開發以前, 要對待解決問題進行分析, 對系統優化目標進行拆解;

  1. 問題現狀分析

    搞清楚系統情況, 包括算法, 數據, 運行方式, 數據與線上交互, 模塊前端展現等;

    優先處理 ROI(投入產出比)高的事情;

  2. 問題歸因拆解

    將最終的待達成目標拆解爲多個可執行的具體工做;

    例如: 提高購買轉化率 => 用戶看到曝光商品+用戶進行購買 => 用戶看到曝光商品+用戶進行點擊 AND 用戶進行點擊+用戶進行購買;

  3. 設計指標體系

    實施機器學習系統須要的指標體系:

    • 監控機器學習系統自己效果好壞的指標; (例如: AUC 等離線評估指標和點擊率等線上監控指標)
    • 對機器學習系統所服務和影響的大系統的各方面指標; (例如: 用戶平均停留時長, 平均跳出率, 平均分享率等)

若是沒法衡量, 就沒法優化

機器學習模型的構建流程主要包括: 樣本處理+特徵處理+模型訓練;

又能夠分爲:

算法維度: 對各類數據進行邏輯處理; 描述系統邏輯的維度;

架構維度: 具體實施時經過怎樣的架構實現算法邏輯; 描述具體實施方案的維度;

樣本處理

樣本的質量決定了模型效果的好壞;

  • 原始樣本, instance, 要預測的信息自己, 不帶有任何特徵; (例如: 用戶ID+曝光物品ID+是否點擊)
  • 帶特徵樣本, example, 將原始樣本與特徵進行拼接以後, 可用於模型訓練的樣本;

典型的點擊率模型場景下, 通常存在三份日誌:

  1. 請求日誌, 記錄用戶對推薦系統的請求, 屬於最上游的數據;
  2. 曝光日誌, 記錄在請求獲得的數據中, 哪些被曝光給用戶了;
  3. 點擊日誌, 在曝光後的數據中, 哪些被用戶點擊了;

涉及兩項關鍵工做:

  1. 獲取到足量, 準確的樣本數據;

    • 爬蟲, 做弊和異常數據的去除;
    • 使用統計數據驗證樣本的準確性; (例如: 平均點擊率, 用戶點擊率分佈)
    • 移動端數據收集機制的設計; (例如: 只發送曝光的最後一個物品的信息, 配合日誌獲取其餘曝光物品)
    • 儘可能多的保留上下文信息;
  2. 在訓練時對樣本進行選取, 以期獲得更好的訓練效果;

    • 樣本隨機打散;

      機器學習模型的訓練和評測中, 要求樣本是隨機分佈的;

      • 從總體樣本中劃分訓練集和測試集, 要求是同分布的;
      • 經常使用的模型優化方法, 都會分批取樣原本訓練模型, 要求樣本分佈是隨機的;
    • 正負樣本採樣;

      正負樣本誤差嚴重時, 可採用正樣本升採樣負樣本降採樣; 去除冗餘樣本, 邊界樣本, 噪聲樣本等, 或者隨機丟棄相應比例的負樣本;

    • 負樣本劃分模型組合;

    • 樣本可信度處理;

相關文章
相關標籤/搜索