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 函数。

  • 相关阅读:
    PAT 解题报告 1009. Product of Polynomials (25)
    PAT 解题报告 1007. Maximum Subsequence Sum (25)
    PAT 解题报告 1003. Emergency (25)
    PAT 解题报告 1004. Counting Leaves (30)
    【转】DataSource高级应用
    tomcat下jndi配置
    java中DriverManager跟DataSource获取getConnection有什么不同?
    理解JDBC和JNDI
    JDBC
    Dive into python 实例学python (2) —— 自省,apihelper
  • 原文地址:https://www.cnblogs.com/swobble/p/11532151.html
Copyright © 2011-2022 走看看