經典WWH:算法
WHAT?網絡
什麼是機器學習?架構
機器學習有不少定義,廣爲人知的有以下兩條:併發
ArthurSamuel (1959): Machine Learning: Field of study that gives computers theability to learn without being explicitly programmed.機器學習
TomMitchell (1998) : Well-posed Learning Problem: A computer program is said tolearn from experience E with respect to some task T and some performance measureP, if its performance on T, as measured by P, improves with experience E.工具
WHY?性能
爲何要機器學習學習
機器學習專門研究計算機怎樣模擬或實現人類的學習行爲,以獲取新的知識或技能,從新組織已有的知識結構使之不斷改善自身的性能。機器學習的應用很普遍,例如大規模的數據挖掘(網頁點擊數據,醫療記錄等),無人駕駛飛機、汽車,手寫手別,大多數的天然語言處理任務,計算機視覺,推薦系統等。測試
HOW?優化
怎樣實踐機器學習
監督學習
對具備概念標記(分類)的訓練樣本進行學習,以儘量對訓練樣本集外的數據進行標記(分類)預測。這裏,全部的標記(分類)是已知的。所以,訓練樣本的岐義性低。監督學習是訓練神經網絡和決策樹的最多見技術。這兩種技術(神經網絡和決策樹)高度依賴於事先肯定的分類系統給出的信息。
無監督學習
對沒有概念標記(分類)的訓練樣本進行學習,以發現訓練樣本集中的結構性知識。這裏,全部的標記(分類)是未知的。所以,訓練樣本的岐義性高。常見的無監督學習算法有聚類。
注意: 由於工做只會涉及監督學習, 因此後面內容再也不陳述無監督學習部分.
監督學習實踐階段:
監督學習實踐能夠歸納成5個階段:
業務需求
一句話,怎樣幫業務解決問題?
模型選型
根據理解選擇或設計(沒有現成)學習模型, 並從理論層面論證可以解決問題.
最佳實踐: 在選型論證階段明確模型訓練的輸入輸出與模型應用的輸入輸出
模型訓練的標籤數據: 須要明確辨別正負樣本的數據.
模型訓練的特徵數據: 特徵數據有high-level與low-level之分. 就重避輕, 選擇更多high-level的特徵, 減小low-level的特徵, 可以加速模型訓練的速度. 特別是在計算資源不充裕的狀況下, 這種作法很實在.
模型應用的調用參數: 模型計算傳遞哪些必需參數, 哪些可選參數?
模型應用的輸出結果: 模型計算返回哪些數據, 什麼意義, 什麼類型?
明確模型訓練與模型應用的輸入輸出, 對於模型開發具備確切的指導!
模型開發
名言: 數據和特徵決定機器學習上限, 算法和模型只是逼近這個上限而已.
模型開發的工做都是圍繞"數據和特徵","算法和模型"這2個核心開展的!
創建數據通道的工做
難點係數4:
訓練樣本的數據篩選,數據投放與數據回籠, 依賴打通全鏈路的數據通道.
處理樣本(標籤數據,特徵數據)的工做
難點係數2~3: 須要熟悉樣本數據的業務知識. 哪裏來! 哪裏去!
處理特徵的工做
處理特徵過程涉及各種特徵算法, 習慣上叫特徵工程.
難點係數4: 大多數工程選用成熟開源機器學習工具庫.
設計與實現算法
難點係數5: 大多數工程選用成熟開源機器學習算法.
構建與優化模型
難點係數5: 大多數工程選用成熟開源機器學習模型.
測試與上線模型
難點係數3: 在線接口要求高可用,大併發,低延時. 大多數工程基於水平擴展架構(堆疊Nginx+Regin).
模型訓練
監督學習閉環圖
模型評估指標:
對於樣本篩選後的結果:
T | F | |
---|---|---|
P | (PT) | (PF) |
N | (NT) | (NF) |
A = (PT + NF) / (PT + PF + NT + NF) 即將正例的斷定爲正,負例的斷定爲負.
R = PT / (PT + NF) = 1 - NF / (PT + NF) 即斷定正例佔所有正例的比重.
P = PT / (PT + PF)
F = 2 * A * R / (A + R) 傳統所說的F1-measure
模型應用
詳見上
機器學習通過模型訓練的(算法,模型,特徵)應用於業務需求, 幫助業務解決問題
機器學習通過N次迭代,反覆模型訓練, 沉湎的(算法,模型,特徵)會愈來愈成熟, 幫助業務解決問題的能力也愈來愈強. 然而, 這是一個動態的成長曆程!
每一個樣例一行,包含3類數據:
標籤數據:
tag_爲前綴的列
用戶特徵數據:
usr_爲前綴的列
主播特徵數據:
anc_爲前綴的列
維護注意事項:
字段 | 類型 | 註釋 | 來源表 |
---|---|---|---|
tag_viewclick | BIGINT | 曝光點擊數.正例值大於0,負例值爲空或=0 | |
usr_特徵1 | |||
... | |||
anc_特徵1 | |||
... |
使用"曝光點擊數據"對"個性推薦模型"進行模型訓練.
訓練樣本的樣例格式, 其中點擊數爲標籤.
資源位,用戶ID,用戶特徵....,主播ID,主播特徵..., 點擊數