深度学习
zyhsna
一个努力前行的人
展开
-
深度学习入门(基于python实现)--第七章 卷积神经网络 02
# _*_ coding:UTF-8 _*_# 文件名:Convolutional_neural_network_02.py# 开发工具:PyCharm"""将前面的所有组装在一起,搭建一个CNN神经网络"""import pickleimport numpy as npfrom collections import OrderedDictfrom common.layers import *class SimpleConvNet: """简单的CNN网络 Param原创 2020-09-11 09:23:41 · 224 阅读 · 0 评论 -
深度学习入门(基于python实现)--第七章 卷积神经网络 01
# _*_ coding:UTF-8 _*_# 文件名:Convolutional_neural_network_01.py# 开发工具:PyCharmimport numpy as npfrom common.util import im2col"""卷积神经网络(CNN)CNN相较于之前的神经网络多了卷积层和池化层卷积层卷积层能够保持输入形状保持不变,从而使数据更好的拟合,而之前的那些神经网络都是将数据拉成一维形状进行输入和输出操作将卷积层的输入输出数据称为“特征图”,卷积层的输入原创 2020-09-10 09:19:19 · 324 阅读 · 0 评论 -
深度学习入门(基于python实现)--第六章 与学习有关的技巧 03
# _*_ coding:UTF-8 _*_# 文件名:chapter6_Skills_relatedTo_Learning_03.py# 开发工具:PyCharm"""正则化机器学习中经常会遇到一个问题-----过拟合,过拟合是指由于参数过多或者训练数据过少导致虽然对于训练数据的拟合非常好但是对于测试数据的拟合非常糟糕,解决这种问题有两种方法:一种是权值衰减,另外一种是dropout方法权值衰减是指在学习的过程中对权值过大的参数进行惩罚,来抑制过拟合,在代码中即为①处的代码另外的一种方法为原创 2020-09-09 08:36:57 · 276 阅读 · 0 评论 -
深度学习入门(基于python实现)--第六章 与学习有关的技巧 02
# _*_ coding:UTF-8 _*_# 文件名:chapter6_Skills_relatedTo_Learning_02.py# 开发工具:PyCharm"""权重的初始值权重的初始值是神经网络中十分重要的一个部分,我们甚至专门设计了一部分来改善神经网络的权重,所以初始值的设定十分重要有人要说,为啥不设置全0,不方便吗?这里就要涉及到之前讲的反向传播,如果是输入层全为0,那么第二层的输入全为0,那么在反向传播更新参数的时候,第二层的权重会进行相同的更新,神经网络的层数就变得没有意义了原创 2020-09-07 19:07:55 · 275 阅读 · 0 评论 -
深度学习入门(基于python实现)--第六章 与学习有关的技巧 01
# _*_ coding:UTF-8 _*_# 文件名:chapter6_Skills_relatedTo_Learning_01.py# 开发工具:PyCharmimport numpy as np"""在神经网络的学习中,我们的目的就是找到使损失函数值尽可能小的参数,解决这个问题的过程称为最优化问题我们之前的利用梯度的方法来更新参数的方法称为 随机梯度下降法(SGD),打个比方就是在一片土地上找到最低洼的那个点在许多情况下SGD都是一种比较优秀的方法,但是如果所求函数的图像坑坑洼洼,也就原创 2020-09-05 09:24:25 · 276 阅读 · 0 评论 -
深度学习入门(基于python实现)--第五章 误差反向传播 03
# _*_ coding:UTF-8 _*_# 文件名:Error_BackPropagation_03.py# 开发工具:PyCharm"""神经网络学习全貌图前提:有合适的权重和偏置,调整这两样的过程称为学习,分为以下四个步骤1. mini-batch从数据集中随机选择一部分数据2.计算梯度计算损失函数关于各个权重的参数的梯度3.更新参数将权重参数沿着梯度方向进行微小的更新4.重复重复步骤1、步骤2、步骤3"""import sys, osfrom dataset.m原创 2020-09-04 08:58:39 · 200 阅读 · 0 评论 -
深度学习入门(基于python实现)--第五章 误差反向传播 02
# _*_ coding:UTF-8 _*_# 文件名:Error_BackPropagation_02.py# 开发工具:PyCharmimport numpy as np"""在01中讲到了计算节点的反向传播的计算方式,下面来说说激活函数节点的反向传播计算方式对于ReLU函数(x大于0时输出x,小于0时输出0),我们对其求导数可以很容易得到当大于0时导数值为1,小于等于0时导数值为0所以当上游传过来导数时,若这个节点正向传播时的x大于0,那么导数原封不动向下游传过去,反之为0原创 2020-09-03 09:58:43 · 210 阅读 · 0 评论 -
深度学习入门(基于python实现)--第五章 误差反向传播 01
# _*_ coding:UTF-8 _*_# 文件名:Error_BackPropagation_01.py# 开发工具:PyCharm"""下面介绍一种高效的计算权重方法,误差反向传播计算图用图的形式来表示数据的求解过程比如表示买两个苹果,并且要交10%的税一个苹果100元 100 200 220一个苹果-------→ ×2 -------→ 交税 ×1.1 --------→ 总支出220上面这个计算图从左到原创 2020-09-01 19:49:42 · 215 阅读 · 0 评论 -
深度学习入门(基于python实现)--第四章 神经网络的学习 03
# _*_ coding:UTF-8 _*_# 开发人员:zyh# 开发时间:2020/8/29 8:26# 文件名:Learning_of_Neural_Networks_03.py# 开发工具:PyCharm"""神经网络的梯度"""# import sys, osimport matplotlib.pylab as plt# sys.path.append(os.pardir)import numpy as np# from chapter3_neural_network.原创 2020-08-29 21:15:13 · 188 阅读 · 0 评论 -
深度学习入门(基于python实现)--第四章 神经网络的学习 02
# _*_ coding:UTF-8 _*_# 文件名:Learning_of_Neural_Networks_02.py# 开发工具:PyCharmimport numpy as np"""梯度法利用求导数的方法来获得优秀的参数设置来达到损失函数较小的目的具体分析和论证建议看吴恩达的《机器学习入门》视频,配合本书看极其适合以下来实现梯度法"""def function_1(x): """ 实现0.01x²+0.1x :param x: int :r原创 2020-08-28 20:13:34 · 196 阅读 · 0 评论 -
深度学习入门(基于python实现)--第四章 神经网络的学习 01
# 开发工具:PyCharmimport numpy as np"""参数的设置在机器学习中十分重要,如果参数比较少还可以通过人为的调整来达到想要的效果,但是实际情况中,参数往往都是成千上万个,对于层数比较多的神经网络甚至能达到上亿个 ,所以人为调整并不现实,这时候就需要参数根据数据来“自动调整”机器学习中一般将数据分为:训练数据(也称监督数据)和测试数据。首先利用训练数据得到参数的取值,再用测试数据来评价训练得到的模型。最后我们希望得到一个“泛化能力”比较好的模型,泛化能力是指能够处理没原创 2020-08-25 19:41:56 · 272 阅读 · 0 评论 -
深度学习入门(基于python实现)--第三章 神经网络 03
# _*_ coding:UTF-8 _*_# 开发工具:PyCharm"""手写数字的识别利用书中所给的脚本文件,我已经上传到了CSDN的资源中,免费下载前向传播:假设神经网络已经训练完毕,此时我们将一个数据输入并进行判断,这个就是“推理”的过程这个过程也称为“前向传播”"""import pickleimport sys, osimport numpy as npsys.path.append(os.pardir)from dataset.mnist import load_原创 2020-08-23 21:39:49 · 246 阅读 · 0 评论 -
深度学习入门(基于python实现)--第三章 神经网络 02
所看书籍为人民邮电出版社的深度学习入门,原作者[日]斋藤康毅# _*_ coding:UTF-8 _*_# 开发人员:zyh# 开发时间:2020/8/22 21:04# 文件名:neural_network_02.py# 开发工具:PyCharmimport numpy as np"""一般使用numpy的矩阵相乘来实现神经网络"""x = np.array([1, 2])w = np.array([[1, 3, 5], [2, 4, 6]])output = np.dot(x原创 2020-08-22 21:46:26 · 269 阅读 · 0 评论 -
深度学习入门(基于python实现)--第三章 神经网络 01
# _*_ coding:UTF-8 _*_# 文件名:neural_network_01.py# 开发工具:PyCharmimport numpy as npimport matplotlib.pylab as plt"""输入层 中间层 输出层 x_1 ↗ ↘ ↗ ↘x1 ------→ x_2-----→↘output ↘ ↗ ↗ ↗↘原创 2020-08-21 22:02:18 · 276 阅读 · 0 评论 -
深度学习入门(基于Python实现)-第二章 感知机
所看书籍为人民邮电出版社的深度学习入门,原作者[日]斋藤康毅感知机简单的来说就是基础门电路的组合import numpy as np"""感知机x1 ↘w1 → output ↗w2x2w1,w2为权重 output = 0 if w1x1+w2x2 <= θ(阈值) else 1"""def AND(x1, x2): """与门实现x1,x2为输入的值,b为偏置""" x = np.array([x1, x2]) w原创 2020-08-20 20:28:32 · 194 阅读 · 0 评论