乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      機(jī)器學(xué)習(xí)算法的終極對決

       taotao_2016 2020-07-11

      CNN,Mobile-Net,KNN,Random Forest和MLP。 哪種算法最好?

      故事

      一切始于我年輕的表弟,他在自己的世界里迷路,在繪畫本上涂鴉。 我問他在做什么。 他回答說他正在養(yǎng)貓。 看起來根本不像貓。 他要求我和他一起玩游戲,我會認(rèn)出他在畫什么。 一段時間以來,這很有趣,但是很快,我就感到無聊。 我不想不和他玩耍來傷害他的感情,所以我用自己的計(jì)算機(jī)視覺和python技巧來制作一個Doodle分類器。 現(xiàn)在的問題是,我將如何實(shí)施它? 有數(shù)百種方法可以對Doodle進(jìn)行分類,而我必須選擇一種最準(zhǔn)確的涂鴉,即花費(fèi)最少的時間進(jìn)行訓(xùn)練,占用更少的內(nèi)存,需要更少的處理能力并且不需要TB的數(shù)據(jù)即可提供有意義的信息 結(jié)果。

      上網(wǎng)瀏覽后,我發(fā)現(xiàn)了可以以最佳方式完成此任務(wù)的前5種算法,但是我訪問的每個網(wǎng)站都講述了一個不同的故事。 有些人說CNN是最好的,而另一些人說移動網(wǎng)絡(luò)是最好的。 我想-好吧,讓我們測試一下所有這些。 我在Kaggle競賽中找到了一個包含大量帶有標(biāo)簽的涂鴉的出色數(shù)據(jù)集,可以免費(fèi)下載。

      圖像分類是一個巨大的話題,因?yàn)橛泻芏嗨惴捎糜诟鞣N應(yīng)用。 圖像分類是如此之大和千變?nèi)f化,以至于每天都在創(chuàng)建新的算法,并且它的新應(yīng)用也在不斷涌現(xiàn)。 因此,即使它們有數(shù)百種變體,我也很難手動選擇一些算法。 因此,本文將研究哪種算法最適合涂鴉分類。

      我還將測試這些算法在其他情況下(例如手寫字符分類,車牌識別等)的可靠性。

      涵蓋范圍

      · 研究中使用的機(jī)器學(xué)習(xí)技術(shù)簡介

      · 評估指標(biāo)

      · 選擇用于研究的參數(shù)的詳細(xì)信息

      · 結(jié)果

      · 局限性和結(jié)論

      讓我們首先簡要介紹所使用的機(jī)器學(xué)習(xí)算法

      涂鴉分類的算法有數(shù)千種,在這里我列出了一些我將探索的著名算法-

      1)隨機(jī)森林

      我們可以將隨機(jī)森林算法用于分類和回歸。 就像決策樹一樣,只是它使用數(shù)百個決策樹得出結(jié)論。 決策樹根據(jù)相似的特征將數(shù)據(jù)分為各種類別。 對于每個數(shù)據(jù)點(diǎn),它檢查是否具有特定功能,大多數(shù)常見數(shù)據(jù)屬于同一類。 在隨機(jī)森林算法中,我們采用許多決策樹,并隨機(jī)給它們提供較少的特征以供檢查,例如,如果我們有100個特征,則可能給每棵樹10個隨機(jī)特征。 一些樹將分配不正確的類,但是許多樹將是正確的! 我們以多數(shù)為準(zhǔn),并創(chuàng)建我們的分類模型。

      2)KNN

      K最近鄰(KNN)既可以用作分類算法,也可以用作回歸算法。 在KNN中,數(shù)據(jù)點(diǎn)分為幾類,以預(yù)測新樣本點(diǎn)的分類。 為了實(shí)現(xiàn)此任務(wù),它使用距離公式來計(jì)算各個數(shù)據(jù)點(diǎn)之間的距離,然后基于該距離,然后為每個類別定義區(qū)域邊界。 任何新的數(shù)據(jù)點(diǎn)都將屬于這些區(qū)域之一,并將被分配給該類。

      3)MLP

      多層感知(MLP)是前饋人工神經(jīng)網(wǎng)絡(luò)的一種形式。 MLP有許多層,但在其隱藏層中只有一個邏輯函數(shù),而在輸出層中只有一個softmax函數(shù)。 該算法以單個大向量作為輸入,并對輸入層和隱藏層執(zhí)行矩陣運(yùn)算,然后結(jié)果通過邏輯函數(shù),其輸出通過另一個隱層。 重復(fù)此過程,直到網(wǎng)絡(luò)到達(dá)輸出層為止,在此使用softmax函數(shù)生成單個輸出。

      4)CNN

      卷積神經(jīng)網(wǎng)絡(luò)(CNN)是最容易實(shí)現(xiàn)的深度學(xué)習(xí)計(jì)算機(jī)視覺算法之一。首先,它獲取給定尺寸的輸入圖像,并為其創(chuàng)建多個濾鏡/特征檢測器(最初是給定尺寸的隨機(jī)生成的矩陣),濾鏡的目的是識別圖像中的某些圖案,然后在濾鏡上移動在矩陣和圖像之間進(jìn)行圖像和矩陣相乘。該濾鏡在整個圖像中滑動以收集更多特征,然后我們使用激活函數(shù)(主要是整流的線性單位函數(shù))來增加非線性或僅保留重要特征,然后使用max-pooling函數(shù)將給定值中的所有值相加矩陣大小(例如,如果我們選擇4的矩陣,則它將所有4個值相加以創(chuàng)建1個值),從而減小輸出的大小以使其更快。最后一步是展平最終矩陣,該矩陣作為輸入傳遞到基本ANN(人工神經(jīng)網(wǎng)絡(luò))并獲得類預(yù)測。

      5)移動網(wǎng)

      Mobile-Net體系結(jié)構(gòu)使用深度方向可分離卷積,其中包括深度方向卷積和點(diǎn)方向卷積。 深度方向卷積是通道方向Dk * Dk空間卷積,假設(shè)我們在圖像中有3個通道(R,G,B),那么我們將具有3 * Dk * Dk空間卷積。 在逐點(diǎn)卷積中,我們的內(nèi)核大小為1 * 1 * M,其中M是在深度卷積中的通道數(shù),在這種情況下為3。因此,我們有一個大小為1 * 1 * 3的內(nèi)核。 我們通過3 * Dk * Dk輸出迭代這個內(nèi)核以獲得Dk * Dk * 1輸出。 我們可以創(chuàng)建N 1 * 1 * 3個內(nèi)核,每個內(nèi)核輸出一個Dk * Dk * 1圖像,以獲得形狀為Dk * Dk * N的最終圖像。 最后一步是將深度方向卷積添加到點(diǎn)方向卷積。 這種類型的體系結(jié)構(gòu)減少了訓(xùn)練時間,因?yàn)槲覀冃枰{(diào)整的參數(shù)較少,而對精度的影響較小。

      評估指標(biāo)

      機(jī)器學(xué)習(xí)算法的終極對決

      > Sample of doodles used for research

      以上是用于本研究的Doodle樣本。

      我在Kaggle quickdraw數(shù)據(jù)集上訓(xùn)練了機(jī)器學(xué)習(xí)模型,該數(shù)據(jù)集包含5000萬張不同類型的Doodle圖像。 我將龐大的數(shù)據(jù)集分為兩部分:用于訓(xùn)練的35000張圖像和用于測試的15000張圖像。 然后,我針對隨機(jī)選擇的5種不同類型的Doodle計(jì)算每種算法的訓(xùn)練時間。 在測試集上,我計(jì)算了每種算法的平均平均精度,準(zhǔn)確性和召回率。

      評估指標(biāo)

      訓(xùn)練時間

      平均平均精度

      準(zhǔn)確性

      召回

      Shashwat Tiwari 16MCA0068的更多有關(guān)評估指標(biāo)的信息

      選擇的參數(shù)的詳細(xì)信息

      1)隨機(jī)森林

      n_estimators —森林中決策樹的數(shù)量。 [10,50,100]

      max_features-拆分['auto','sqrt']時要考慮的功能

      max_depth —樹中的最大級別數(shù)[2,4,6,8,10]

      n_jobs-并行運(yùn)行的進(jìn)程數(shù),通常設(shè)置為-1以一次執(zhí)行最大進(jìn)程。

      準(zhǔn)則—這是一種計(jì)算損失并因此更新模型以使損失越來越小的方法。 ['熵','cross_validation']

      我使用'自動'作為max_feature; 8作為max_depth; -1作為n_jobs,'熵'作為我的標(biāo)準(zhǔn),因?yàn)樗鼈兺ǔa(chǎn)生最佳效果。

      機(jī)器學(xué)習(xí)算法的終極對決

      > the Graph to find an optimum number of trees

      但是,為了找出最佳的樹數(shù),我使用了GridSearchCV。 它嘗試所有給定的參數(shù)組合并創(chuàng)建一個表以顯示結(jié)果。 從圖中可以看出,在80棵樹之后測試分?jǐn)?shù)沒有顯著增加。 因此,我決定在80棵樹上訓(xùn)練我的分類器。

      2)K最近鄰居(KNN)

      n_neighbors —要比較的最近數(shù)據(jù)點(diǎn)數(shù)[2,5,8]

      n_jobs-并行運(yùn)行的進(jìn)程數(shù),通常設(shè)置為-1以一次執(zhí)行最大進(jìn)程

      我沒有更改此模型的任何默認(rèn)參數(shù),因?yàn)樗鼈儠峁┳罴呀Y(jié)果。

      但是,為了找到n_neighbors的最佳數(shù)量,我使用了GridSearchCV,這是我得到的圖形:

      機(jī)器學(xué)習(xí)算法的終極對決

      > The graph to find an optimum number of N-neighbors

      根據(jù)該圖,測試分?jǐn)?shù)在5 n_neighbors之后下降,這意味著5是最佳鄰居數(shù)。

      3)多層感知器(MLP)

      alpha-最常用的學(xué)習(xí)速率,它告訴網(wǎng)絡(luò)調(diào)整梯度的速度。 [0.01,0.0001,0.00001]

      hidden_layer_sizes —它是一個值的元組,由每層的隱藏節(jié)點(diǎn)數(shù)組成。 [(50,50),(100,100,100),(750,750)]

      激活—一種功能,可以為圖像中的重要特征提供價值,并刪除不相關(guān)的信息。 ['relu','tanh','logistic']。

      求解器(也稱為優(yōu)化器),該參數(shù)告訴網(wǎng)絡(luò)使用哪種技術(shù)來訓(xùn)練網(wǎng)絡(luò)中的權(quán)重。 ['sgd','adam']。

      batch_size —這是一次要處理的圖像數(shù)。 [200,100,200]。

      我將激活選擇為' relu',將求解器選擇為' adam',因?yàn)檫@些參數(shù)可提供最佳結(jié)果。

      但是,為了選擇隱藏層和alpha的數(shù)量,我使用了GridSearchCV。

      機(jī)器學(xué)習(xí)算法的終極對決

      > Table to find an optimum number of N-neighbors

      從表中可以看出,當(dāng)alpha為0.001,hidden_layer_sizes為(784,784)時,可獲得最佳結(jié)果。 因此,我決定使用那些參數(shù)。

      4)卷積神經(jīng)網(wǎng)絡(luò)(CNN)

      learning_rate-告訴網(wǎng)絡(luò)調(diào)整梯度的速度。 [0.01,0.0001,0.00001]

      hidden_layer_sizes —它是一個值的元組,由每層的隱藏節(jié)點(diǎn)數(shù)組成。 [(50,50),(100,100,100),(750,750)]

      激活—一種功能,可以為圖像中的重要特征提供價值,并刪除不相關(guān)的信息。 ['relu','tanh','logistic']。

      求解器(也稱為優(yōu)化器),該參數(shù)告訴網(wǎng)絡(luò)使用哪種技術(shù)來訓(xùn)練網(wǎng)絡(luò)中的權(quán)重。 ['sgd','adam']。

      batch_size —這是一次要處理的圖像數(shù)。 [200,100,200]

      時期-程序應(yīng)運(yùn)行的次數(shù)或應(yīng)訓(xùn)練模型的次數(shù)。 [10,20,200]

      我將激活函數(shù)選擇為' relu',將求解器選擇為' adam',因?yàn)檫@些參數(shù)通常會產(chǎn)生最佳效果。 在網(wǎng)絡(luò)中,我添加了3個卷積層,2個maxpool層,3個輟學(xué)層,最后添加了一個softmax激活函數(shù)。 我在這里沒有使用GridSearchCV,因?yàn)榭梢試L試很多可能的組合,但是結(jié)果不會有太大差異。

      5)移動網(wǎng)

      Input_shape-是由圖像尺寸組成的元組。 [(32,32,1),(128,128,3)]。

      Alpha-網(wǎng)絡(luò)的寬度。 [<1,> 1,1]

      激活—一種功能,可以為圖像中的重要特征提供價值,并刪除不相關(guān)的信息。 ['relu','tanh','logistic']。

      優(yōu)化器—也稱為求解器,此參數(shù)告訴網(wǎng)絡(luò)使用哪種技術(shù)來訓(xùn)練網(wǎng)絡(luò)中的權(quán)重。 ['sgd','adam']。

      batch_size —這是一次要處理的圖像數(shù)。 [200,100,200]。 時期-程序應(yīng)運(yùn)行的次數(shù)或應(yīng)訓(xùn)練模型的次數(shù)。 [10,20,200]

      classes-要分類的類數(shù)。 [2,4,10]

      損失-告訴網(wǎng)絡(luò)使用哪種方法來計(jì)算損失,即預(yù)測值與實(shí)際值之差。 ['categorical_crossentropy','RMSE']

      首先,我將28 * 28圖像的大小調(diào)整為140 * 140圖像,因?yàn)橐苿泳W(wǎng)絡(luò)最少需要32 * 32圖像,所以我使用的最終input_shape值為(140,140,1),其中1是圖像通道(在 這種情況下,黑色和白色)。 我將alpha設(shè)置為1,因?yàn)樗ǔa(chǎn)生最佳效果。 激活功能被設(shè)置為默認(rèn)值,即' relu'。 我使用了' Adadelta'優(yōu)化器,因?yàn)樗梢蕴峁┳罴研Ч?batch_size設(shè)置為128以更快地訓(xùn)練模型。 我已經(jīng)使用20個紀(jì)元來提高準(zhǔn)確性。 由于我們有5個類別可以分類,因此將類別設(shè)置為5。

      結(jié)果

      機(jī)器學(xué)習(xí)算法的終極對決

      > Final Results (Fingers crossed)

      以上是所使用的所有機(jī)器學(xué)習(xí)技術(shù)的性能。 指標(biāo)包括準(zhǔn)確性,召回率,準(zhǔn)確性和培訓(xùn)時間。 令我震驚的是,Mobile Net的訓(xùn)練時間為46分鐘,因?yàn)樗徽J(rèn)為是輕巧的模型。 我不確定為什么會這樣,如果您知道為什么,請告訴我。

      局限性和結(jié)論

      · 在這項(xiàng)研究中,只使用了28 * 28大小的黑白涂鴉,而在現(xiàn)實(shí)世界中,不同的顏色可能會表現(xiàn)出不同的意思或表示不同的事物,并且圖像大小可能會有所不同。 因此,在這些情況下,算法的行為可能會有所不同。

      · 在所有討論的算法中,都有許多可以更改和使用的超參數(shù),它們可能會給出不同的結(jié)果。

      · 訓(xùn)練這些算法的訓(xùn)練集僅限于35000張圖像,添加更多圖像可以提高這些算法的性能。

      結(jié)果表明,移動網(wǎng)絡(luò)實(shí)現(xiàn)了最高的準(zhǔn)確性,準(zhǔn)確性和查全率,因此就這三個參數(shù)而言,它是最佳算法。 但是,移動網(wǎng)絡(luò)的培訓(xùn)時間也是最高的。 如果將其與CNN進(jìn)行比較,我們可以看到CNN花費(fèi)更少的時間進(jìn)行訓(xùn)練,從而提供了相似的準(zhǔn)確性,準(zhǔn)確性和召回率。 因此,根據(jù)這項(xiàng)研究,我可以得出結(jié)論,CNN是最好的算法。

      在進(jìn)行了這項(xiàng)研究之后,我得出結(jié)論,像移動網(wǎng)絡(luò)和CNN這樣的算法可用于硬文字識別,車牌檢測以及世界各地的銀行。 諸如移動網(wǎng)絡(luò)和CNN之類的算法實(shí)現(xiàn)了超過97%的準(zhǔn)確度,這優(yōu)于95%的平均人類績效。 因此,這些算法可以在現(xiàn)實(shí)生活中使用,從而使困難或耗時的過程自動化。

      私信譯者獲得本文代碼

      (本文翻譯自Shubh Patni的文章《Ultimate Showdown of Machine Learning Algorithms》,參考:https:///ultimate-showdown-of-machine-learning-algorithms-af68fbb90b06)

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多