第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

自己動(dòng)手制作人工神經(jīng)網(wǎng)絡(luò)0x1:初始化部分

標(biāo)簽:
Python

说在前面

从这里开始,我假定你们已经知道ANN是啥玩意。

目标

首先,明确我们的目标。我们将构建一个具有一个隐藏层的ANN。
所有层之间的关系都是全连接,并且使用sigmoid作为激活函数。
隐含层 h=sigmoid(i*wih+bih)
输出层 o=sigmoid(h*who+bho)

webp

一个输入,隐藏,输出层节点数都为3的网络


Coding

P1:初始化

首先,导入所需的库。我们需要numpy帮助完成矩阵运算。也需要scipy库简化实现激活函数的代码量。

import numpy as npimport scipy.special

然后创建一个类,方便操作,类名就叫ANN吧

class ANN:
    """
    Artificial Neural Networks
    """
    pass

接着给ANN类,我们的神经网络编写初始化函数。
初始化的参数有输入层节点个数(inputNodes),隐藏层节点个数(hiddenNodes),输出层节点个数(outputNodes),还有学习速率(learningRate)
在初始化函数里,顺便创建两个矩阵(wio, who)。np.random.normal()会返回一个已经按正态分布初始化的矩阵,第一个参数为分布中心,第二个参数为标准方差,第三个参数是数组大小。
最后设置激活函数(a_f(x))为scipy.special.expit(x),expit()就是sigmoid函数,他可以使我们节点的输出更丝滑。

    def __init__(self, inputNodes, hiddenNodes, outputNodes, learningRate):

        self.iN = inputNodes
        self.hN = hiddenNodes
        self.oN = outputNodes
        self.lr = learningRate

        self.wih = np.random.normal(0.0, pow(self.hN, -0.5), (self.hN, self.iN))
        self.who = np.random.normal(0.0, pow(self.oN, -0.5), (self.oN, self.hN))

        self.a_f = lambda x: scipy.special.expit(x)

这样,便完成了初始化的部分,为接下来的工作打下基础。



作者:御史神风
链接:https://www.jianshu.com/p/ad1c637b550b


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消