1. 程式人生 > >【習題集三】學習理論和無監督學習

【習題集三】學習理論和無監督學習

1. 一致收斂和模型選擇 Uniform Convergence and Model Selection

在這一問題中,我們希望得到使用模型選擇模型誤差的上界。

考慮一個二分模型,即y的值只可能為0或者1,並假設我們有k個有限假設集,分別為H1H2⊆...Hk,給定一個具有m個獨立同分布iid的元素的資料集S,我們使用前(1-β)m個數據作為訓練集Strain,用剩餘的βm個數據作為保留的交叉驗證Cross Validation集Scv,其中β是0和1之間的數。

此時我們用表示在假設集Hi中可取得最小訓練誤差的假設,並用表示假設集Hi中最小泛化誤差的假設。

假設我們通過經驗誤差最小化演算法ERM獲得了所有的hi_hat,再從這一集合中選擇泛化誤差最小的那個,此時演算法的輸出為


在這一問題中,我們想要具體證明的是,對於確定的δ>0,我們有最低1-δ的概率保證如下關係式成立


(1)首先我們希望證明對於所有的hi_hat,有1-δ/2的概率滿足


解:對於任意hi_hat,驗證集的誤差ε_hat(hi_hat)表明了βm個隨機變數的平均誤差,其均值為ε(hi_hat),通過Hoeffiding不等式,對於任意hi_hat,我們有


正如在課堂中介紹的那樣,我們希望這一邊界對任意的hi_hat都成立,因此我們有一致邊界為


令等式右側為δ/2,則我們解得γ為


(2)使用(1)中的結論,並證明有1-δ/2的概率證明

解:用j表示產生的最小誤差的假設,即,使用(1)的結論,我們有


(3)令j為產生最小誤差的假設,即。我們知道對於假設集Hj,有概率1-δ/2表明


用此證明我們一開始提出的目標。

解:我們有,因此有

2. VC維 VC Dimension

假定學習問題的輸入域為X=R。給出下列每一類假設的VC維。對於每一類,如果認為該類的VC維為d,則需給出該類可覆蓋d個點的方式,並證明為什麼無法d+1個點。

(1)h(x) = 1{a<x},其中引數a∈R

解:VC維為1

①通過將a設為2或-2,可覆蓋點集{0}

②無法覆蓋任意點集{x1, x2},其中x1<x2,此時無法實現x1=1,x2=0

(2)h(x) = 1{a<x<b},其中引數a、b∈R

解:VC維為2

①分別將(a, b)設為(3, 5)(-1, 1)(1, 3)(-1, 3)可分離點集{0, 2}

②對於點集{x1 < x2 < x3}無法實現x1=x3=1、x2=0的情況

(3)h(x) = 1{asinx>0},其中引數a∈R

解:VC維為1,並且a控制了正弦函式的振幅

①通過將a設為1或-1,可分離點集{π/2}

②通過設定a的值,無法同時處理x1=x2和x1≠x2的情況

(4)h(x) = 1{sin(x+a)>0},其中引數a∈R

解:VC維為2,a控制了正弦函式的初相

①將a設為0、π/2、π、3π/2可分離點集{π/4, 3π/4}

②由於正弦函式以2π為週期,無法分離三個點相位相差2π整數倍的的情況

3. 最小平方的L1正則

在上一習題集中,我們介紹了增加λ||θ||^2項的最小平方問題(L2正則),下面我們介紹L1正則問題,其目標方程定義為


這一方法十分適用於輸出結果較離散(即輸出的θ值中有很多項的值為0的情況)。L1正則問題比不進行正則和L2正則都難,因為無法對增加的項求導。但我們仍有一些方法解決這一問題,下面我們將介紹座標下降法。在本問題中,我們將推出並實現針對L1正則的座標下降法,並將其應用於具體的資料集中。

(1)我們將首先推導座標下降法中θ的更新方式。給定輸入矩陣X和結果向量y和引數θ,我們如果取到是目標方程最小的θ?我們將目標方程寫在下面


其中Xi是m維向量表示輸入矩陣的第i列,θ_=0或=θ,但上式中仍包含無法求導的項。經過觀察我們發現θi的符號非正即負,只要我們知道θi的符號,|θi|將被認為是一個線性項,此時我們便可將目標函式重寫為


其中si表示θi的符號,其值為1或-1。為了正確的更新θi,我們可以對si兩個可能的值都進行處理,然後從中選擇獲得最好收斂效果的一個。

對於每一個可能的si,計算輸出結果θi。【提示:我們可以先確定si,再對θi求導,最後將θi歸屬於其應在的值中】

解:當si=1時,我們有


因此對θi求導的結果為


這表明θi的更新方法為


同理,當si=-1時,θi的更新方法為


(2)通過上一小問推出的結果實現座標下降法。編寫函式θ=l1ls(X, y, lambda)用於更新θ,要求精度高於10^-5

解:編寫的matlab程式如下


(3)測試。由於沒有獲得資料集,在此不進行測試。

4. K均值聚類 K-means Clustering

編寫函式[clusters, centers] = k_means(X, k)實現聚類演算法

解:函式程式碼如下


5. 生成EM演算法 The Generalized EM Algorithm

EM演算法中的M步常常需要很大的計算量,因為我們需要最大化的數值解。此時,通過選擇性的稍微增加我們的下界值,而非獲得當前狀態下最高的下界的演算法,可以很大降低計算複雜度,這一演算法稱為生成EM演算法。

在標準EM演算法中θ的更新公式為


但在GEM演算法中,我們將更新步驟變為


其中α表示更新的步長

(1)證明GEM演算法一定收斂。為了證明這一點,我們需要證明其對數似然函式單調遞增,即l(θ(t+1))≥l(θ(t))

解:

(2)設想我們使用梯度上升演算法直接最大化對數似然函式,即我們需要最大化下列非凸方程


因此我們將更新公式化簡為


證明上述過程的更新方程同GEM演算法是相同的。

解:對對數似然函式直接求導有


對於GEM演算法,有


但GEM演算法E步選擇的結果為


所以


這與直接求導的結果是相同的。

// 這裡是分割線~

// 順便給自己的公眾號打個廣告,希望大家多多關注~

// 關注我的公眾號可以看到更多有意思的東西哦~