吴忠躺衫网络科技有限公司

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

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

3天內不再提示

用Python從頭實現一個神經網絡來理解神經網絡的原理2

jf_78858299 ? 來源:機器學習雜貨店 ? 作者:機器學習雜貨店 ? 2023-02-27 15:06 ? 次閱讀

*05 ***** 例子:前饋

我們繼續用前面圖中的網絡,假設每個神經元的權重都是 圖片,截距項也相同圖片 ,激活函數也都是S型函數。分別用圖片圖片表示相應的神經元的輸出。

當輸入圖片時,會得到什么結果?

圖片

這個神經網絡對輸入圖片的輸出是0.7216,很簡單。

一個神經網絡的層數以及每一層中的神經元數量都是任意的。基本邏輯都一樣:輸入在神經網絡中向前傳輸,最終得到輸出。接下來,我們會繼續使用前面的這個網絡。

***06 ***編碼神經網絡:前饋

接下來我們實現這個神經網絡的前饋機制,還是這個圖:

圖片

import numpy as np
# ... code from previous section here
classOurNeuralNetwork: ''' A neural network with: - 2 inputs - a hidden layer with 2 neurons (h1, h2) - an output layer with 1 neuron (o1) Each neuron has the same weights and bias: - w = [0, 1] - b = 0 ''' def__init__(self): weights = np.array([0, 1]) bias = 0
# 這里是來自前一節的神經元類 self.h1 = Neuron(weights, bias) self.h2 = Neuron(weights, bias) self.o1 = Neuron(weights, bias)
deffeedforward(self, x): out_h1 = self.h1.feedforward(x) out_h2 = self.h2.feedforward(x)
# o1的輸入是h1h2的輸出 out_o1 = self.o1.feedforward(np.array([out_h1, out_h2]))
return out_o1
network = OurNeuralNetwork()x = np.array([2, 3])print(network.feedforward(x)) # 0.7216325609518421
結果正確,看上去沒問題。

***07 ***訓練神經網絡 第一部分

現在有這樣的數據:

圖片

接下來我們用這個數據來訓練神經網絡的權重和截距項,從而可以根據身高體重預測性別:

圖片

我們用0和1分別表示男性(M)和女性(F),并對數值做了轉化:

圖片

我這里是隨意選取了135和66來標準化數據,通常會使用平均值。

***08 ***損失

在訓練網絡之前,我們需要量化當前的網絡是『好』還是『壞』,從而可以尋找更好的網絡。這就是定義損失的目的。

我們在這里用平均方差(MSE)損失: ,讓我們仔細看看:

  • 圖片是樣品數,這里等于4(Alice、Bob、Charlie和Diana)。
  • 圖片表示要預測的變量,這里是性別。
  • 圖片是變量的真實值(『正確答案』)。例如,Alice的圖片就是1(男性)。
  • 圖片變量的預測值。這就是我們網絡的輸出。

圖片被稱為方差(squared error)。我們的損失函數就是所有方差的平均值。預測效果越好,損失就越少。

更好的預測 = 更少的損失!

訓練網絡 = 最小化它的損失。

*09 ***** 損失計算例子

假設我們的網絡總是輸出0,換言之就是認為所有人都是男性。損失如何?

圖片

圖片

***10 ***代碼:MSE損失

下面是計算MSE損失的代碼:

import numpy as np
defmse_loss(y_true, y_pred): # y_true and y_pred are numpy arrays of the same length. return ((y_true - y_pred) ** 2).mean()
y_true = np.array([1, 0, 0, 1])y_pred = np.array([0, 0, 0, 0])
print(mse_loss(y_true, y_pred)) # 0.5

如果你不理解這段代碼,可以看看NumPy的快速入門中關于數組的操作。

好的,繼續。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4779

    瀏覽量

    101172
  • 神經元
    +關注

    關注

    1

    文章

    363

    瀏覽量

    18511
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85039
收藏 人收藏

    評論

    相關推薦

    人工神經網絡原理及下載

    這個網絡輸入和相應的輸出來“訓練”這個網絡網絡根據輸入和輸出不斷地調節自己的各節點之間的權值滿足輸入和輸出。這樣,當訓練結束后,我們給定
    發表于 06-19 14:40

    labview BP神經網絡實現

    請問:我在用labview做BP神經網絡實現故障診斷,在NI官網找到了機器學習工具包(MLT),但是里面沒有關于這部分VI的幫助文檔,對于”BP神經網絡分類“這個范例有很多不懂的地方,比如
    發表于 02-22 16:08

    【PYNQ-Z2申請】基于PYNQ-Z2神經網絡圖形識別

    神經網絡的學習,講解其工作原理。4.基于PYNQ-Z2python實現
    發表于 01-09 14:48

    【PYNQ-Z2試用體驗】神經網絡基礎知識

    超過閾值,輸出就躍而起。但我們S函數作為激活函數。如下圖:圖2 該函數相比階越函數更加接近現實。神經網絡原理如圖所示是
    發表于 03-03 22:10

    卷積神經網絡如何使用

    卷積神經網絡(CNN)究竟是什么,鑒于神經網絡在工程上經歷了曲折的歷史,您為什么還會在意它呢? 對于這些非常中肯的問題,我們似乎可以給出相對簡明的答案。
    發表于 07-17 07:21

    【案例分享】ART神經網絡與SOM神經網絡

    今天學習了兩神經網絡,分別是自適應諧振(ART)神經網絡與自組織映射(SOM)神經網絡。整體感覺不是很難,只不過些最基礎的概念容易
    發表于 07-21 04:30

    人工神經網絡實現方法有哪些?

    人工神經網絡(Artificial Neural Network,ANN)是種類似生物神經網絡的信息處理結構,它的提出是為了解決些非線性,非平穩,復雜的實際問題。那有哪些辦法能
    發表于 08-01 08:06

    什么是LSTM神經網絡

    簡單理解LSTM神經網絡
    發表于 01-28 07:16

    如何構建神經網絡

    原文鏈接:http://tecdat.cn/?p=5725 神經網絡種基于現有數據創建預測的計算系統。如何構建神經網絡神經網絡包括:輸入層:根據現有數據獲取輸入的層隱藏層:使用反
    發表于 07-12 08:02

    matlab實現神經網絡 精選資料分享

    神經神經網絡,對于神經網絡實現是如何直沒有具體實現
    發表于 08-18 07:25

    基于BP神經網絡的PID控制

    最近在學習電機的智能控制,上周學習了基于單神經元的PID控制,這周研究基于BP神經網絡的PID控制。神經網絡具有任意非線性表達能力,可以通過對系統性能的學習
    發表于 09-07 07:43

    卷積神經網絡維卷積的處理過程

    inference在設備端上做。嵌入式設備的特點是算力不強、memory小。可以通過對神經網絡做量化降load和省memory,但有時可能memory還吃緊,就需要對神經網絡在memory使用上做進
    發表于 12-23 06:16

    Python從頭實現神經網絡理解神經網絡的原理1

    事情可能會讓初學者驚訝:神經網絡模型并不復雜!『神經網絡』這個詞讓人覺得很高大上,但實際上神經網絡算法要比人們想象的簡單。 這篇文章完全是為新手準備的。我們會通過
    的頭像 發表于 02-27 15:05 ?745次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>Python</b><b class='flag-5'>從頭</b><b class='flag-5'>實現</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>神經網絡</b><b class='flag-5'>來</b><b class='flag-5'>理解</b><b class='flag-5'>神經網絡</b>的原理1

    Python從頭實現神經網絡理解神經網絡的原理3

    事情可能會讓初學者驚訝:神經網絡模型并不復雜!『神經網絡』這個詞讓人覺得很高大上,但實際上神經網絡算法要比人們想象的簡單。 這篇文章完全是為新手準備的。我們會通過
    的頭像 發表于 02-27 15:06 ?780次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>Python</b><b class='flag-5'>從頭</b><b class='flag-5'>實現</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>神經網絡</b><b class='flag-5'>來</b><b class='flag-5'>理解</b><b class='flag-5'>神經網絡</b>的原理3

    Python從頭實現神經網絡理解神經網絡的原理4

    事情可能會讓初學者驚訝:神經網絡模型并不復雜!『神經網絡』這個詞讓人覺得很高大上,但實際上神經網絡算法要比人們想象的簡單。 這篇文章完全是為新手準備的。我們會通過
    的頭像 發表于 02-27 15:06 ?738次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>Python</b><b class='flag-5'>從頭</b><b class='flag-5'>實現</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>神經網絡</b><b class='flag-5'>來</b><b class='flag-5'>理解</b><b class='flag-5'>神經網絡</b>的原理4
    百家乐官网庄家抽水的秘密| 榆中县| 百家乐官网永利赌场娱乐网规则| 莆田棋牌游戏下载| 投真钱百家乐必输吗| 百家乐官网tt娱乐| 请问下百家乐去哪个娱乐城玩最好呢| 现场百家乐官网能赢吗| 囊谦县| 百家乐挂机软件| 百家乐官网赌场现金网平台排名| bet365娱乐城注册| 百家乐赌场在线娱乐| 百家乐官网平台注册| 砀山县| 大发888官网网址| 百家乐官网园能贷款吗| 疏附县| 百家乐手论坛48491| 百家乐网络投注| 百家乐官网打法分析| 网上百家乐是假还是真的| 广发百家乐官网的玩法技巧和规则 | 迪士尼百家乐官网的玩法技巧和规则 | 菠菜百家乐官网娱乐城| 威尼斯人娱乐城是真的吗| 百家乐官网网址是多少| 大发888 制度| 破战百家乐的玩法技巧和规则| 真人二八杠| 试玩百家乐游戏机| 天博百家乐官网娱乐城| E乐博百家乐官网娱乐城| 轮盘赌技巧| 威尼斯人娱乐城003| A8百家乐娱乐城| 豪华百家乐官网桌子| 邢台市| 大发888博彩官方下载| 优惠搏百家乐的玩法技巧和规则| 百家乐在线投注系统|