-
當(dāng)前位置:首頁(yè) > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
多分類神經(jīng)網(wǎng)絡(luò)(多分類神經(jīng)網(wǎng)絡(luò)實(shí)例)
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于多分類神經(jīng)網(wǎng)絡(luò)的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。
開(kāi)始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫(xiě)出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、神經(jīng)網(wǎng)絡(luò)的分類
人類大腦的思維分為抽象(邏輯)思維、形象(直觀)思維和靈感(頓悟)思維三種基本方式。
邏輯性的思維是指根據(jù)邏輯規(guī)則進(jìn)行推理的過(guò)程;它先將信息化成概念,并用符號(hào)表示,然后,根據(jù)符號(hào)運(yùn)算按串行模式進(jìn)行邏輯推理;這一過(guò)程可以寫(xiě)成串行的指令,讓計(jì)算機(jī)執(zhí)行。然而,直觀性的思維是將分布式存儲(chǔ)的信息綜合起來(lái),結(jié)果是忽然間產(chǎn)生想法或解決問(wèn)題的辦法。這種思維方式的根本之點(diǎn)在于以下兩點(diǎn):1.信息是通過(guò)神經(jīng)元上的興奮模式分布儲(chǔ)在網(wǎng)絡(luò)上;2.信息處理是通過(guò)神經(jīng)元之間同時(shí)相互作用的動(dòng)態(tài)過(guò)程來(lái)完成的。
人工神經(jīng)網(wǎng)絡(luò)就是模擬人思維的第二種方式。這是一個(gè)非線性動(dòng)力學(xué)系統(tǒng),其特色在于信息的分布式存儲(chǔ)和并行協(xié)同處理。雖然單個(gè)神經(jīng)元的結(jié)構(gòu)極其簡(jiǎn)單,功能有限,但大量神經(jīng)元構(gòu)成的網(wǎng)絡(luò)系統(tǒng)所能實(shí)現(xiàn)的行為卻是極其豐富多彩的。
二、神經(jīng)網(wǎng)絡(luò)及其分類
前饋網(wǎng)絡(luò)中各個(gè)神經(jīng)元按接受信息的先后,分為不同的組,每一組可以看作一個(gè)神經(jīng)層,每一層中的神經(jīng)元接受前一層神經(jīng)元的輸出,并輸出到下一層神經(jīng)元。整個(gè)網(wǎng)絡(luò)中的信息是朝一個(gè)方向傳播,沒(méi)有反向的信息傳播(優(yōu)化算法 是什么反向傳播來(lái)著)
回答上章提出 是否每層激活函數(shù)一樣的問(wèn)題,
答案是,是的。
每一層的輸出(活性值) 等于凈輸入 代入激活函數(shù) 以此來(lái)實(shí)現(xiàn) 非線性 結(jié)構(gòu) b就是偏置,也就是偏差 每一層都不一樣。
凈輸入 表示成向量,權(quán)重 表示成矩陣
diag 是個(gè)對(duì)角矩陣,也就是說(shuō),除了對(duì)角線,其余全為0
三、神經(jīng)網(wǎng)絡(luò):卷積神經(jīng)網(wǎng)絡(luò)(CNN)
神經(jīng)網(wǎng)絡(luò) 最早是由心理學(xué)家和神經(jīng)學(xué)家提出的,旨在尋求開(kāi)發(fā)和測(cè)試神經(jīng)的計(jì)算模擬。
粗略地說(shuō), 神經(jīng)網(wǎng)絡(luò) 是一組連接的 輸入/輸出單元 ,其中每個(gè)連接都與一個(gè) 權(quán) 相關(guān)聯(lián)。在學(xué)習(xí)階段,通過(guò)調(diào)整權(quán)值,使得神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)準(zhǔn)確性逐步提高。由于單元之間的連接,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)又稱 連接者學(xué)習(xí)。
神經(jīng)網(wǎng)絡(luò)是以模擬人腦神經(jīng)元的數(shù)學(xué)模型為基礎(chǔ)而建立的,它由一系列神經(jīng)元組成,單元之間彼此連接。從信息處理角度看,神經(jīng)元可以看作是一個(gè)多輸入單輸出的信息處理單元,根據(jù)神經(jīng)元的特性和功能,可以把神經(jīng)元抽象成一個(gè)簡(jiǎn)單的數(shù)學(xué)模型。
神經(jīng)網(wǎng)絡(luò)有三個(gè)要素: 拓?fù)浣Y(jié)構(gòu)、連接方式、學(xué)習(xí)規(guī)則
神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu) :神經(jīng)網(wǎng)絡(luò)的單元通常按照層次排列,根據(jù)網(wǎng)絡(luò)的層次數(shù),可以將神經(jīng)網(wǎng)絡(luò)分為單層神經(jīng)網(wǎng)絡(luò)、兩層神經(jīng)網(wǎng)絡(luò)、三層神經(jīng)網(wǎng)絡(luò)等。結(jié)構(gòu)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò),在學(xué)習(xí)時(shí)收斂的速度快,但準(zhǔn)確度低。
神經(jīng)網(wǎng)絡(luò)的層數(shù)和每層的單元數(shù)由問(wèn)題的復(fù)雜程度而定。問(wèn)題越復(fù)雜,神經(jīng)網(wǎng)絡(luò)的層數(shù)就越多。例如,兩層神經(jīng)網(wǎng)絡(luò)常用來(lái)解決線性問(wèn)題,而多層網(wǎng)絡(luò)就可以解決多元非線性問(wèn)題
神經(jīng)網(wǎng)絡(luò)的連接 :包括層次之間的連接和每一層內(nèi)部的連接,連接的強(qiáng)度用權(quán)來(lái)表示。
根據(jù)層次之間的連接方式,分為:
1)前饋式網(wǎng)絡(luò):連接是單向的,上層單元的輸出是下層單元的輸入,如反向傳播網(wǎng)絡(luò),Kohonen網(wǎng)絡(luò)
2)反饋式網(wǎng)絡(luò):除了單項(xiàng)的連接外,還把最后一層單元的輸出作為第一層單元的輸入,如Hopfield網(wǎng)絡(luò)
根據(jù)連接的范圍,分為:
1)全連接神經(jīng)網(wǎng)絡(luò):每個(gè)單元和相鄰層上的所有單元相連
2)局部連接網(wǎng)絡(luò):每個(gè)單元只和相鄰層上的部分單元相連
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)
根據(jù)學(xué)習(xí)方法分:
感知器:有監(jiān)督的學(xué)習(xí)方法,訓(xùn)練樣本的類別是已知的,并在學(xué)習(xí)的過(guò)程中指導(dǎo)模型的訓(xùn)練
認(rèn)知器:無(wú)監(jiān)督的學(xué)習(xí)方法,訓(xùn)練樣本類別未知,各單元通過(guò)競(jìng)爭(zhēng)學(xué)習(xí)。
根據(jù)學(xué)習(xí)時(shí)間分:
離線網(wǎng)絡(luò):學(xué)習(xí)過(guò)程和使用過(guò)程是獨(dú)立的
在線網(wǎng)絡(luò):學(xué)習(xí)過(guò)程和使用過(guò)程是同時(shí)進(jìn)行的
根據(jù)學(xué)習(xí)規(guī)則分:
相關(guān)學(xué)習(xí)網(wǎng)絡(luò):根據(jù)連接間的激活水平改變權(quán)系數(shù)
糾錯(cuò)學(xué)習(xí)網(wǎng)絡(luò):根據(jù)輸出單元的外部反饋改變權(quán)系數(shù)
自組織學(xué)習(xí)網(wǎng)絡(luò):對(duì)輸入進(jìn)行自適應(yīng)地學(xué)習(xí)
摘自《數(shù)學(xué)之美》對(duì)人工神經(jīng)網(wǎng)絡(luò)的通俗理解:
神經(jīng)網(wǎng)絡(luò)種類很多,常用的有如下四種:
1)Hopfield網(wǎng)絡(luò),典型的反饋網(wǎng)絡(luò),結(jié)構(gòu)單層,有相同的單元組成
2)反向傳播網(wǎng)絡(luò),前饋網(wǎng)絡(luò),結(jié)構(gòu)多層,采用最小均方差的糾錯(cuò)學(xué)習(xí)規(guī)則,常用于語(yǔ)言識(shí)別和分類等問(wèn)題
3)Kohonen網(wǎng)絡(luò):典型的自組織網(wǎng)絡(luò),由輸入層和輸出層構(gòu)成,全連接
4)ART網(wǎng)絡(luò):自組織網(wǎng)絡(luò)
深度神經(jīng)網(wǎng)絡(luò):
Convolutional Neural Networks(CNN)卷積神經(jīng)網(wǎng)絡(luò)
Recurrent neural Network(RNN)循環(huán)神經(jīng)網(wǎng)絡(luò)
Deep Belief Networks(DBN)深度信念網(wǎng)絡(luò)
深度學(xué)習(xí)是指多層神經(jīng)網(wǎng)絡(luò)上運(yùn)用各種機(jī)器學(xué)習(xí)算法解決圖像,文本等各種問(wèn)題的算法集合。深度學(xué)習(xí)從大類上可以歸入神經(jīng)網(wǎng)絡(luò),不過(guò)在具體實(shí)現(xiàn)上有許多變化。
深度學(xué)習(xí)的核心是特征學(xué)習(xí),旨在通過(guò)分層網(wǎng)絡(luò)獲取分層次的特征信息,從而解決以往需要人工設(shè)計(jì)特征的重要難題。
Machine Learning vs. Deep Learning
神經(jīng)網(wǎng)絡(luò)(主要是感知器)經(jīng)常用于 分類
神經(jīng)網(wǎng)絡(luò)的分類知識(shí)體現(xiàn)在網(wǎng)絡(luò)連接上,被隱式地存儲(chǔ)在連接的權(quán)值中。
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)就是通過(guò)迭代算法,對(duì)權(quán)值逐步修改的優(yōu)化過(guò)程,學(xué)習(xí)的目標(biāo)就是通過(guò)改變權(quán)值使訓(xùn)練集的樣本都能被正確分類。
神經(jīng)網(wǎng)絡(luò)特別適用于下列情況的分類問(wèn)題:
1) 數(shù)據(jù)量比較小,缺少足夠的樣本建立模型
2) 數(shù)據(jù)的結(jié)構(gòu)難以用傳統(tǒng)的統(tǒng)計(jì)方法來(lái)描述
3) 分類模型難以表示為傳統(tǒng)的統(tǒng)計(jì)模型
缺點(diǎn):
1) 需要很長(zhǎng)的訓(xùn)練時(shí)間,因而對(duì)于有足夠長(zhǎng)訓(xùn)練時(shí)間的應(yīng)用更合適。
2) 需要大量的參數(shù),這些通常主要靠經(jīng)驗(yàn)確定,如網(wǎng)絡(luò)拓?fù)浠颉敖Y(jié)構(gòu)”。
3) 可解釋性差 。該特點(diǎn)使得神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)挖掘的初期并不看好。
優(yōu)點(diǎn):
1) 分類的準(zhǔn)確度高
2)并行分布處理能力強(qiáng)
3)分布存儲(chǔ)及學(xué)習(xí)能力高
4)對(duì)噪音數(shù)據(jù)有很強(qiáng)的魯棒性和容錯(cuò)能力
最流行的基于神經(jīng)網(wǎng)絡(luò)的分類算法是80年代提出的 后向傳播算法 。后向傳播算法在多路前饋神經(jīng)網(wǎng)絡(luò)上學(xué)習(xí)。
定義網(wǎng)絡(luò)拓?fù)?
在開(kāi)始訓(xùn)練之前,用戶必須說(shuō)明輸入層的單元數(shù)、隱藏層數(shù)(如果多于一層)、每一隱藏層的單元數(shù)和輸出層的單元數(shù),以確定網(wǎng)絡(luò)拓?fù)洹?
對(duì)訓(xùn)練樣本中每個(gè)屬性的值進(jìn)行規(guī)格化將有助于加快學(xué)習(xí)過(guò)程。通常,對(duì)輸入值規(guī)格化,使得它們落入0.0和1.0之間。
離散值屬性可以重新編碼,使得每個(gè)域值一個(gè)輸入單元。例如,如果屬性A的定義域?yàn)?a0,a1,a2),則可以分配三個(gè)輸入單元表示A。即,我們可以用I0 ,I1 ,I2作為輸入單元。每個(gè)單元初始化為0。如果A = a0,則I0置為1;如果A = a1,I1置1;如此下去。
一個(gè)輸出單元可以用來(lái)表示兩個(gè)類(值1代表一個(gè)類,而值0代表另一個(gè))。如果多于兩個(gè)類,則每個(gè)類使用一個(gè)輸出單元。
隱藏層單元數(shù)設(shè)多少個(gè)“最好” ,沒(méi)有明確的規(guī)則。
網(wǎng)絡(luò)設(shè)計(jì)是一個(gè)實(shí)驗(yàn)過(guò)程,并可能影響準(zhǔn)確性。權(quán)的初值也可能影響準(zhǔn)確性。如果某個(gè)經(jīng)過(guò)訓(xùn)練的網(wǎng)絡(luò)的準(zhǔn)確率太低,則通常需要采用不同的網(wǎng)絡(luò)拓?fù)浠蚴褂貌煌某跏紮?quán)值,重復(fù)進(jìn)行訓(xùn)練。
后向傳播算法學(xué)習(xí)過(guò)程:
迭代地處理一組訓(xùn)練樣本,將每個(gè)樣本的網(wǎng)絡(luò)預(yù)測(cè)與實(shí)際的類標(biāo)號(hào)比較。
每次迭代后,修改權(quán)值,使得網(wǎng)絡(luò)預(yù)測(cè)和實(shí)際類之間的均方差最小。
這種修改“后向”進(jìn)行。即,由輸出層,經(jīng)由每個(gè)隱藏層,到第一個(gè)隱藏層(因此稱作后向傳播)。盡管不能保證,一般地,權(quán)將最終收斂,學(xué)習(xí)過(guò)程停止。
算法終止條件:訓(xùn)練集中被正確分類的樣本達(dá)到一定的比例,或者權(quán)系數(shù)趨近穩(wěn)定。
后向傳播算法分為如下幾步:
1) 初始化權(quán)
網(wǎng)絡(luò)的權(quán)通常被初始化為很小的隨機(jī)數(shù)(例如,范圍從-1.0到1.0,或從-0.5到0.5)。
每個(gè)單元都設(shè)有一個(gè)偏置(bias),偏置也被初始化為小隨機(jī)數(shù)。
2) 向前傳播輸入
對(duì)于每一個(gè)樣本X,重復(fù)下面兩步:
向前傳播輸入,向后傳播誤差
計(jì)算各層每個(gè)單元的輸入和輸出。輸入層:輸出=輸入=樣本X的屬性;即,對(duì)于單元j,Oj = Ij = Xj。隱藏層和輸出層:輸入=前一層的輸出的線性組合,即,對(duì)于單元j, Ij =wij Oi + θj,輸出=
3) 向后傳播誤差
計(jì)算各層每個(gè)單元的誤差。
輸出層單元j,誤差:
Oj是單元j的實(shí)際輸出,而Tj是j的真正輸出。
隱藏層單元j,誤差:
wjk是由j到下一層中單元k的連接的權(quán),Errk是單元k的誤差
更新 權(quán) 和 偏差 ,以反映傳播的誤差。
權(quán)由下式更新:
其中,△wij是權(quán)wij的改變。l是學(xué)習(xí)率,通常取0和1之間的值。
偏置由下式更新:
其中,△θj是偏置θj的改變。
Example
人類視覺(jué)原理:
深度學(xué)習(xí)的許多研究成果,離不開(kāi)對(duì)大腦認(rèn)知原理的研究,尤其是視覺(jué)原理的研究。1981 年的諾貝爾醫(yī)學(xué)獎(jiǎng),頒發(fā)給了 David Hubel(出生于加拿大的美國(guó)神經(jīng)生物學(xué)家) 和Torsten Wiesel,以及Roger Sperry。前兩位的主要貢獻(xiàn),是“發(fā)現(xiàn)了視覺(jué)系統(tǒng)的信息處理”, 可視皮層是分級(jí)的 。
人類的視覺(jué)原理如下:從原始信號(hào)攝入開(kāi)始(瞳孔攝入像素Pixels),接著做初步處理(大腦皮層某些細(xì)胞發(fā)現(xiàn)邊緣和方向),然后抽象(大腦判定,眼前的物體的形狀,是圓形的),然后進(jìn)一步抽象(大腦進(jìn)一步判定該物體是只氣球)。
對(duì)于不同的物體,人類視覺(jué)也是通過(guò)這樣逐層分級(jí),來(lái)進(jìn)行認(rèn)知的:
在最底層特征基本上是類似的,就是各種邊緣,越往上,越能提取出此類物體的一些特征(輪子、眼睛、軀干等),到最上層,不同的高級(jí)特征最終組合成相應(yīng)的圖像,從而能夠讓人類準(zhǔn)確的區(qū)分不同的物體。
可以很自然的想到:可以不可以模仿人類大腦的這個(gè)特點(diǎn),構(gòu)造多層的神經(jīng)網(wǎng)絡(luò),較低層的識(shí)別初級(jí)的圖像特征,若干底層特征組成更上一層特征,最終通過(guò)多個(gè)層級(jí)的組合,最終在頂層做出分類呢?答案是肯定的,這也是許多深度學(xué)習(xí)算法(包括CNN)的靈感來(lái)源。
卷積神經(jīng)網(wǎng)絡(luò)是一種多層神經(jīng)網(wǎng)絡(luò),擅長(zhǎng)處理圖像特別是大圖像的相關(guān)機(jī)器學(xué)習(xí)問(wèn)題。卷積網(wǎng)絡(luò)通過(guò)一系列方法,成功將數(shù)據(jù)量龐大的圖像識(shí)別問(wèn)題不斷降維,最終使其能夠被訓(xùn)練。
CNN最早由Yann LeCun提出并應(yīng)用在手寫(xiě)字體識(shí)別上。LeCun提出的網(wǎng)絡(luò)稱為L(zhǎng)eNet,其網(wǎng)絡(luò)結(jié)構(gòu)如下:
這是一個(gè)最典型的卷積網(wǎng)絡(luò),由 卷積層、池化層、全連接層 組成。其中卷積層與池化層配合,組成多個(gè)卷積組,逐層提取特征,最終通過(guò)若干個(gè)全連接層完成分類。
CNN通過(guò)卷積來(lái)模擬特征區(qū)分,并且通過(guò)卷積的權(quán)值共享及池化,來(lái)降低網(wǎng)絡(luò)參數(shù)的數(shù)量級(jí),最后通過(guò)傳統(tǒng)神經(jīng)網(wǎng)絡(luò)完成分類等任務(wù)。
降低參數(shù)量級(jí):如果使用傳統(tǒng)神經(jīng)網(wǎng)絡(luò)方式,對(duì)一張圖片進(jìn)行分類,那么,把圖片的每個(gè)像素都連接到隱藏層節(jié)點(diǎn)上,對(duì)于一張1000x1000像素的圖片,如果有1M隱藏層單元,一共有10^12個(gè)參數(shù),這顯然是不能接受的。
但是在CNN里,可以大大減少參數(shù)個(gè)數(shù),基于以下兩個(gè)假設(shè):
1)最底層特征都是局部性的,也就是說(shuō),用10x10這樣大小的過(guò)濾器就能表示邊緣等底層特征
2)圖像上不同小片段,以及不同圖像上的小片段的特征是類似的,也就是說(shuō),能用同樣的一組分類器來(lái)描述各種各樣不同的圖像
基于以上兩個(gè)假設(shè),就能把第一層網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)化
用100個(gè)10x10的小過(guò)濾器,就能夠描述整幅圖片上的底層特征。
卷積運(yùn)算的定義如下圖所示:
如上圖所示,一個(gè)5x5的圖像,用一個(gè)3x3的 卷積核 :
101
010
101
來(lái)對(duì)圖像進(jìn)行卷積操作(可以理解為有一個(gè)滑動(dòng)窗口,把卷積核與對(duì)應(yīng)的圖像像素做乘積然后求和),得到了3x3的卷積結(jié)果。
這個(gè)過(guò)程可以理解為使用一個(gè)過(guò)濾器(卷積核)來(lái)過(guò)濾圖像的各個(gè)小區(qū)域,從而得到這些小區(qū)域的特征值。在實(shí)際訓(xùn)練過(guò)程中, 卷積核的值是在學(xué)習(xí)過(guò)程中學(xué)到的。
在具體應(yīng)用中,往往有多個(gè)卷積核,可以認(rèn)為, 每個(gè)卷積核代表了一種圖像模式 ,如果某個(gè)圖像塊與此卷積核卷積出的值大,則認(rèn)為此圖像塊十分接近于此卷積核。如果設(shè)計(jì)了6個(gè)卷積核,可以理解為這個(gè)圖像上有6種底層紋理模式,也就是用6種基礎(chǔ)模式就能描繪出一副圖像。以下就是24種不同的卷積核的示例:
池化 的過(guò)程如下圖所示:
可以看到,原始圖片是20x20的,對(duì)其進(jìn)行采樣,采樣窗口為10x10,最終將其采樣成為一個(gè)2x2大小的特征圖。
之所以這么做,是因?yàn)榧词棺鐾炅司矸e,圖像仍然很大(因?yàn)榫矸e核比較?。?,所以為了降低數(shù)據(jù)維度,就進(jìn)行采樣。
即使減少了許多數(shù)據(jù),特征的統(tǒng)計(jì)屬性仍能夠描述圖像,而且由于降低了數(shù)據(jù)維度,有效地避免了過(guò)擬合。
在實(shí)際應(yīng)用中,分為最大值采樣(Max-Pooling)與平均值采樣(Mean-Pooling)。
LeNet網(wǎng)絡(luò)結(jié)構(gòu):
注意,上圖中S2與C3的連接方式并不是全連接,而是部分連接。最后,通過(guò)全連接層C5、F6得到10個(gè)輸出,對(duì)應(yīng)10個(gè)數(shù)字的概率。
卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)類似,也是參照了反向傳播算法
第一階段,向前傳播階段:
a)從樣本集中取一個(gè)樣本(X,Yp),將X輸入網(wǎng)絡(luò);
b)計(jì)算相應(yīng)的實(shí)際輸出Op
第二階段,向后傳播階段
a)計(jì)算實(shí)際輸出Op與相應(yīng)的理想輸出Yp的差;
b)按極小化誤差的方法反向傳播調(diào)整權(quán)矩陣。
四、Tensorflow系列3:多層神經(jīng)網(wǎng)絡(luò)--解決非線性問(wèn)題
這里拿醫(yī)院的數(shù)據(jù)做一個(gè)簡(jiǎn)單的線性分類任務(wù),任務(wù)特征是病人的年齡和腫瘤大小,任務(wù)目標(biāo)是病人的腫瘤是良性的還是惡性的。
補(bǔ)充知識(shí):
補(bǔ)充知識(shí):
MSE 的公式為:
cross entropy 一般用于分類問(wèn)題,表達(dá)的意思是樣本屬于某一類的概率,公式為:
這里用于計(jì)算的a也是經(jīng)過(guò)分布統(tǒng)一化處理的(或者是經(jīng)過(guò)Sigmoid函數(shù)激活的結(jié)果),取值范圍在0~1之間。
在tensorflow中常見(jiàn)的交叉熵函數(shù)有:Sgimoid交叉熵,softmax交叉熵,Sparse交叉熵,加權(quán)Sgimoid交叉熵
MSE的預(yù)測(cè)值和真實(shí)值要控制在同樣的數(shù)據(jù)分布內(nèi),假設(shè)預(yù)測(cè)值經(jīng)過(guò)Sigmoid激活函數(shù)得到取值范圍時(shí)候0 1之間,那么真實(shí)值也要?dú)w一化成0 1之間。
在tensorflow中沒(méi)有單獨(dú)的MSE函數(shù),可以自己組合:
MSE=tf.reduce_mean(tf.square(logits-outputs))
softmax_cross_entropy_with_logits 函數(shù),必須要自己定義,比如:
loss = tf.reduce_mean(-tf.reduce_sum(labels*tf.log(logits_scaled),1))
損失函數(shù)的選取取決于輸入標(biāo)簽數(shù)據(jù)的類型:如果輸入是實(shí)數(shù)、無(wú)界的值,多使用MSE;如果輸入標(biāo)簽是位矢量(分類標(biāo)志),使用cross entropy比較合適
補(bǔ)充知識(shí)點(diǎn):
reshape() 函數(shù)接受-1時(shí),該行(列)數(shù)可以為任意值。[-1,1]代表行數(shù)隨意,列數(shù)變成1。
模型生成的z用公式可以表示成z=x1w1+x2w2+b,如果將x1和x2映射到直角坐標(biāo)系中的x和y坐標(biāo),那么z就可以被分為小于0和大于0兩部分。當(dāng)z=0時(shí),就代表直線本身。
這次再在剛剛的二分類基礎(chǔ)上再增加一類,變成三類,可以使用多條直線將數(shù)據(jù)分成多類。
生成的X,Y的數(shù)據(jù)樣本如下內(nèi)容:
常用的激活函數(shù)比如sigmoid,relu,tanh輸出值只有兩種,面對(duì)以上多分類問(wèn)題,就需要使用softmax算法。該算法的主要應(yīng)用就是多分類,而且是互斥的,即只能屬于某一類。(對(duì)于不是互斥的分類問(wèn)題,一般使用多個(gè)二分類來(lái)組成)
補(bǔ)充知識(shí):
也可以畫(huà)出更直觀的圖示:
例如:
對(duì)于線性不可分的數(shù)據(jù)樣本,可以使用多層神經(jīng)網(wǎng)絡(luò)來(lái)解決,也就是在輸入層和輸出層中間多加一些神經(jīng)元,每一層可以加多個(gè),也可以加多層。
在模型訓(xùn)練過(guò)程中會(huì)出現(xiàn)欠擬合和過(guò)擬合的問(wèn)題,欠擬合的原因并不是模型不行,而是我們的學(xué)習(xí)方法無(wú)法更精準(zhǔn)地學(xué)習(xí)到適合的模型參數(shù)。模型越薄弱,對(duì)訓(xùn)練的要求就越高,但是可以采用增加節(jié)點(diǎn)或者增加隱藏層的方式,讓模型具有更高的擬合性,從而降低模型的訓(xùn)練難度。過(guò)擬合的表現(xiàn)在模型在訓(xùn)練集上的表現(xiàn)非常好,loss很?。坏窃跍y(cè)試集上的表現(xiàn)卻非常差。
避免過(guò)擬合的方法很多:常用的有early stopping、數(shù)據(jù)集擴(kuò)增、正則化、dropout
本質(zhì)就是加入噪聲,在計(jì)算loss時(shí),在損失后面再加上意向,這樣預(yù)測(cè)結(jié)果與標(biāo)簽間的誤差就會(huì)受到干擾,導(dǎo)致學(xué)習(xí)參數(shù)W和b無(wú)法按照目標(biāo)方向來(lái)調(diào)整,從而實(shí)現(xiàn)模型與訓(xùn)練數(shù)據(jù)無(wú)法完全擬合的效果,從而防止過(guò)擬合。
這個(gè)添加的干擾項(xiàng)必須具有如下特性:
這里有兩個(gè)范數(shù)L1和L2:
tf.reduce_sum(tf.abs(w))
tf.nn.l2_loss(t,name=None)
拿上面的異或數(shù)據(jù)做舉例,dropout方法就是在剛剛的layer_1層后面再添加一個(gè)dropout層。
實(shí)際訓(xùn)練時(shí),將keep_prob設(shè)置成0.6,意味著每次訓(xùn)練將僅允許0.6的節(jié)點(diǎn)參與學(xué)習(xí)運(yùn)算。由于學(xué)習(xí)速度這樣就變慢了,可以將learning_rate調(diào)大,加快訓(xùn)練速度。 注意:在測(cè)試時(shí),需要將keep_prob設(shè)置為1。
全連接神經(jīng)網(wǎng)絡(luò)是一個(gè)通用的擬合數(shù)據(jù)的框架,只要有足夠多的神經(jīng)元,及時(shí)只有一層hidden layer,利用常見(jiàn)的Sigmoid,relu等激活函數(shù),就可以無(wú)限逼近任何連續(xù)函數(shù)。在實(shí)際使用中,如果想利用淺層神經(jīng)網(wǎng)絡(luò)擬合復(fù)雜非線性函數(shù),就需要你靠增加的神經(jīng)元個(gè)數(shù)來(lái)實(shí)現(xiàn),神經(jīng)元過(guò)多會(huì)造成參數(shù)過(guò)多,從而增加網(wǎng)絡(luò)的學(xué)習(xí)難度,并影響網(wǎng)絡(luò)的泛化能力。因此,在實(shí)際構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu)時(shí),一般傾向于使用更深的模型,開(kāi)減少所需要的神經(jīng)元數(shù)量。
以上就是關(guān)于多分類神經(jīng)網(wǎng)絡(luò)相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
快手六萬(wàn)分是多少錢(快手六萬(wàn)多分是多少錢)
快手2萬(wàn)分是多少人民幣(快手2萬(wàn)多分是多少錢)
網(wǎng)課不想學(xué)了分期付款可以不付嗎(網(wǎng)課分期不還上國(guó)家征信嗎-)
新津屋頂景觀設(shè)計(jì)招聘(新津屋頂景觀設(shè)計(jì)招聘網(wǎng))
猜你喜歡
網(wǎng)店運(yùn)營(yíng)推廣資料題(網(wǎng)店運(yùn)營(yíng)推廣題庫(kù))
四大地理區(qū)域主要特征(四大地理區(qū)域的主要特征)
怎么找第三方公司做推廣(怎么找第三方公司做推廣業(yè)務(wù))
被怪物抓到就會(huì)被塞進(jìn)的游戲(被怪物抓?。?/a>
瀏覽器打開(kāi)網(wǎng)頁(yè)顯示空白(瀏覽器打開(kāi)網(wǎng)頁(yè)顯示空白怎么辦)
javaweb登錄注冊(cè)完整代碼jsp(javaweb登錄注冊(cè)完整代碼jsp及登錄成功)
互聯(lián)網(wǎng)商圈推廣好做嗎(互聯(lián)網(wǎng)商圈推廣好做嗎知乎)
經(jīng)濟(jì)衰退會(huì)出現(xiàn)什么現(xiàn)象(經(jīng)濟(jì)衰退期普通人應(yīng)該做什么)