DMP核心流程-樣本訓練【技術類】

在DMP中,對大數據的各種維度分析、分類、打標籤,通過機器學習挖掘出數據中蘊藏的寶藏,是十分有技術含量的技術活兒。下面簡單介紹一些常用的,對數據樣本進行學習訓練及回歸驗證的分析演算法及、常規做法及核心流程。

樣本訓練

對原始樣本數據訓練可選擇的演算法有很多,常見的有:邏輯回歸演算法(logistic regression)、決策樹演算法(decision tree)、支持向量機演算法(support vector machine)、神經網路演算法(neural network)、樸素貝葉斯(Na?ve Bayes,NB)分類演算法等等。(實操中往往數據比演算法更重要,解決問題的演算法有很多,只要收集的數據質量較好,那麼利用恰當的演算法,往往比複雜演算法對於質量較差的數據時能取得的效果更好。通常情況下數據比演算法要重要。)

  • 邏輯回歸演算法:

邏輯回歸是比較常用的機器學習方法,是一種分類學習方法。使用場景大概有兩個:第一用來預測,第二用來尋找feature(特徵值)變數對target(目標值)變數的影響因素。通過歷史數據的表現,對未來結果發生的概率進行預測。例如,我們可以將某用戶購買某商品的可能性,以及某廣告被用戶點擊的可能性的概率設置為target(目標值)變數,將用戶的特徵屬性,例如性別,年齡,地域、時間、廣告請求各種維度的數據等等等,設置為feature(特徵值)變數。並根據這些歷史feature屬性對target(目標值)變數的影響程度,及之間的關係,以此來預測某類feature(特徵值)變數出現時,target(目標值)變數出現的概率。其中target變數是我們希望獲得的結果,feature變數是影響結果的潛在因素,feature變數可以有一個,也可以有多個。一個feature變數的叫做一元回歸(如圖9-2所示),超過一個feature變數的叫做多元回歸。

圖9?2邏輯回歸演算法示例

邏輯回歸的適用性:

1) 可用於概率預測,也可用於分類。並不是所有的機器學習方法都可以做可能性概率預測。可能性預測的好處是結果有可對比性:比如我們得到不同廣告被點擊的可能性後,就可以列出點擊可能性最大的N個。這樣一來,哪怕得到的可能性都很高,或者可能性都很低,我們都能取出最優的topN。當用於分類問題時,僅需要設定一個閾值即可,可能性高於閾值是一類,低於閾值是另一類。

2) 僅能用於線性問題:只有在feature(特徵值)和target(目標值)是線性關係時,才能用邏輯回歸。這有兩點指導意義,一方面當預先知道模型非線性時,果斷不使用邏輯回歸;另一方面,在使用邏輯回歸時,注意選擇同target(目標值)呈線性關係的feature(特徵值)。

3) 各feature(特徵值)之間不需要滿足條件獨立假設,但各個feature的貢獻是獨立計算的。邏輯回歸不像樸素貝葉斯那樣,需要滿足條件獨立假設(因為它沒有求後驗概率)。但每個feature的貢獻是獨立計算的,所以邏輯回歸是不能自動組合聚類出不同的features而產生新feature的。

  • 決策樹演算法:

決策樹演算法是藉助於樹的分支結構來實現分類的。樹的內部結點表示對某個屬性的判斷,該結點的分支是對應的判斷結果;葉子結點代表一個類標。決策樹演算法藉助於樹的分支結構實現分類。

如圖9-3所示,是一個決策樹的示例:一個預測某人是否會購買電腦的決策樹,利用這棵決策樹,可以對數據進行分類,從根節點(年齡)開始,若某人的年齡為中年,就直接判斷這個人會買電腦,若是青少年,則需要進一步判斷是否是學生;若是老年則需要進一步判斷其信用等級,直到葉子結點可以判定記錄的類別。

圖9?3決策樹示例

決策樹演算法有一個好處,那就是它可以產生人能直接理解的規則,這是貝葉斯、神經網路等演算法沒有的特性;決策樹的準確率也比較高,而且不需要了解背景知識就可以進行分類了,是一個非常有效的演算法。決策樹演算法有很多變種,包括ID3、C4.5、C5.0、CART等,但其基礎都是類似的。

  • 支持向量機演算法:

支持向量機(SupportVector Machine,SVM)是一種常見的半監督式學習演算法。支持向量機是Corinna Cortes和Vapnik等,於1995年首先提出的,它在解決小樣本、非線性及高維模式識別中表現出很多特有的優勢,並推廣應用到函數擬合等等其他機器學習的領域。通過尋求結構化風險最小,來提高機器學習能力。實現經驗風險和置信範圍的最小化,從而達到在統計樣本量較少的情況下,也能獲得良好統計規律的目的。通俗講就是,她是一種二類分類器,其基本模型定義為特徵空間上的間隔最大的線性分類器,即支持向量機的學習策略就是間隔最大化,最終可轉化為一個凸二次規劃問題的求解。

具體原理:

1) 在n維空間中找到一個分類超平面,將空間上的點分類。如圖9-4所示為線性分類的例子。

圖9?4線性分類示例

2) 一般而言,一個點距離超平面的遠近,可以表示為分類預測的確信或準確程度。SVM就是要最大化這個間隔值。而在虛線上的點便叫做支持向量Supprot Verctor。如圖9-5所示為SVM分類的示例。

圖9?5 SVM分類示例

3) 實際中,我們會經常遇到線性不可分的樣例,此時,我們的常規做法是,把樣例特徵映射到高維空間中去,如圖9-6所示。

圖9?6高維空間映射示例

4) 線性不可分映射到高維空間,可能會導致維度高的十分嚴重(甚至無窮維的例子),導致計算複雜。這個時候,常常會使用核函數,核函數的價值在於她雖然也是將特徵進行從低維到高維的轉換,但核函數事先在低維上進行計算,而將實質上的分類效果表現在高維上,避免了直接在高維空間中的複雜計算。

5) 很多時候,會使用鬆弛變數來應對數據噪音。

SVM的優點:

1) SVM學習問題可表示為凸優化問題,因此可以利用已知的有效演算法發現目標函數的全局最小值。而其他分類方法(如基於規則的分類器和神經網路)都採用一種基於貪心學習的策略來搜索假設空間,這種方法一般只能獲得局部最優解。

2) 舉個例子:假設現在你是一個農場主,圈養了一批羊,但為預防狼群襲擊羊群,你需要搭建一個籬笆來把羊群圍起來。但是籬笆應該建在哪裡呢?你很可能需要依據牛群和狼群的位置建立一個「分類器」,如圖9-7所示,比較圖中這幾種(SVM、邏輯回歸、決策樹)不同的分類器,我們可以看到SVM提供了一個很好的解決方案。這個例子從側面簡單說明了SVM使用非線性分類器的優勢。

圖9?7 SVM、邏輯回歸、決策樹分類結果對比示意

  • BP神經網路演算法:

BP(Back Propagation)神經網路是一種按「誤差逆傳播演算法訓練」的多層前饋網路,是目前應用最廣泛的神經網路模型之一。BP神經網路能學習和存貯大量的輸入-輸出模式映射關係,而無需事前揭示描述這種映射關係的數學方程。她的學習規則是使用梯度下降法,通過反向傳播(就是一層一層往前傳)來不斷調整網路的權值和閾值,使網路的誤差平方和最小。如圖9-8所示,BP神經網路模型拓撲結構包括輸入層(input)、隱層(hidden layer)和輸出層(output layer)。利用輸出後的誤差來估計輸出層前一層的誤差,再用這層誤差來估計更前一層誤差,如此獲取所有各層誤差估計。這裡的誤差估計可以理解為某種偏導數,我們就是根據這種偏導數來調整各層的連接權值,再用調整後的連接權值重新計算輸出誤差。直到輸出的誤差達到符合的要求,或者迭代次數溢出設定值(有監督學習)。BP的傳播對象就是「誤差」,傳播目的就是得到所有層的估計誤差。她的學習本質就是:對各連接權值的動態調整。

圖9?8 BP神經網路模型拓撲結構示意

  • 貝葉斯演算法:

貝葉斯分類是一類分類演算法的總稱,這類演算法均以貝葉斯定理為基礎,故統稱為貝葉斯分類。分類問題往往採用經驗性方法構造映射規則,即一般情況下的分類問題是缺少足夠的信息,來構造100%正確的映射規則的,而是通過對經驗數據的學習,從而實現一定概率意義上正確的分類,因此所訓練出的分類器,並不一定能將每個待分類項,準確映射到其分類中,分類器的質量與分類器構造方法、待分類數據的特性、以及訓練樣本數量等等諸多因素有關。

  • 貝葉斯定理

貝葉斯分類的基礎:貝葉斯定理,這個定理解決了現實生活里經常遇到的問題:已知某條件概率,如何得到兩個事件交換後的概率,也就是在已知P(A|B)的情況下如何求得P(B|A)。這裡先解釋什麼是條件概率:

P(A|B)表示事件B已經發生的前提下,事件A發生的概率,叫做事件B發生下事件A的條件概率。其基本求解公式詳細見公式9-1:

公式9?1求解公式

貝葉斯定理之所以有用,是因為我們在生活中經常遇到這種情況:我們可以很容易直接得出P(A|B),P(B|A)則很難直接得出,但我們更關心P(B|A),貝葉斯定理就為我們打通了從P(A|B)獲得P(B|A)的道路。貝葉斯定理見公式9-2:

公式9?2貝葉斯定理

  • 樸素貝葉斯分類

樸素貝葉斯分類是一種十分簡單的分類演算法,樸素貝葉斯的思想基礎是:對於給出的待分類項,求解在此項出現的條件下各個類別出現的概率,哪個最大,就認為此待分類項屬於哪個類別。打個比方,如果你在街上看到一個黑人,讓你猜他哪裡來的,你十有八九猜非洲。為什麼呢?因為黑人中非洲人的比率最高,當然人家也可能是美洲人或亞洲人,但在沒有其它可用信息下,我們會選擇條件概率最大的類別,這就是樸素貝葉斯的思想基礎。整個樸素貝葉斯分類分為三個階段:

(一)第一階段:準備工作階段,這個階段的任務是為樸素貝葉斯分類做必要的準備,主要工作是根據具體情況確定特徵屬性,並對每個特徵屬性進行適當的劃分,然後由人工對一部分待分類項進行分類,形成訓練樣本集合。這一階段的輸入是所有待分類數據,輸出是特徵屬性和訓練樣本。這一階段是整個樸素貝葉斯分類中唯一需要人工完成的階段,其質量對整個過程將有重要影響,分類器的質量很大程度上由特徵屬性、特徵屬性劃分及訓練樣本質量決定。

(二)第二階段:分類器訓練階段,這個階段的任務就是生成分類器,主要工作是計算每個類別在訓練樣本中的出現頻率,及每個特徵屬性劃分對每個類別的條件概率估計,並將結果記錄。其輸入是特徵屬性和訓練樣本,輸出是分類器。這一階段是機械性計算階段,可由程序自動計算完成。

(三)第三階段:應用階段。這個階段的任務是使用分類器對待分類項進行分類,其輸入是分類器和待分類項,輸出是待分類項與類別的映射關係。這一階段也是機械性階段,可由程序完成。

下篇我們將繼續介紹:《回歸驗證》

(轉載請註明出處:微信訂閱號:ad_automation)

文字表現力有限,歡迎參加《5.28線下大課堂》面對面為您答疑解惑講透您關心的問題。


推薦閱讀:

【乾貨】教你手把手的製作詞雲圖
大數據背景下的PHM研究
9月9日「DSP下」專題【流水課通知】
數據可視化監控流程?——江汽物流數據監控平台建設經驗

TAG:数据管理平台DMP | 机器学习 | 大数据 |