0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深度学习基础知识(3)

CHANBAEK 来源:小小研究生 作者:小小研究生 2023-05-16 17:21 次阅读

2、多维数组的计算

多维数组:np.dim()可以获得数组的维数,np.shape()可以获得数组的形状,返回一个元组,对应每一个维度的元素个数。二维数组即矩阵。

矩阵乘法:np.dot(A,B)可以求A,B矩阵的乘积(点积),A(m×n)·B(n×k)=C(m×k)

神经网络的内积:下图所示的简单神经网络,输入X是一维数组,W是二维数组,Y是一维数组。X(2)·W(2×3)=Y(3)

pYYBAGRjSwWATfnSAAA_tdZai1w024.png

3、三层神经网络的实现

poYBAGRjSw6AHzKQAAEcitgFwQM187.png

前向传递:输入到输出的传递。需要注意的是目前代码中的W,B都是人为赋值的。

1'从输入到第一个隐藏层:

A(1)=XW(1)+B(1)其中A(1)是输入层中的具有两个元素的一维数组,W是(2,3)的二维数组,B是具有三个元素的一维数组。用一行代码即可实现:

A1=np.dot(X,W1)+B1

激活函数选择sigmoid(),第一个隐藏层中神经元是激活函数转换后的输出:

Z1=sigmoid(A1)

2'从第一个隐藏层到第二个隐藏层:

第一个隐藏层的输出Z1第二个隐藏层的输入X:A2=np.dot(Z1,W2)+B2

Z2=sigmoid(A2)

3'第二个隐藏层到输出层:

A3=np.dot(Z2,W3)+B3

激活函数选用恒等函数y=x,需要自己定义:

def identity_function(x):

return x

Y=identity_function(A3)

4、输出层的设计

输出层激活函数,一般回归问题可以用恒等函数,二元分类问题用sigmoid函数,多元分类问题用softmax函数。分类是区别输入属于哪一个类别的问题,回归是预测一个数值的问题。

已经介绍过恒等和sigoid,现在介绍一下softmax函数。

yk=exp(ak)/∑1nexp(ai)

输出层有n个神经元,第k个输出是第k个输入的指数函数除以每个输入的指数函数的和,输出与所有输入都有关。这个函数需要定义才能使用,注意这个函数用到指数函数,存在溢出的问题,需要对分子分母同除以一个常数,即分子分母的指数同减去一个常数,为了防止溢出,取输入的最大值:

defsoftmax(a):

C=np.max(a)

exp_a=np.exp(a-C)

sum_exp_a=np.sum(exp_a)

y=exp_a/sum_exp_a

return y

softmax函数的特征是输出0-1之间的实数,且输出值的总和为1,因此可以把函数的输出解释为概率。输出层神经元的数量就是类别的数量。由于指数函数单调递增,输出最大值的即概率最高的分类。一般神经网络只把输出值最大的神经元对应的类别作为识别结果。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4771

    浏览量

    100703
  • 函数
    +关注

    关注

    3

    文章

    4327

    浏览量

    62567
  • 神经元
    +关注

    关注

    1

    文章

    363

    浏览量

    18449
  • 数组
    +关注

    关注

    1

    文章

    417

    浏览量

    25939
  • 深度学习
    +关注

    关注

    73

    文章

    5500

    浏览量

    121107
收藏 人收藏

    评论

    相关推荐

    C语言基础知识科普

    C语言是单片机开发中的必备基础知识,本文列举了部分STM32学习中比较常见的一些C语言基础知识
    发表于 07-21 10:58 1889次阅读

    怎么学习嵌入式系统基础知识

    如何学习嵌入式系统基础知识
    发表于 02-19 06:28

    通信基础知识教程

    通信基础知识 1、电信基础知识2、通信电源技术3、配线设备结构、原理与防护4、防雷基础知识5、EMC基础知识6、防腐蚀原理与技术7、产品安
    发表于 03-04 16:48 33次下载

    FPGA开发经验与技巧_基础知识学习篇(1)

    FLC1301T00 基础知识学习篇希望会对朋友们的学习有帮助!
    发表于 12-16 15:27 3次下载

    ADC【DSP基础知识

    ADC【DSP基础知识】,好好学习,从零开始学习DSP
    发表于 01-06 16:44 10次下载

    使用Eclipse基础知识

    使用Eclipse 基础知识 使用Eclipse 基础知识 适合初学者学习使用
    发表于 02-26 10:30 0次下载

    Verilog_HDL基础知识非常好的学习教程 (1)

    Verilog_HDL基础知识非常好的学习教程 (1)
    发表于 01-04 12:33 0次下载

    PLC基础知识学习,不看后悔

    PLC基础知识学习,不看后悔
    发表于 09-09 08:43 103次下载
    PLC<b class='flag-5'>基础知识</b><b class='flag-5'>学习</b>,不看后悔

    学习PLC必备四方面基础知识

    PLC本身就是控制电器线路,故学习PLC必备基础中以电工基础最重要。零基础学习PLC其实是从学习电工基础知识开始的,若是多年从事电工行业的老司机,可以直接跳过电工基础
    发表于 01-15 08:59 8630次阅读

    机器学习基础知识详细说明

    本文档的主要内容详细介绍的是机器学习基础知识详细说明。
    发表于 03-24 08:00 0次下载
    机器<b class='flag-5'>学习</b>的<b class='flag-5'>基础知识</b>详细说明

    直流稳压电路的基础知识学习课件免费下载

    本文档的主要内容详细介绍的是直流稳压电路的基础知识学习课件免费下载
    发表于 02-02 11:59 22次下载
    直流稳压电路的<b class='flag-5'>基础知识</b><b class='flag-5'>学习</b>课件免费下载

    了解一下机器学习中的基础知识

    机器学习中的基础知识 demi 在 周四, 03/07/2019 - 09:16 提交 机器学习中涉及到了很多的概念,当然要想了解机器学习的话就需要对这些
    的头像 发表于 03-31 17:08 3806次阅读

    51单片机学习 基础知识总结

    51单片机学习 基础知识总结
    发表于 11-11 19:21 39次下载
    51单片机<b class='flag-5'>学习</b>    <b class='flag-5'>基础知识</b>总结

    单片机基础知识学习笔记

    单片机基础知识学习笔记有关总线1.IIC总线2.SPI总线
    发表于 11-14 16:51 26次下载
    单片机<b class='flag-5'>基础知识</b><b class='flag-5'>学习</b>笔记

    深度学习基础知识分享

    深度学习也为其他科学做出了贡献。用于对象识别的现代卷积网络为神经科学家们提供了可以研究的视觉处理模型(DiCarlo,2013)。深度学习也为处理海量数据以及在科学领域作出有效的预测提
    发表于 09-05 10:30 1次下载