zoukankan      html  css  js  c++  java
  • 每天进步一点点-深度学习入门-基于Python的理论与实现 (一)

    深度学习入门-基于Python的理论与实现

    主要内容:
    神经网络的每层输入与权重用矩阵来表示。

    Python入门

    开源,可读性高,性能强,优秀库

    主要用到两个库:NumPy和Matplotlib

    书中推荐使用Anaconda版本,里面除了Pyhton还包含了许多必要的库,我是用VScode+Python,因为我之前安装过不同版本的Python,主要是安装完成之后改了一下VSCode的配置文件。

    Numpy

    生成数组:用np.array()方法
    x = np.array([1.0, 2.0, 3.0])

    多维数组
    A = np.array([[1, 2], [3, 4]])

    数组间的运算,广播
    A = np.array([[1, 2], [3, 4]])
    B = np.array([10, 20])
    A * B
    ==>B = np.array([10, 20],[10, 20])
    A * B
    ==>对应位置相乘

    广播算法

    array([[ 10, 40],[ 30, 80]])

    感知机

    输入信号与其对应的权重之和,如果超过了某一阙值,那么才会有输出,此时,神经元被激活.

    用公式表示:感知机公式

    感知机的局限性:
    单层感知机只能分割线性空间,对于非线性空间莫得办法,看公式就知道了。多层感知机就可以表达线性空间.

    神经网络

    如图:

    二层神经网路

    三层结构但是只有两层神经元,所以称为两层神经网络。

    感知机函数: 感知机函数

    稍作变换为激活函数: 激活函数

    可知感知机的激活函数为阶跃函数。

    介绍另一个函数,被常用作激活函数的sigmoid函数: sigmoid函数

    矩阵乘法:
    由左矩阵的行乘以右矩阵的列
    1 2 x 5 6
    3 4 x 7 8
    1x5+2x7,1x6+2x8
    2x5+4x7,3x6+4x8

    矩阵实现神经网络

    由单独运算变成矩阵运算

    三层神经网络第一层

    其中a1(1)表示为:

    a1公式表示

    用矩阵表示:

    三层神经网络第一层矩阵表示

    此时,A为第二层的输入,获得第二层的输出还需要调用一个激活函数h

    输入输出的激活函数

    输出层所用的激活函数,要根据求解问题的性质决定。一般地,回
    归问题可以使用恒等函数,二元分类问题可以使用sigmoid 函数,
    多元分类问题可以使用softmax 函数。

  • 相关阅读:
    Tomcat、Jetty、Undertow、Netty 等容器的区别
    Spring boot整合Swagger2接口文档使用
    为项目配置了Bean,结果Spring Boot并没有扫描到
    yum安装软件所在目录的查询
    LINUX云服务器 安装 nginx
    Cause: org.jetbrains.plugins.gradle.tooling.util.ModuleComponentIdentifierIm Lorg/gradle/api/artifacts/ModuleIdentifier;
    redis数据结构
    linux安装redis
    eclipse项目目录展示结构设置
    tomcat 搭建以及发布配置
  • 原文地址:https://www.cnblogs.com/swobble/p/11532151.html
Copyright © 2011-2022 走看看