开心六月综合激情婷婷|欧美精品成人动漫二区|国产中文字幕综合色|亚洲人在线成视频

    1. 
      
        <b id="zqfy3"><legend id="zqfy3"><fieldset id="zqfy3"></fieldset></legend></b>
          <ul id="zqfy3"></ul>
          <blockquote id="zqfy3"><strong id="zqfy3"><dfn id="zqfy3"></dfn></strong></blockquote>
          <blockquote id="zqfy3"><legend id="zqfy3"></legend></blockquote>
          打開APP
          userphoto
          未登錄

          開通VIP,暢享免費電子書等14項超值服

          開通VIP
          分類器

          分類器的作用:常規(guī)任務(wù)是利用給定的類別、已知的訓練數(shù)據(jù)來學習分類規(guī)則和分類器,然后對未知數(shù)據(jù)進行分類(或預(yù)測)。邏輯回歸(logistics)、SVM等常用于解決二分類問題,對于多分類問題(multi-class classification),比如識別手寫數(shù)字,它需要10個分類,同樣也可以用邏輯回歸或SVM,只是需要多個二分類來組成多分類,但這樣容易出錯且效率不高,常用的多分類方法有softmax。 

          分類算法:劃分為了兩類

          1.基于概率密度的方法和基于判別函數(shù)的方法。

          • 基于概率密度的分類算法通常借助于貝葉斯理論體系,采用潛在的類條件概率密度函數(shù)的知識進行分類; 在基于概率密度的分類算法中,有著名的貝葉斯估計法、最大似然估計,這些算法屬于有參估計,需要預(yù)先假設(shè)類別的分布模型,然后使用訓練數(shù)據(jù)來調(diào)整概率密度中的各個參數(shù)。另外,如 Parzen窗、Kn鄰近等方法屬于無參估計,此類方法可從訓練樣本中直接估計出概率密度。 基于判別函數(shù)的分類方法使用訓練數(shù)據(jù)估計分類邊界完成分類,無需計算概率密度函數(shù)。
          • 基于判別函數(shù)的方法則假設(shè)分類規(guī)則是由某種形式的判別函數(shù)表示,而訓練樣本可用來表示計算函數(shù)中的參數(shù),并利用該判別函數(shù)直接對測試數(shù)據(jù)進行分類。此類分類器中,有著名的感知器方法、最小平方誤差法、SVM法、神經(jīng)網(wǎng)絡(luò)方法以及徑向基(RBF)方法等。

          2.根據(jù)監(jiān)督方式劃分分類算法,分類學習問題可分為三大類:有監(jiān)督分類、半監(jiān)督分類和無監(jiān)督分類。

          • 有監(jiān)督分類是指用來訓練分類器的所有樣本都經(jīng)過了人工或其他方式的標注,有很多著名的分類器算法都屬于有監(jiān)督的學習方式,如AdaBoost[51],SVM,神經(jīng)網(wǎng)絡(luò)算法以及感知器算法。
          • 無監(jiān)督分類是指所有的樣本均沒有經(jīng)過標注,分類算法需利用樣本自身信息完成分類學習任務(wù),這種方法通常被稱為聚類,常用的聚類算法包括期望最大化(EM)算法和模糊C均值聚類算法等。
          • 半監(jiān)督分類指僅有一部分訓練樣本具有類標號,分類算法需要同時利用有標號樣本和無標號樣本學習分類,使用兩種樣本訓練的結(jié)果比僅使用有標注的樣本訓練的效果更好。這類算法通常由有監(jiān)督學習算法改進而成,如SemiBoost、流形正則化、半監(jiān)督SVM等。

          Softmax分類

          Softmax 函數(shù)的定義如下所示:

          其中,Vi 是分類器前級輸出單元的輸出。i 表示類別索引,總的類別個數(shù)為 C。Si 表示的是當前元素的指數(shù)與所有元素指數(shù)和的比值。Softmax 將多分類的輸出數(shù)值轉(zhuǎn)化為相對概率,更容易理解和比較。

          使用softmax激勵函數(shù)作為輸出層的多層感知機,卷積層和池化層每個的輸出代表高級特征,目的是用這些特征進行分類。加入全連接層也是學習特征之間非線性組合的有效辦法。卷積層和池化層提取出來的特征很好,但是如果考慮這些特征之間的組合,就更好了。

          Softmax函數(shù)把任意實值的向量轉(zhuǎn)變成元素取之0到1且和為1的向量。將多個神經(jīng)元的輸出,映射到(0,1)區(qū)間內(nèi),可以看成概率來理解,從而來進行多分類。


           

          logistic分類器

          以Bernoulli(伯努利) 分布為模型建模的,顧名思義,邏輯分類,是一種二分類法,能將數(shù)據(jù)分成0和1兩類。logistic分類的流程比較簡單,主要有線性求和,sigmoid函數(shù)激活,計算誤差,修正參數(shù)這4個步驟。前兩部用于判斷,后兩步用于修正。

          線性求和以及sigmoid函數(shù)

          假設(shè)有一個n維的輸入列向量 x,也有一個n維的參數(shù)列向量h, 還有一個偏置量b, 那么就可以線性求和得到z

          此時因為z的值域是[?∞,+∞] ,是無法根據(jù)z來判斷x 到底是屬于0還是1的。因此我們需要一個函數(shù),來將z的值映射到[0,1]之間, 這就是激活函數(shù)。激活函數(shù)有很多種,這里的激活函數(shù)是sigmoid函數(shù)。

          sigmoid函數(shù)形狀為

          可以看到它是介于0~1之間。那么在判斷的時候,首先對之前得到的z代入sigmoid函數(shù)

          當 a 大于0.5的時候,我們判定x應(yīng)屬于1類,如果小于0.5,則屬于0類。這樣,就完成了判斷的工作 。

          詳細過程:https://www.cnblogs.com/yinheyi/p/6131262.html

          誤差計算以及參數(shù)修正

          上面完成的判斷過程中用到了參數(shù)向量h和偏置量b。 可以說,h和b的值直接關(guān)系到logistic判斷的準確性。那么這兩組參數(shù)是如何獲得的呢?這就涉及到了參數(shù)的修正。在最開始的時候,h中的值是隨機的,而b的值是0. 我們通過不斷的訓練來使得h和b能夠盡可能的達到一個較優(yōu)的值。

          那么如何訓練呢?假設(shè)我們期望輸入x的判定是y,而實際得到的判定值是a,那么我們定義一個損失函數(shù)C(a,y),通過修正h和b的值來使得C最小化,這是一個優(yōu)化問題。在凸優(yōu)化問題中,可以通過

          來直接算得h和b的最優(yōu)解。然而在某些情況下,例如數(shù)據(jù)規(guī)模很大,或者非凸優(yōu)化問題中,則不能這么做,而是用迭代的方法來得到局部最優(yōu)解。

          其中 η 表示學習率。在這里,損失函數(shù)定為平方損失函數(shù),即

          那么可以得到

          這樣,就能夠得到每次迭代的參數(shù)更新公式為

          將logistic擴展到多分類

          從之前可以看出,普通的logistic只能進行二分類,即只能夠分為0或者1。那么如果這些樣本屬于多個類該怎么辦呢?人們想了很多辦法,例如一對多法,依次把某個類別的樣本歸為一類,其他剩余的樣本歸為另一類,這樣k個類需要構(gòu)建k個分類器。還有一對一法,在任意兩類樣本之間設(shè)計一個分類器,k個類需要k(k-1)/2個分類器。

          在這里,我們將輸出由一個值更改為一個向量。例如有3個類,那么輸出就是一個長度為3 的列向量,對應(yīng)項的值為1,其他為0。即

          分別表示第0,1,2個類。 也可以看成是原來若干個logistic分類器組合在一起。對應(yīng)的某個分類器只對該類輸出1,其他情況都輸出0.從這一點上來講,這個做法有點類似于一對多法。此時,由于輸出從一個數(shù)成為一個向量,之前的公式都要加以修改。首先,原來的y,a,z,b變成了列向量, 向量hh變成了矩陣W。這樣,判斷部分的公式變?yōu)?/p>

          此時的 σ 函數(shù)表示對向量中的每一個元素單獨做運算。即

          得到的a向量中,其最大值所在的位置索引即為判斷出的分類。 參數(shù)修正部分的公式也是類似的,

          注意有些向量之間是進行點乘的。 

          Boosting

          顧名思義,是提升的意思。弱分類器轉(zhuǎn)化為強分類器---原理即三個臭皮匠,賽過諸葛亮一樣。把很多分類準確率很低的分類器通過更新對數(shù)據(jù)的權(quán)重,集成起來形成一個分類效果好的分類器。

          它是一種框架算法,先從初始訓練集訓練出一個基學習器,再根據(jù)基學習器的表現(xiàn)對訓練樣本分布進行調(diào)整,使得先前基學習器做錯的訓練樣本在后續(xù)受到更多的關(guān)注,然后基于調(diào)整后的樣本分布來訓練下一個基學習器;如此重復(fù)進行,直至基學習器數(shù)目達到事先指定的值T,最終將這T個基學習器進行加權(quán)結(jié)合。

          一般來說,找到弱學習算法要相對容易一些,然后通過反復(fù)學習得到一系列弱分類器,組合這些弱分類器得到一個強分類器。Boosting算法要涉及到兩個部分,加法模型和前向分步算法。加法模型就是說強分類器由一系列弱分類器線性相加而成。一般組合形式如下:

          其中,h(x;am)是一個個的弱分類器,am是弱分類器學習到的最優(yōu)參數(shù),βm是弱學習在強分類器中所占比重,P是所有am和βm的組合,這些弱分類器線性相加組成強分類器。

          前向分步就是說在訓練過程中,下一輪迭代產(chǎn)生的分類器是在上一輪的基礎(chǔ)上訓練得來的。也就是可以寫成這樣的形式:

          由于采用的損失函數(shù)不同,Boosting算法有很多不同的類型,其中比較經(jīng)典的有AdaBoost,其損失函數(shù)為指數(shù)損失的。

          Adaboost

          Boosting有一個重大缺陷,即該算法要求事先知道弱分類算法分類正確率的下限,這在實際問題中很難做到。

          Adaptive Boosting,自適應(yīng)增強。它的自適應(yīng)在于:前一個基本分類器分錯的樣本會得到加強,加權(quán)后的全體樣本再次被用來訓練下一個基本分類器。同時,在每一輪中加入一個新的弱分類器,直到達到某個預(yù)定的足夠小的錯誤率或達到預(yù)先指定的最大迭代次數(shù)。

          Adaboost 迭代算法分為3步:

          1. 初始化訓練數(shù)據(jù)的權(quán)值分布。如果有N個樣本,則每個訓練樣本最開始時都被賦予相同的權(quán)值:1/N;
          2. 訓練弱分類器。具體訓練過程中,如果某個樣本點已經(jīng)被準確地分類,那么在構(gòu)造下一個訓練集中,它的權(quán)值就被降低;相反,如果某個樣本點沒有被準確地分類,那么它的權(quán)值就得到提高。然后權(quán)值更新過的樣本集被用于訓練下一個分類器,整個訓練過程如此迭代地進行下去;
          3. 將各個訓練得到的弱分類器組合成強分類器。各個弱分類器的訓練過程結(jié)束后,加大分類誤差率小的弱分類器的權(quán)重,使其在最終的分類函數(shù)中起著較大的決定作用,而降低分類誤差率大的弱分類器的權(quán)重,使其在最終的分類函數(shù)中起著較小的決定作用。換言之,誤差率低的弱分類器在最終分類器中占的權(quán)重較大,否則較小。

          算法流程

          給定一個訓練數(shù)據(jù)集T={(x1,y1), (x2,y2)…(xN,yN)},其中實例

          ,而實例空間
          ,yi屬于標記集合{-1,+1},Adaboost的目的就是從訓練數(shù)據(jù)中學習一系列弱分類器或基本分類器,然后將這些弱分類器組合成一個強分類器。

          算法流程如下:

          1.初始化訓練數(shù)據(jù)的權(quán)值分布。每一個訓練樣本最開始時都被賦予相同的權(quán)值:1/N。

          2.進行多輪迭代,用m = 1,2, ..., M表示迭代的第多少輪

          a.使用具有權(quán)值分布Dm的訓練數(shù)據(jù)集學習,得到基本分類器(選取讓誤差率最低的閾值來設(shè)計基本分類器):

            b.計算Gm(x)在訓練數(shù)據(jù)集上的分類誤差率

             由上述式子可知,Gm(x)在訓練數(shù)據(jù)集上的誤差率em就是被Gm(x)誤分類樣本的權(quán)值之和。

            c.計算Gm(x)的系數(shù),am表示Gm(x)在最終分類器中的重要程度(目的:得到基本分類器在最終分類器中所占的權(quán)重):        

             由上述式子可知,em≤1/2時,am≥0,am隨em減小而增大,分類誤差率越小的基本分類器在最終分類器中的作用越大。

            d.更新訓練數(shù)據(jù)集的權(quán)值分布(目的:得到樣本的新的權(quán)值分布),用于下一輪迭代。

                            

            使得被基本分類器Gm(x)誤分類樣本的權(quán)值增大,而被正確分類樣本的權(quán)值減小,重點關(guān)注或聚焦于那些較難分的樣本上。

              其中,Zm是規(guī)范化因子,使得Dm+1成為一個概率分布:

                                                                    

          3.組合各個弱分類器

          從而得到最終分類器,如下: 

          實例

          有如下的訓練樣本,我們需要構(gòu)建強分類器對其進行分類。x是特征,y是標簽。

          令權(quán)值分布D1=(w1,1,w1,2,…,w1,10)

          并假設(shè)一開始的權(quán)值分布是均勻分布:w1,i=0.1,i=1,2,…,10w1,i=0.1,i=1,2,…,10

          現(xiàn)在開始訓練第一個弱分類器。發(fā)現(xiàn)閾值取2.5時分類誤差率最低,得到弱分類器為:

          當然,也可用別的弱分類器,只要誤差率最低即可。這里為了方便,用了分段函數(shù)。得到了分類誤差率e1=0.3。

          第二步計算G1(x)在強分類器中的系數(shù)

          第三步更新樣本的權(quán)值分布,用于下一輪迭代訓練。由公式:

          得到新的權(quán)值分布,從各0.1變成了:

          可以看出,被分類正確的樣本權(quán)值減小了,被錯誤分類的樣本權(quán)值提高了。

          第四步得到第一輪迭代的強分類器:

          以此類推,經(jīng)過第二輪……第N輪,迭代多次直至得到最終的強分類器。迭代范圍可以自己定義,比如限定收斂閾值,分類誤差率小于某一個值就停止迭代,比如限定迭代次數(shù),迭代1000次停止。這里數(shù)據(jù)簡單,在第3輪迭代時,得到強分類器:

          的分類誤差率為0,結(jié)束迭代。

          F(x)=sign(F3(x))就是最終的強分類器。

          SVM

          借鑒博客:https://blog.csdn.net/mm_bit/article/details/46988925

          • 線性核SVM:一般應(yīng)用于多分類,分類的結(jié)果(如3分類)最后會給出(約等于)1、2、3的值代表第1、2、3類
          • 非線性核SVM:一般應(yīng)用于二分類問題上

          support vector machines,支持向量機,是一個二分類的分類模型(經(jīng)改造后也可用于多分類,但比較復(fù)雜)。分類的思想是,給定給一個包含正例和反例的樣本集合,其目的是尋找一個超平面來對樣本根據(jù)正例和反例進行分割,尋找一個超平面,使得離超平面比較近的點能有更大的間距。也就是我們不考慮所有的點都必須遠離超平面,我們關(guān)心求得的超平面能夠讓所有點中離它最近的點具有最大間距。

          優(yōu)點:

          在解決小樣本、非線性及高維模式識別中表現(xiàn)出許多特有的優(yōu)勢,并能夠推廣應(yīng)用到函數(shù)擬合等其他機器學習問題中。

          如下面3個圖,分類圖1中的兩類球,很簡單,用一根棍子即可;但圖2中一條直線貌似不能完成分類的任務(wù),可以想象就像武俠片的大俠一樣,拍下桌子,球飛到空中。然后,大俠抓起一張紙,插到了兩種球的中間,如圖2右邊的部分;從直觀的角度看這些球像是被一條曲線分開了,如圖3。其中這些球叫做【data】,棍子叫做【classifier】, 最大間隙trick叫做【optimization】, 拍桌子叫做【kernelling】,那張紙叫做【hyperplane】。

           

          如果一個線性函數(shù)能夠?qū)颖就耆_的分開,就稱這些數(shù)據(jù)是線性可分的,否則稱為非線性可分的。線性函數(shù)在一維空間里就是一個點,在二維空間里就是一條直線,三維空間里就是一個平面,如果不關(guān)注空間的維數(shù),這種線性函數(shù)叫做超平面(Hyper Plane)。在樣本空間中,劃分超平面可通過如下線性方程來描述:

                                                                        

          假設(shè)它已經(jīng)完成了對樣本的分隔,且兩種樣本的標簽分別是{+1,-1},那么對于一個分類器來說,g(x)>0和個g(x)<0就可以分別代表兩個不同的類別,+1和-1。

          但光是分開是不夠的,SVM的核心思想是盡最大努力使分開的兩個類別有最大間隔,這樣才使得分隔具有更高的可信度。而且對于未知的新樣本才有很好的分類預(yù)測能力(在機器學習中叫泛化能力),SVM讓間隔最大的辦法是:讓離分隔面最近的數(shù)據(jù)點具有最大的距離。為了描述離分隔超平面最近的數(shù)據(jù)點,需要找到兩個和這個超平面平行和距離相等的超平面:

                                                              H1: y = wTx + b=+1 和 H2: y = wTx + b=-1

          在這兩個超平面上的樣本點也就是理論上離分隔超平面最近的點,是它們的存在決定了H1和H2的位置,支撐起了分界線,它們就是所謂的支持向量,這就是支持向量機的由來。

          由兩個超平面就可以定義上面提到的間隔(margin)了,二維情況下 ax+by=c1和ax+by=c兩條平行線的距離公式為:

          可以推出H1和H2兩個超平面的間隔為2/||w||,即現(xiàn)在的目的是要最大化這個間隔。所以support vector machine又叫Maximum margin hyper plane classifier(最大間隔超平面分類器),等價于最小化||w||,為了之后的求導(dǎo)和計算方便,進一步等價于最小化  

          。

          假設(shè)超平面能將樣本正確分類,則可令:

           

          兩個式子綜合一下有:

           

          這就是目標函數(shù)的約束條件?,F(xiàn)在這個問題就變成了一個最優(yōu)化問題:

          而且這是一個凸二次規(guī)劃問題,一般的解決方法有兩種1是用現(xiàn)成的優(yōu)化工具包直接求解,2是使用Lagrange Duality找到一種更有效的方法求解。

           實例

          svm的輸入是一組向量以及每個向量對應(yīng)的分類:
          label,一般是-1或1,表示種類;
          index:value, 向量值,如 1:0.78, 2:1, 3:-0.52, 4:-0.35, 5:0.56, 一般用一個一維數(shù)組表示
          數(shù)據(jù)準備成上述格式,隨機分成2份,一份用來訓練模型,一份用來測試模型的準確性,以便根據(jù)測試結(jié)果調(diào)整訓練參數(shù)。在線性不可分的情況下,使用RBF核效果比較好,現(xiàn)在很多軟件可以自動完成這個對比、選擇過程。

          比如用svm進行垃圾郵件識別,大概步驟如下:
          對郵件進行打標,垃圾郵件標為1,非垃圾郵件標為-1。對郵件內(nèi)容進行分詞,對每個詞計算特征權(quán)重,然后通過歸一化轉(zhuǎn)化成-1到1之間的值,選擇一個svm實現(xiàn)lib或軟件,將準備好的這些向量和label帶入訓練,調(diào)整參數(shù)得到效果滿足要求的模型。

           

          本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
          打開APP,閱讀全文并永久保存 查看更多類似文章
          猜你喜歡
          類似文章
          Adaboost 算法的原理與推導(dǎo)(讀書筆記)
          機器學習經(jīng)典算法詳解及Python實現(xiàn)
          機器學習面試干貨精講
          9一些SVM知識
          支持向量機及其應(yīng)用
          從集成方法到神經(jīng)網(wǎng)絡(luò):自動駕駛技術(shù)中的機器學習算法有哪些?
          更多類似文章 >>
          生活服務(wù)
          分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
          綁定賬號成功
          后續(xù)可登錄賬號暢享VIP特權(quán)!
          如果VIP功能使用有故障,
          可點擊這里聯(lián)系客服!

          聯(lián)系客服