一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

分類器

 cosmic_Klogger 2019-10-19

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

分類算法:劃分為了兩類

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

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

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

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

Softmax分類

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

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

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

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


 

logistic分類器

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

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

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

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

sigmoid函數(shù)形狀為

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

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

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

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

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

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

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

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

那么可以得到

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

將logistic擴展到多分類

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

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

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

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

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

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

Boosting

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

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

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

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

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

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

Adaboost

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

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

Adaboost 迭代算法分為3步:

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

算法流程

給定一個訓練數(shù)據集T={(x1,y1), (x2,y2)…(xN,yN)},其中實例x \in \mathcal{X},而實例空間\mathcal{X} \subset \mathbb{R}^n,yi屬于標記集合{-1,+1},Adaboost的目的就是從訓練數(shù)據中學習一系列弱分類器或基本分類器,然后將這些弱分類器組合成一個強分類器。

算法流程如下:

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

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

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

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

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

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

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

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

                  

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

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

                                                          

3.組合各個弱分類器

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

實例

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

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

并假設一開始的權值分布是均勻分布: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ù)

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

得到新的權值分布,從各0.1變成了:

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

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

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

的分類誤差率為0,結束迭代。

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

SVM

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

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

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

優(yōu)點:

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

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

 

如果一個線性函數(shù)能夠將樣本完全正確的分開,就稱這些數(shù)據是線性可分的,否則稱為非線性可分的。線性函數(shù)在一維空間里就是一個點,在二維空間里就是一條直線,三維空間里就是一個平面,如果不關注空間的維數(shù),這種線性函數(shù)叫做超平面(Hyper Plane)。在樣本空間中,劃分超平面可通過如下線性方程來描述:

                                                              

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

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

                                                    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||,為了之后的求導和計算方便,進一步等價于最小化  

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

 

兩個式子綜合一下有:

 

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

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

 實例

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

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

 

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧美熟妇喷浆一区二区| 老司机激情五月天在线不卡| 东京热加勒比一区二区三区| 欧美日韩三区在线观看| 精品国产91亚洲一区二区三区| 黄片免费观看一区二区| 操白丝女孩在线观看免费高清| 日本高清不卡在线一区| 久久精品一区二区少妇| 日本加勒比不卡二三四区| 欧美日韩乱一区二区三区| 好吊妞在线免费观看视频| 微拍一区二区三区福利| 欧美在线观看视频三区| 91久久精品在这里色伊人| 中文字幕一区二区久久综合| 中文字幕一区二区熟女| 五月情婷婷综合激情综合狠狠| 免费亚洲黄色在线观看| 国产精品午夜一区二区三区| 香蕉网尹人综合在线观看| 日本大学生精油按摩在线观看| 欧美性高清一区二区三区视频| 国产成人人人97超碰熟女| 亚洲国产精品久久精品成人| 欧美91精品国产自产| 日本淫片一区二区三区| 美国黑人一级黄色大片| 日本高清一道一二三区四五区| 亚洲日本加勒比在线播放| 国内外免费在线激情视频| 午夜日韩在线观看视频| 亚洲av日韩av高潮无打码| 国内九一激情白浆发布| 久久本道综合色狠狠五月| 日韩偷拍精品一区二区三区| 中文字幕熟女人妻视频| 富婆又大又白又丰满又紧又硬| 妻子的新妈妈中文字幕| 欧美精品久久一二三区| 九九热精彩视频在线免费|