<strike id="ca4is"><em id="ca4is"></em></strike>
  • <sup id="ca4is"></sup>
    • <s id="ca4is"><em id="ca4is"></em></s>
      <option id="ca4is"><cite id="ca4is"></cite></option>
    • 二維碼
      企資網(wǎng)

      掃一掃關(guān)注

      當(dāng)前位置: 首頁 » 企資快報 » 精準 » 正文

      一個神經(jīng)網(wǎng)絡(luò)有多少個神經(jīng)元?

      放大字體  縮小字體 發(fā)布日期:2021-08-16 07:32:11    作者:本站原創(chuàng)    瀏覽次數(shù):14
      導(dǎo)讀

      引言神經(jīng)網(wǎng)絡(luò)是機器學(xué)習(xí)的一個迷人的領(lǐng)域,但是她們有時很難優(yōu)化和解釋。事實上,她們有幾個超參數(shù)。要優(yōu)化的最常見的超參數(shù)是隱藏層中的神經(jīng)元數(shù)量。讓我們看看如何為我們的數(shù)據(jù)集找到一個神經(jīng)網(wǎng)絡(luò)的最佳神經(jīng)元數(shù)量

      引言

      神經(jīng)網(wǎng)絡(luò)是機器學(xué)習(xí)的一個迷人的領(lǐng)域,但是她們有時很難優(yōu)化和解釋。事實上,她們有幾個超參數(shù)。要優(yōu)化的最常見的超參數(shù)是隱藏層中的神經(jīng)元數(shù)量。讓我們看看如何為我們的數(shù)據(jù)集找到一個神經(jīng)網(wǎng)絡(luò)的最佳神經(jīng)元數(shù)量。

      什么是神經(jīng)網(wǎng)絡(luò)?

      神經(jīng)網(wǎng)絡(luò)是一種特定模型,她可以根據(jù)一層神經(jīng)元來捕捉特征與目標(biāo)之間的相關(guān)性,從而轉(zhuǎn)換數(shù)據(jù)集。一個神經(jīng)網(wǎng)絡(luò)是由幾層神經(jīng)元組成的。每個神經(jīng)元獲取一些輸入,轉(zhuǎn)換她們并返回輸出。一個神經(jīng)元的輸出可以成為下一層神經(jīng)元的輸入等等,構(gòu)建越來越復(fù)雜的架構(gòu)。

      第一層稱為輸入層,由返回特征值本身的神經(jīng)元構(gòu)成。然后,第一層的每個神經(jīng)元連接到隱藏層的所有神經(jīng)元,負責(zé)網(wǎng)絡(luò)的學(xué)習(xí)能力。隱藏層后面可以跟幾個其他隱藏層,這是深度學(xué)習(xí)網(wǎng)絡(luò)的典型特征。最后,將最后一個隱藏層的輸出提供給給出結(jié)果(即目標(biāo)變量的值)的輸出層。

      在最簡單的形式中,神經(jīng)網(wǎng)絡(luò)只有一個隱藏層,如下圖所示。

      輸入層的神經(jīng)元數(shù)目等于特征數(shù)目。根據(jù)目標(biāo)變量定義輸出層的神經(jīng)元數(shù)。接下來的問題是如何為隱藏層找到正確的神經(jīng)元數(shù)量。

      數(shù)量太少可能會產(chǎn)生欠擬合,因為網(wǎng)絡(luò)可能無法正確學(xué)習(xí)。但是數(shù)量太多有可能產(chǎn)生過擬合,因為從網(wǎng)絡(luò)中學(xué)習(xí)了太多從而無法泛化。因此必須有合適數(shù)量的神經(jīng)元來確保良好的訓(xùn)練。

      如何優(yōu)化神經(jīng)元的數(shù)量

      該過程非常簡單,她使用交叉驗證:

    • 設(shè)置一定數(shù)量的神經(jīng)元
    • 在 k 折交叉驗證中計算某些性能指標(biāo)的平均值
    • 用不同數(shù)量的神經(jīng)元重復(fù)這個過程
    • 選擇神經(jīng)元的數(shù)量,最大化 k 交叉驗證的平均值

      交叉驗證很重要,因為使用她我們可以確保模型不會過擬合或欠擬合。

      這個過程非常類似于超參數(shù)調(diào)優(yōu),因為隱藏層中的神經(jīng)元數(shù)量實際上是一個要調(diào)優(yōu)的超參數(shù)。

      現(xiàn)在讓我們看看如何在 Python 中實現(xiàn)這個過程。

      在 Python 中的示例

      在這個例子中,我將展示如何使用 scikit-learn 庫優(yōu)化 Python 中的神經(jīng)元數(shù)量。事實上,你也可能會使用 Keras 來構(gòu)建神經(jīng)網(wǎng)絡(luò),但概念是完全相同的。

      我將使用 scikit-learn 中包含的乳腺癌示例數(shù)據(jù)集。

      首先,讓我們導(dǎo)入一些有用的庫。

      import numpy as npfrom sklearn.preprocessing import StandardScalerfrom sklearn.neural_network import MLPClassifierfrom sklearn.datasets import load_breast_cancerfrom sklearn.model_selection import train_test_split, GridSearchCVfrom sklearn.pipeline import Pipelinefrom sklearn.metrics import roc_auc_score

      然后,我們可以加載我們的數(shù)據(jù)集,并將其分成訓(xùn)練集和測試集。

      X,y = load_breast_cancer(return_X_y=True)X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)

      現(xiàn)在,我們必須定義我們的模型。在本例中,我將使用一個簡單的帶有單個隱藏層的多層感知器。為了簡單起見,構(gòu)造函數(shù)的所有參數(shù)都保留在她們的標(biāo)準值中。我只是設(shè)置隨機狀態(tài),以確保結(jié)果的可重復(fù)性。

      在將數(shù)據(jù)集提供給神經(jīng)網(wǎng)絡(luò)之前,不要忘記縮放特征。為簡單起見,我將在 scikit-learn 中使用 Pipeline 對象,然后應(yīng)用標(biāo)準化。

      model = Pipeline([                  ('scaler',StandardScaler()),                  ('model',MLPClassifier(random_state=0))])

      現(xiàn)在,我們必須通過搜索最佳神經(jīng)元數(shù)量來優(yōu)化我們的網(wǎng)絡(luò)。請記住,我們嘗試了幾種可能的數(shù)字并計算交叉驗證中性能指標(biāo)的平均值。最大化這樣一個值的神經(jīng)元數(shù)量就是我們正在尋找的數(shù)量。

      為此,我們可以使用 GridSearchCV 對象。由于我們正在處理二元分類問題,因此我們要最大化的指標(biāo)是 AUROC。我們將以 2 的步長跨越 5 到 100 個神經(jīng)元。

      search = GridSearchCV(model,   {'model__hidden_layer_sizes':[(x,) for x in np.arange(5,100,2)]},   cv = 5, scoring = "roc_auc", verbose=3, n_jobs = -1                      )

      最后,我們可以尋找最佳的神經(jīng)元數(shù)量。

      search.fit(X_train, y_train)

      搜索結(jié)束后,我們會得到最好的平均分,即:

      search.best_score_# 0.9947175348495965

      神經(jīng)元的最佳數(shù)量是:

      search.best_params_# {'model__hidden_layer_sizes': (75,)}

      最后,我們可以在測試數(shù)據(jù)集上計算這樣一個模型的 AUROC,以確保我們沒有對數(shù)據(jù)集進行過多的處理。

      roc_auc_score(y_test,search.predict_proba(X_test)[:,1])# 0.9982730973233008

      我們得到的值仍然很高,所以我們很確定優(yōu)化后的模型已經(jīng)泛化了訓(xùn)練數(shù)據(jù)集,從她攜帶的信息中學(xué)習(xí)。

      總結(jié)

      優(yōu)化神經(jīng)網(wǎng)絡(luò)可能是一個復(fù)雜的任務(wù)。在這篇文章中,我已經(jīng)解釋了一種優(yōu)化神經(jīng)元數(shù)量的可能方法,但是同樣的概念甚至可以應(yīng)用到其他超參數(shù)(比如激活函數(shù)、小批量大小、時代數(shù)量、學(xué)習(xí)速度)。記住,超參數(shù)的數(shù)量越多,優(yōu)化的速度就越慢。

    •  
      (文/本站原創(chuàng))
      免責(zé)聲明
      本文僅代表作發(fā)布者:本站原創(chuàng)個人觀點,本站未對其內(nèi)容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
       

      Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號

      粵ICP備16078936號

      微信

      關(guān)注
      微信

      微信二維碼

      WAP二維碼

      客服

      聯(lián)系
      客服

      聯(lián)系客服:

      在線QQ: 303377504

      客服電話: 020-82301567

      E_mail郵箱: weilaitui@qq.com

      微信公眾號: weishitui

      客服001 客服002 客服003

      工作時間:

      周一至周五: 09:00 - 18:00

      反饋

      用戶
      反饋

      午夜久久久久久网站,99久久www免费,欧美日本日韩aⅴ在线视频,东京干手机福利视频
        <strike id="ca4is"><em id="ca4is"></em></strike>
      • <sup id="ca4is"></sup>
        • <s id="ca4is"><em id="ca4is"></em></s>
          <option id="ca4is"><cite id="ca4is"></cite></option>
        • 主站蜘蛛池模板: 国产精品黄大片观看| 国产激情视频在线观看首页| 国产欧美久久一区二区三区| 亚洲国产欧美在线人成北岛玲 | 激情欧美人xxxxx| 欧洲乱码专区一区二区三区四区| 国产精品自产拍在线观看| 亚洲欧洲自拍拍偷午夜色| 99久久国语露脸精品国产| 波多野结av衣东京热无码专区| 在线视频中文字幕| 亚洲欧美日韩综合久久久久| 91无套极品外围在线播放| 欧美性色黄大片www喷水| 国产精品久久久久无码av| 亚洲av永久无码精品三区在线4 | 18禁无遮拦无码国产在线播放 | 久久aa毛片免费播放嗯啊 | 国产深夜福利在线观看网站| 亚洲AV无码一区二区一二区| 国产色在线|亚洲| 日本牲交大片免费观看| 国产三级久久久精品麻豆三级| 中文字幕国产剧情| 精品国产AV色欲果冻传媒| 天堂在线免费观看mv| 亚洲日韩中文字幕一区| 欧美人与物videos另| 日本熟妇人妻xxxxx人hd| 四虎成人免费影院网址| xxxxx69hd杨幂| 欧美极品JIZZHD欧美| 国产男女猛烈无遮挡免费视频网站 | 宝贝过来趴好张开腿让我看看| 任你躁国产自任一区二区三区| 亚洲AV无码一区二区三区在线| 国产成熟女人性满足视频| 大佬的365天第三季完整视频在线观看 | 又大又硬又爽又粗又快的视频免费 | 一区二区高清在线观看| 波多野结衣一区二区三区|