1. 程式人生 > >機器學習基石 Lecture2: Learning to Answer Yes/No

機器學習基石 Lecture2: Learning to Answer Yes/No

機器學習基石 Lecture2: Learning to Answer Yes/No

Perceptron Hypothesis Set

還是關注是否給客戶發信用卡的問題。回顧上節中機器學習的流程,假設已知如下圖中的一些客戶資訊,做出怎樣的假設來得到假設集合 H

H 呢?
在這裡插入圖片描述
可以把客戶資訊寫為一個向量 x = ( x 1 , x
2 , . . . , x d )
x=(x_{1},x_{2},...,x_{d})
,每個維度都代表客戶的一個特徵。可以假設把這些特徵維度進行加權求和來得到一個分數,如果這個分數超過某個閾值就下發信用卡,否則不下發。即假設h為:
在這裡插入圖片描述
這個假設就叫做感知機(perceptron)模型。

Perceptron Learning Algorithm

可以將上圖等式中的閾值(threshold)也當做一個係數 w 0 w_{0} ,對應第0個特徵 x 0 = 1 x_{0}=1 。則上述感知機模型可以寫為向量內積的sign函式形式:
在這裡插入圖片描述
於是在二維平面上這個假設函式體現為一條線,一邊被判斷為+1(藍色),另一邊的點被判斷為-1(紅色)。而樣本實際的y為+1時畫為圈,-1時畫為叉。
在這裡插入圖片描述
因此可以看出,感知機實際上是一個線性的二分類器。

有了假設空間 H H ,如何從中選出一個最接近實際函式 f f g g 呢?可以根據在已有的資料集合上來判斷。因為 g g 需要接近 f f ,因此在已有資料記錄 D D 上, g ( x n ) g(x_{n}) 的結果需要等於 f ( x n ) f(x_{n}) (必要不充分條件?)。

但是有個問題是假設空間 H H 是無窮大的,所以直接搜尋比較困難。有一個想法是,從一個任意的函式 g 0 g_{0} 開始,根據它在資料集 D D 的錯誤來不斷改進自身。於是我們就有了感知機學習演算法(Perceptron Learning Algorithm,PLA):
在這裡插入圖片描述

  1. 從任意一個引數為 w 0 w_{0} 表示的函式 g 0 g_{0} 開始,找到一個預測的結果和實際對應的 y y 值不同的樣本。
  2. 然後根據公式 w t + 1 w t + y n ( t ) x n ( t ) w_{t+1} \leftarrow w_{t}+y_{n(t)}x_{n(t)} 來對係數進行更新。
    直到找不到錯誤的樣本為止,此時的引數 w P L A w_{PLA} 對應的函式就是 g g

實際中演算法第一步通常採用遍歷資料集 D D 的方式,因此也叫作Cyclic PLA。

演算法看起來很簡單,但是還有一些遺留問題。比如:演算法如何進行遍歷樣本? 可以是普通遍歷,隨機遍歷等。最後得到的演算法 g g 是否真的約等於 f f ? 如果在 D D 上沒有錯誤演算法停止了,那麼在 D D 上的效果肯定是近似相等的。但是在資料集 D D 之外的資料上表現如何呢?而且如果演算法不停止更加無法知道 g g 是否與 f f 近似了。所以演算法是否真的能夠保證最終停止而不是無限迴圈呢? 下面會給出演算法確定會停止的證明。

Garrantee of PLA

如果存在一個對應的係數 w w 能夠在資料集 D D 上不犯錯誤,也就是說 D D 中的樣本能夠被一條線性平面正確分隔開。我們說這樣的 D D 具有線性可分性。

假設我們的資料集 D D 是線性可分的,那麼是否PLA演算法一定會停止呢?
線性可分的 D D 一定有一條不會犯錯的分隔面對應的引數 w f w_{f}

  • 對於任意的樣本都有 y n ( t ) w f T x n ( t ) m i n n y n w f T x n > 0 y_{n(t)}w_{f}^{T}x_{n(t)} \geq min_{n}y_{n}w_{f}^{T}x_{n} > 0 .(因為每個樣本都正確分類)
  • w f w_{f} w t w_{t} 的乘積為 w f T w t + 1 = w f T ( w t + y n ( t ) x n ( t ) ) w f T + m i n n y n w f T x n > w f T w t w_{f}^{T}w_{t+1} = w_{f}^{T}(w_{t}+y_{n(t)}x_{n(t)}) \\ \geq w_{f}^{T} + min_{n}y_{n}w_{f}^{T}x_{n} \\ > w_{f}^{T}w_{t}
  • 兩者乘積在變大,但是需要證明並非是因為其長度增加而是夾角變小,這樣才能說明我們的 w t w_{t}