日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Andrew Ng机器学习课程7

發(fā)布時間:2025/3/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Andrew Ng机器学习课程7 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

回顧

通過定義訓(xùn)練集S={(x(i),y(i));i=1,2,...,m}與線性決策平面(w,b)之間的function margin γ^和geometric margin γ 、好的分類決策平面特點得到了一個最優(yōu)化問題:

max(γ,w,b)γ s.t. y(i)(wTx(i)+b)γ, ||w||=1
下面要介紹的就是如何解決這個最優(yōu)化問題,一個思路就是將這個沒有“現(xiàn)貨”可以解決的優(yōu)化問題,轉(zhuǎn)變?yōu)閛ff-the-shelf的最優(yōu)化問題的形式,以便直接拿來使用。

最優(yōu)化問題推導(dǎo)過程

約束條件中的||w||=1是一個nasty(非凸)的目標,于是進行第一步的演變:

  • 將最大化geometric margin轉(zhuǎn)變?yōu)樽畲蠡痜unction margin

    max(γ^,w,b)γ^ s.t. y(i)(wTx(i)+b)γ^,i=1,2,...,m
    雖然沒有了||w||=1的約束,但這個優(yōu)化目標則變?yōu)榱艘粋€nasty(non-convex)函數(shù),需要進行第二步的演變:

  • 引入(w,b)的尺度限制,使function margin γ^=1
    考慮到最大化γ^/||w||=1/||w||等效于最小化||w||2,于是第二步演變后得到的優(yōu)化問題為:

    max(γ,w,b)12||w||2 s.t. y(i)(wTx(i)+b)1,i=1,2,...,m
    經(jīng)過兩步的推導(dǎo),問題轉(zhuǎn)變?yōu)榱艘粋€典型的凸二次目標與線性約束的優(yōu)化問題,這類問題可以通過成熟的software解決,不必深究。

雖然通過上面的推導(dǎo)過程能夠解決并得到一個好的分類決策超平面,但是還得介紹一下Lagrange duality,通過上面優(yōu)化問題的對偶形式,可以引入kernel trick得到在高維空間表現(xiàn)很好的optimal margin classifiers,另外,dual form將得到比上面解普通二次優(yōu)化問題更加有效的方法。

Lagrange duality

1. Lagrange multiplier

考慮下面形式的優(yōu)化問題:

minw f(w) s.t. hi(w)=0, i=1,...,l.
解決方法之一就是Lagrange multipliers,定義Lagrangian為:
L(w,β)=f(w)+sumli=1βihi(w)
βi那一項叫做Lagrange multipliers。通過求解偏微分來得到對應(yīng)的wβ

2. primal optimization problem

將如下形式的優(yōu)化問題成為primal optimization問題:

minw f(w) s.t. gi(w)0,i=1,...,k hi(w)=0, i=1,...,l.
為了解決這個問題,開始進行相關(guān)的推導(dǎo):

  • generalized Lagrangian:
    L(w,α,β)=f(w)+sumki=1αigi(w)+sumli=1βihi(w)
  • objective θP(w)

θP(w)=maxα,β:αi0L(w,α,β)=maxα,β:αi0 f(w)+sumki=1αigi(w)+sumli=1βihi(w)
討論一下,如果gi(w)>0 or hi(w)0,則objective就變?yōu)榱藷o窮大,因此maximize就是為了使gi(w)hi(w)滿足約束條件。當它們滿足約束條件時,為了使objective就等于了f(w)。這里P的含義代表的是primal。

  • final optimization form:

minwθP(w)=minw maxα,β:αi0L(w,α,β)

  • final optimal solution:

p?=minwθP(w)

3. 對偶問題dual optimization problem

  • objective θD(α,β)

θD(α,β)=minwL(w,α,β)
這里D代表的是dual。

  • dual optimization problem:

maxα,β:αi0θD(α,β)=maxα,β:αi0 minwL(w,α,β)

  • dual solution:

d?=maxα,β:αi0θD(w)

4. 耦合primal和dual問題

不加約束地,兩者有如下形式的關(guān)系:

d?=maxα,β:αi0 minwL(w,α,β)minw maxα,β:αi0L(w,α,β)=p?
我們期望是在滿足某些條件時,令d?=p?。而這個條件就是著名的KKT條件,這里不再詳述,只是進行稍微的解釋說明:fgi(w)是凸函數(shù),而hi(w)需為affine,即形如hi(w)=aTiw+bi。同時,如果(w,α,β)滿足KKT條件,它就是primal和dual問題的解。

  • KKT formulation

?L(w?,α?,β?)?wi=0,i=1,...n?L(w?,α?,β?)?βi=0,i=1,...lα?gi(w?)=0,i=1,...,kgi(w?)0,i=1,...,kα?0,i=1,...,k
另外值得注意的條件就是,α?gi(w?)=0,i=1,...,k,叫做KKT dual complementary condition,它表明了如果α?>0,那么gi(w?)=0。后續(xù)引入到maximize marge問題中,會推導(dǎo)出support vector的定義。

optimal margin classifiers

這里重寫margin最大化的問題:

max(γ,w,b)12||w||2 s.t. y(i)(wTx(i)+b)1,i=1,2,...,m

  • support vector
  • 通過定義gi(w)這個約束項為如下形式:

    gi(w)=?y(i)(wTx(i)+b)+10
    這樣這個問題就轉(zhuǎn)變?yōu)榱松厦嫠榻B的那些預(yù)備問題了。從KKT dual complementary condition中可知,α?>0對應(yīng)訓(xùn)練樣本中那些functional margin等于1的樣本點,即使得gi(w?)=0,這些點就叫做support vector。

    2. 構(gòu)造對偶問題

    • 構(gòu)造Lagrangian

    按照上面的介紹的Lagrangian,構(gòu)造如下形式:

    L(w,b,α)=12||w||2?i=1mαi[y(i)(wTx(i)+b)?1]

    • 構(gòu)造θD

    按照上面介紹的dual問題的步驟,進行構(gòu)造,然后求解。對w求解偏微分,得到如下的對應(yīng)的w

    w=i=1mαiy(i)x(i)
    這個公式很重要,還記得剛才提到的support vector,實際上最后得到的w就是support vectors的樣本點的線性組合。這一現(xiàn)象被稱為????。實際上知道了決策超平面w之后,很容易得到b的表達式為:
    b?=?maxi:y(i)=?1w?Tx(i)+mini:y(i)=+1w?Tx(i)2
    實際上的含義就是當知道斜率之后,求截距b就是不斷地進行平移,移動到兩個樣本的正中間。其實比較困難的地方時在求斜率上。

    • 對偶問題

    最后推出的dual問題的形式如下:

    maxα W(α)=i=1mαi?12i,j=1my(i)y(j)αiαj<x(i),x(j)>s.t. αi0,i=1,...,mi=1mαiy(i)=0
    當然這樣進行dual問題轉(zhuǎn)化,需要先驗證KKT條件,否則兩者primal和dual問題的解不等,轉(zhuǎn)化就沒意義了。這樣問題轉(zhuǎn)化為了求解參數(shù)為αi的最大化問題。
    到此,假設(shè)已經(jīng)得到了對應(yīng)的解,那么模型在進行工作時,計算wTx+b時,可以進行如下的轉(zhuǎn)換:
    wTx+b=(i+1mαiy(i)x(i))Tx+b=i+1mαiy(i)<x,x(i)>+b
    所以,計算中只需要計算新輸入的x與訓(xùn)練集中的x的內(nèi)積就好了。還記得support vector吧,實際上只需要計算新輸入x與support vcetors的內(nèi)積就好了。上面的那種形式,有助于我們引出kernel trick。

    Kernels核

    回顧linear regression,通過features xx2x3...xn來獲取更加powerful的曲線。實際上是通過特征一聲,將原始特征映射到高維空間,隨著n的增大,模型的能力越強,復(fù)雜度越高,可以擬合的曲線也越彎曲,但是隨著自由度的增加,模型很有可能overfitting。常規(guī)的方法是不可能達到無窮多維度的擬合的。特征映射記為?,映射后的特征記為?(x)。而kernel的定義為:對應(yīng)給定的特征映射?(x)K(x,z)=?(x)T?(z)。給定一個kernel就表達了兩層信息,一是特征映射函數(shù),二是內(nèi)積。Kernel的好處是容易計算,如果對應(yīng)的特征映射?(x)是一個高維度的矢量,那么計算內(nèi)積就比較費勁,而通常直接利用Kernel能夠獲得更有效率的計算。另一方面,kernel具有內(nèi)積的特性,表示了經(jīng)過特征轉(zhuǎn)換后的特征相似度。比如:

    K(x,z)=exp(?||x?z||22σ2)
    x,z距離很近時,接近為值接近為1;當x,z距離很遠時,接近為值接近為0;這個Kernel叫做Gaussian kernel。定義Kernel matrix為Kij=K(xi,xj)。K得是半正定的對稱矩陣。這是一個充分條件,被稱為Mercer Theorem。
    將Kernel應(yīng)用與SVM是非常明顯的,而kernel不僅僅能應(yīng)用于SVM,特別地,當學(xué)習(xí)算法中需要以輸入特征矢量的內(nèi)積形式時,使用kernel代替將會在高維特征空間非常高效地工作。所以,稱這種技能為kernel trick。


    2015-8-26
    藝少

    轉(zhuǎn)載于:https://www.cnblogs.com/huty/p/8519208.html

    總結(jié)

    以上是生活随笔為你收集整理的Andrew Ng机器学习课程7的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。