天天看點

政策産品經理:通俗易懂了解機器學習原理

作為政策産品經理,簡單了解有關機器學習的相關原理,可以更了解核心的應用場景,進而助推政策産品經理去更好地服務于業務。本篇文章裡,作者針對機器學習的部分算法原理與應用場景進行了一定解讀,一起來看。
政策産品經理:通俗易懂了解機器學習原理

今天我們繼續講完剩下的幾個算法原理與應用場景。

一、基本的機器學習算法

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)支援向量機的優缺點

優點:

  1. 理論基礎完善,相比較于神經網絡可解釋性更強;
  2. 求解是全局最優而不是局部最優;
  3. 同時适用于線性問題和非線性問題(核函數)兩種;
  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 協定

該文觀點僅代表作者本人,人人都是産品經理平台僅提供資訊存儲空間服務。

繼續閱讀