0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深度學習基礎(chǔ)知識(4)

CHANBAEK ? 來源:小小研究生 ? 作者:小小研究生 ? 2023-05-16 17:30 ? 次閱讀

神經(jīng)網(wǎng)絡(luò)的學習:從訓練數(shù)據(jù)中自動獲取最優(yōu)權(quán)重的過程,是使損失函數(shù)的值最小的權(quán)重參數(shù)。

機器學習做手寫數(shù)據(jù)識別:從圖像中提取特征量,再用機器學習技術(shù)學習這些特征量的模式。 圖像的特征量通常表示為向量的形式,機器視覺領(lǐng)域常用的特征量包括SIFT、SURF和HOG等。 對轉(zhuǎn)換后的向量使用機器學習中的SVM、KNN等分類器進行學習。

深度學習直接學習圖像本身,特征量也是由機器來學習的。 它的優(yōu)點是對所有問題都可以用同樣的流程來解決。

1、訓練數(shù)據(jù)和測試數(shù)據(jù)

機器學習中,一般將數(shù)據(jù)分為訓練數(shù)據(jù)和測試數(shù)據(jù)。 首先使用訓練數(shù)據(jù)進行學習,尋找最優(yōu)的參數(shù),然后使用測試數(shù)據(jù)評價模型。 為了正確評價模型的泛化能力,必須劃分訓練數(shù)據(jù)和測試數(shù)據(jù)。 泛化能力是指處理未被觀察過的數(shù)據(jù)的能力。 獲得泛化能力是機器學習的最終目標。 僅僅使用一個數(shù)據(jù)集去學習和評價參數(shù),是無法正確評價的。 可能順利處理某個數(shù)據(jù)集,但無法處理其他數(shù)據(jù)集的情況。 只對某個數(shù)據(jù)集過度擬合的狀態(tài)稱為過擬合,避免過擬合也是機器學習的一個重要課題。

2、損失函數(shù)

神經(jīng)網(wǎng)絡(luò)通過損失函數(shù)尋找最優(yōu)權(quán)重參數(shù)。 損失函數(shù)是表示神經(jīng)網(wǎng)絡(luò)性能的惡劣程度的指標。

1)均方誤差

表示輸出與訓練數(shù)據(jù)的不匹配程度,希望得到最小的均方誤差。

2)交叉熵誤差

實際上只計算對應(yīng)正確解標簽的輸出的自然對數(shù)。 交叉熵誤差的值是由正確解標簽所對應(yīng)的輸出結(jié)果決定的。 根據(jù)自然對數(shù)的圖像,正確解標簽對應(yīng)的輸出越大,交叉熵誤差越接近0,當輸出為1時,交叉熵誤差為0。 使用代碼實現(xiàn)時為了避免負無窮大需要添加一個微小值。

以上都是針對單個數(shù)據(jù)的損失函數(shù),如果要求所有訓練數(shù)據(jù)的損失函數(shù)的總和,需要寫成下式

MNIST數(shù)據(jù)集的訓練數(shù)據(jù)有60000個,如果求全部數(shù)據(jù)的損失函數(shù)和不太現(xiàn)實。 因此,需要從全部數(shù)據(jù)中選出一部分,神經(jīng)網(wǎng)絡(luò)的學習也是從訓練數(shù)據(jù)中選出一部分(mini-batch)然后對每批數(shù)據(jù)進行學習。

從訓練數(shù)據(jù)中隨機抽取10筆數(shù)據(jù)的代碼:

train_size=x_train.shape[0]
batch_size=10
batch_mask=np.random.choice(train_size,batch_size)
x_batch=x_train[batch_mask]
t_batch=t_train[batch_mask]

x_train形狀為60000*784,所以train_size=60000。 使用np.random.choice()可以從指定的數(shù)字中隨機選擇想要的數(shù)字,在60000個數(shù)據(jù)中隨機取10個數(shù)字。 后續(xù)只需要使用這個mini_batch計算損失函數(shù)。

3、mini_batch交叉熵誤差的實現(xiàn)

def cross_entropy_error(y,t):
  if y.dim==1:
    t=t.reshape(1,t.size)
    y=y.reshape(1,y.size)
  batch_size=y.shape[0]
  return -np.sum(t*np.log(y+1e-7))/batch_size

當y的維度為1,即求單個數(shù)據(jù)的交叉熵誤差時,需要改變數(shù)據(jù)的形狀變?yōu)?*60000,當輸入為mini-batch時,需要用batch的個數(shù)進行歸一化,計算單個數(shù)據(jù)的平均交叉熵誤差。

return -np.sum(np.log(y[np.arange(batch_size),t]+1e-7))/batch_size

如果訓練數(shù)據(jù)是標簽形式,改為上述代碼。 np.arange(batch_size)會生成一個0到batch_size-1的數(shù)組,因為t中的標簽是以0-9數(shù)字的方式進行存儲的,所以y[np.arange(batch_size),t]生成了一個二維數(shù)組。

4、為什么要設(shè)定損失函數(shù)

在神經(jīng)網(wǎng)絡(luò)的學習中,尋找最優(yōu)權(quán)重和偏置時,要尋找使損失函數(shù)的值盡可能小的參數(shù),需要計算梯度并更新參數(shù)。 如果用識別精度作為指標,絕大多數(shù)地方的導數(shù)都會變?yōu)?導致參數(shù)無法更新。 因為識別精度的概念是在訓練數(shù)據(jù)中正確識別的數(shù)量,稍微改變權(quán)重的值識別精度可能無法變化,即使變化也是離散的值。 階躍函數(shù)不能作為激活函數(shù)的原因也是這樣,對微小變化不敏感,且變化是不連續(xù)的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4726

    瀏覽量

    100311
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4260

    瀏覽量

    62230
  • SVM
    SVM
    +關(guān)注

    關(guān)注

    0

    文章

    154

    瀏覽量

    32364
  • 機器學習
    +關(guān)注

    關(guān)注

    66

    文章

    8323

    瀏覽量

    132165
  • 深度學習
    +關(guān)注

    關(guān)注

    73

    文章

    5437

    瀏覽量

    120791
收藏 人收藏

    評論

    相關(guān)推薦

    C語言基礎(chǔ)知識科普

    C語言是單片機開發(fā)中的必備基礎(chǔ)知識,本文列舉了部分STM32學習中比較常見的一些C語言基礎(chǔ)知識
    發(fā)表于 07-21 10:58 ?1844次閱讀

    怎么學習嵌入式系統(tǒng)基礎(chǔ)知識?

    如何學習嵌入式系統(tǒng)基礎(chǔ)知識
    發(fā)表于 02-19 06:28

    通信基礎(chǔ)知識教程

    通信基礎(chǔ)知識 1、電信基礎(chǔ)知識2、通信電源技術(shù)3、配線設(shè)備結(jié)構(gòu)、原理與防護4、防雷基礎(chǔ)知識5、EMC基礎(chǔ)知識6、防腐蝕原理與技術(shù)7、產(chǎn)品安
    發(fā)表于 03-04 16:48 ?33次下載

    FPGA開發(fā)經(jīng)驗與技巧_基礎(chǔ)知識學習篇(1)

    FLC1301T00 基礎(chǔ)知識學習篇希望會對朋友們的學習有幫助!
    發(fā)表于 12-16 15:27 ?3次下載

    ADC【DSP基礎(chǔ)知識

    ADC【DSP基礎(chǔ)知識】,好好學習,從零開始學習DSP
    發(fā)表于 01-06 16:44 ?10次下載

    使用Eclipse基礎(chǔ)知識

    使用Eclipse 基礎(chǔ)知識 使用Eclipse 基礎(chǔ)知識 適合初學者學習使用
    發(fā)表于 02-26 10:30 ?0次下載

    Verilog_HDL基礎(chǔ)知識非常好的學習教程 (1)

    Verilog_HDL基礎(chǔ)知識非常好的學習教程 (1)
    發(fā)表于 01-04 12:33 ?0次下載

    PLC基礎(chǔ)知識學習,不看后悔

    PLC基礎(chǔ)知識學習,不看后悔
    發(fā)表于 09-09 08:43 ?103次下載
    PLC<b class='flag-5'>基礎(chǔ)知識</b><b class='flag-5'>學習</b>,不看后悔

    學習PLC必備四方面基礎(chǔ)知識

    PLC本身就是控制電器線路,故學習PLC必備基礎(chǔ)中以電工基礎(chǔ)最重要。零基礎(chǔ)學習PLC其實是從學習電工基礎(chǔ)知識開始的,若是多年從事電工行業(yè)的老司機,可以直接跳過電工基礎(chǔ)
    發(fā)表于 01-15 08:59 ?8378次閱讀

    機器學習基礎(chǔ)知識詳細說明

    本文檔的主要內(nèi)容詳細介紹的是機器學習基礎(chǔ)知識詳細說明。
    發(fā)表于 03-24 08:00 ?0次下載
    機器<b class='flag-5'>學習</b>的<b class='flag-5'>基礎(chǔ)知識</b>詳細說明

    直流穩(wěn)壓電路的基礎(chǔ)知識學習課件免費下載

    本文檔的主要內(nèi)容詳細介紹的是直流穩(wěn)壓電路的基礎(chǔ)知識學習課件免費下載
    發(fā)表于 02-02 11:59 ?22次下載
    直流穩(wěn)壓電路的<b class='flag-5'>基礎(chǔ)知識</b><b class='flag-5'>學習</b>課件免費下載

    了解一下機器學習中的基礎(chǔ)知識

    機器學習中的基礎(chǔ)知識 demi 在 周四, 03/07/2019 - 09:16 提交 機器學習中涉及到了很多的概念,當然要想了解機器學習的話就需要對這些
    的頭像 發(fā)表于 03-31 17:08 ?3765次閱讀

    51單片機學習 基礎(chǔ)知識總結(jié)

    51單片機學習 基礎(chǔ)知識總結(jié)
    發(fā)表于 11-11 19:21 ?39次下載
    51單片機<b class='flag-5'>學習</b>    <b class='flag-5'>基礎(chǔ)知識</b>總結(jié)

    單片機基礎(chǔ)知識學習筆記

    單片機基礎(chǔ)知識學習筆記有關(guān)總線1.IIC總線2.SPI總線
    發(fā)表于 11-14 16:51 ?26次下載
    單片機<b class='flag-5'>基礎(chǔ)知識</b><b class='flag-5'>學習</b>筆記

    深度學習基礎(chǔ)知識分享

    深度學習也為其他科學做出了貢獻。用于對象識別的現(xiàn)代卷積網(wǎng)絡(luò)為神經(jīng)科學家們提供了可以研究的視覺處理模型(DiCarlo,2013)。深度學習也為處理海量數(shù)據(jù)以及在科學領(lǐng)域作出有效的預測提
    發(fā)表于 09-05 10:30 ?1次下載