策略產品經理:通俗易懂了解機器學習原理(下篇)
作為策略產品經理,簡單理解有關機器學習的相關原理,可以更了解核心的應用場景,從而助推策略產品經理去更好地服務于業務。本篇文章里,作者針對機器學習的部分算法原理與應用場景進行了一定解讀,一起來看。
今天我們繼續講完剩下的幾個算法原理與應用場景。
一、基本的機器學習算法
1. 支持向量機算法(Support Vector Machine,SVM)
1)支持向量機入門了解
支持向量機可以算是機器學習當中比較難的部分了,一般很多學習機器學習的同學學到這個部分都會選擇“狗帶放棄”,但是我們還是要堅持去通俗易懂的理解,盡量幫助大家深入淺出。
SVM一般用于解決二分類問題(也可以解決多分類和回歸問題,目前主要的應用場景就是圖像分類、文本分類以及面部識別等場景),歸根結底就是一句話最大化離平面最近的點到到平面之間的距離,這個其實就叫支持向量;類似圖中的直線,對兩邊的點形成的超平面(綠色虛線與紅色虛線)能夠最大。
2)線性分類器定義
在機器學習的上篇中講到線性回歸為一元線性回歸,一元也就是一個自變量加上一個因變量,這種在二維坐標軸可以表示成(x,y);假設有兩類要用來區分的樣本點,一類用黃色的“●”,另一類用紅色的“□”,中間這條直線就是用來講兩類樣本完全分開的分類函數,用數學化的方式描述圖片就是:
樣本數據:11個樣本,2個輸入 (x1,x2) ,一個輸出y。
第i個樣本的輸入:
輸出y:用1(紅色方形□)和-1(黃色圓點●)作為標簽。
訓練樣本集合:
訓練的核心目標:以訓練的樣本為研究的對象,找到一條直線能夠將兩類樣本能夠有效分開,一個線性函數能夠把樣本進行分開的話,我們就稱之為樣本的線性可分性:
當樣本點位(x1,x2,y)的時候,找到上述這條直線進行平面樣本點分割,其中區域 y = 1(圖中的類+1)的點用下述公式表達:
那么y = -1類的點表達式就是:
上述就是線性可分的明確定義,由此類推用更高維度的超平面可以通過增加x維度來表達,我們認為這種表達方式會比較的麻煩會用矩陣表達式來進行代替:
一般簡寫為,方便理解:
大家要厘清一個概念,在公式當中X不是代表橫坐標,而是樣本的向量表達式,假如上圖最下方的紅框坐標是(5,1),那么這個對應的列向量表達式如下所示;其中WT 代表是一個行向量,就是我們所說的位置參數,X是一組列向量,是已經知道的樣本數據,Wi表示的就是Xi的系數,行向量和列向量相乘就得到了1*1的矩陣,也就是一個實數了:
3)如何找到合適的參數構建線性分類器
機器學習就是找到通過學習的算法找到最合適超參Wi,支持向量機有兩個目標:第一個是使間隔最大化,第二個是使樣本正確分類;
我們都學過歐式距離公式,二維空間當中的點位(x,y)到 對應直線的距離可以表示為,
用這個邏輯推演擴展到n維度空間之后,n維度的向量表示為:
即n維度列向量到直線公式的距離可以表示為:
其中:
根據下圖可以指導,支持向量到超平面的距離就是d,其他點到超平面的距離就會大于d;
所以按照歐式距離原理,我們就可以得到下列式子:
公式兩邊同時除以d,并且我們令||w||d = 1(方便公式推導,對目標函數本身無影響),可以得到下列式:
并且我們對方程進行合并可以得到式:
我們就得到了最大間隔下的兩個超平面,分別為過綠色原點的平面和過黃色三角的平面,我們來最大化這個距離就可以得到:
我們令y(wTx+b ) = 1,最后可以得到:
再做一個分子與分母之間轉化可以得到:
為了簡化問題,再把w里面的根號去除一下,所以我們最終優化問題可以得到要求解決的w:
策略產品了解支持向量機SVM到這個階段已經差不多了,后面詳細的求解w涉及到對偶問題的求解拉格朗日乘數法和強對偶問題求硬間隔,當分類點位存在交織的時候還需要設定軟間隔(放寬對于樣本的要求,允許少量的樣本分類錯誤),已經屬于偏算法數學解題范疇了,感興趣同學可以深度了解與推導一下。
4)支持向量機的優缺點
優點:
- 理論基礎完善,相比較于神經網絡可解釋性更強;
- 求解是全局最優而不是局部最優;
- 同時適用于線性問題和非線性問題(核函數)兩種;
- 高緯度樣本空間同樣也能用SVM支持向量機;
缺點:
SVM不太適合超大的數據集類型。
2. 樸素貝葉斯算法-Naive Bayes
樸素貝葉斯是基于貝葉斯定理和條件獨立性假設的分類方法,屬于生成模型(工業界多用于垃圾郵件分類、信用評估以及釣魚網站監測等場景),核心思想就是學習輸入輸出的聯合概率模型P(X,Y),然后使用條件概率公式求得P(Y | X )-表示在X發生的條件下,Y事件發生的概率。Arthur先帶大家回顧一下大學數學概率論的基礎知識,便于大家能夠快速理解。
1)概率論基礎必備知識
其中條件概率公式如下所示:
P(X,Y)表示的是Y和X同時發生的概率;
- 如果X和Y是相互獨立事件的話P(X,Y)=P(X)*P(Y)
- 如果X和Y不相互獨立那么P(X,Y) = P(Y | X )*P(X)= P(X | Y )*P(Y)。
兩遍同時除以一個P(X),就得到了我我們的主角貝葉斯公式:
2)樸素貝葉斯的學習和分類
我知道了貝葉斯公式之后,怎么用其原理來做分類呢,跟隨Arthur按照下面的思路一起推演:
假設:訓練集 T={(x1,y1),…,(xn,yn)},通過P(Y = k), k = 1,2,…,k 算出 P(Y)。
在樸素貝葉斯中我們把條件概率分布做獨立性假設,解耦特征與特征之間的關系,每個特征都視為單獨的條件假設:
n代表的特征個數,根據后驗概率帶入貝葉斯定理可以得到:
再把特征條件獨立性帶入到公式當中得到以下的式子,就得到了決策分類器:
可以看出,X的歸類方式是由x屬于哪一個類別的概率最大來決定的,決策函數改寫成為:
我們來舉個通俗易懂的栗子吧,不然大家看著一堆公式也不太好理解,假如小明過往出門的依照以下的規則分布:
現在有一天(x1=晴朗,x2=工作日),求小明這一天是否出門?
=(2/5*2/5*3/5)/(3/5*3/5)=0.267,同理我們得到P(不出門|晴朗,工作日)=0.4
P(不出門|晴朗,工作日)> P(出門|晴朗,工作日),因此我們判定小明這一天多半是不出門的;
3)樸素貝葉斯校準與屬性值處理
① 拉普拉斯校準
p(x) 為0的時候,也就是某個特征下,樣本數量為0。則會導致y = 0;所以x需要引入Laplace校準,在所有類別樣本計數的時候加1,這樣可以避免有個式子P(X)為0帶來最終的y = 0。
② 屬性特征處理
以上都是介紹的特征離散值可以直接進行樣本數量統計,統計概率值;如果是連續值,可以通過高斯分布的方式計算概率。
4)樸素貝葉斯的優缺點
優點:
- 堅實的數學基礎,適合對分類任務,有穩定分類效率;
- 結果易解釋,算法比較簡單,常常用于文本分類;
- 小規模數據表現好,能處理分類任務,適合實時新增的樣本訓練。
缺點:
- 需要先驗概率輸入;
- 對輸入的數據表達形式敏感,分類決策也存在錯誤率;
- 假設了樣本獨立性的先決條件,如果樣本之間存在一定關聯就會明顯分類干擾。
二、策略產品必知機器學習系列干貨總結
給策略產品、運營講機器學習系列到這里就結束了,該系列的文章目的是在為轉型策略產品,或者是已經從事策略產品、策略運營方向的同學通俗易懂的了解機器學習算法原理與思想。
很多文科同學/運營會覺得看著策略公式就頭大,其實怎么去推導不是我介紹這篇文章的目的,理解核心的思想與應用場景,如何和業務貼近服務才是關鍵,我們畢竟不是算法,需要間隔兩者工作職責和范圍邊界。
希望這個系列真正能做到普及策略產品經理的工作,更深入淺出的普及到關于機器學習的知識。
本文由 @策略產品Arthur 原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
- 目前還沒評論,等你發揮!