吴恩达老师作业
薛定谔的智能
这个作者很懒,什么都没留下…
展开
-
吴恩达作业5:正则化和dropout
构建了三层神经网络来验证正则化和dropout对防止过拟合的作用。首先看数据集,reg_utils.py包含产生数据集函数,前向传播,计算损失值等,代码如下:import numpy as npimport matplotlib.pyplot as pltimport h5pyimport sklearnimport sklearn.datasetsimport s...原创 2018-07-17 14:25:53 · 1353 阅读 · 1 评论 -
吴恩达作业9:卷积神经网络实现手势数字的识别(基于tensorflow)
数据集链接:https://download.csdn.net/download/fanzonghao/10551018提供数据集代码放在cnn_utils.py里。import mathimport numpy as npimport h5pyimport matplotlib.pyplot as pltimport tensorflow as tffrom tensorfl...原创 2018-07-21 16:30:15 · 8978 阅读 · 73 评论 -
吴恩达作业8:三层神经网络实现手势数字的识别(基于tensorflow)
数据集的载入,随机产生mini-batch放在tf_utils.py,代码如下import h5pyimport numpy as npimport tensorflow as tfimport mathdef load_dataset(): train_dataset = h5py.File('datasets/train_signs.h5', "r") trai...原创 2018-07-19 13:13:42 · 2837 阅读 · 4 评论 -
吴恩达作业4:权重初始化
权重初始化的 正确选择能够有效的避免多层神经网络传播过程中的梯度消失和梯度爆炸问题,下面通过三个初始化的方法来验证:sigmoid导数函数:最大值小于0.25,故经过多层反向传播以后,会导致最初的层,权重无法更新。首先看数据集,init_utils.py代码,激活函数,数据集等等,代码如下:import numpy as npimport matplotlib.pyplo...原创 2018-07-15 13:52:27 · 1645 阅读 · 0 评论 -
吴恩达作业1:逻辑回归实现猫的分类
思路:输入样本X与随机初始权重W相乘,利用sigmoid激活函数输出值,对于二分类问题,用交叉熵损失函数来计算损失值,通过交叉熵损失函数利用链式法则求出W和b的偏导,梯度下降更新W和b即可,(梯度下降又有很多,Momentum,Adam等后面在详细介绍)剩下的就是迭代次数和学习率的问题。第一课作业直接给了数据集,无须对数据集操作,下面是读取数据集的代码,数据集链接https://downloa...原创 2018-07-11 10:30:11 · 3171 阅读 · 3 评论 -
吴恩达作业2 利用两层神经网络实现不同颜色点的分类,可更改隐藏层数量
任务:将400个两种颜色的点用背景色分为两类。前面的还是建议重点学神经网络知识,至于数据集怎么做的后面在深究,首先先看看数据集,代码如下:def load_planar_dataset(): np.random.seed(1) m = 400 # number of examples N = int(m/2) # number of points per c...原创 2018-07-12 16:31:18 · 1666 阅读 · 2 评论 -
吴恩达作业3:利用深层神经网络实现小猫的分类
利用4层神经网络实现小猫的分类,小猫训练样本是(209,64*64*3=12288),故输入节点是12288个,隐藏层节点依次为20,7,5,输出层为1。首先看文件路径,dnn_utils_v2.py代码是激活函数和激活函数导数 载入数据集 打印预测错误照片的代码:import numpy as npimport matplotlib.pyplot as pltimport...原创 2018-07-13 13:23:23 · 1343 阅读 · 0 评论 -
吴恩达作业6:梯度检验
梯度检验的目的就是看反向传播过程中的导数有没有较大的误差,首先看J=theta*x的梯度检验:代码如下import numpy as np"""J=x*theta的前向传播"""def forward_propagation(x,theta): J=x*theta return J"""J=x*theta的后向传播"""def back_propagation...原创 2018-07-18 13:25:17 · 1696 阅读 · 3 评论 -
吴恩达作业7:梯度下降优化算法
先说说BatchGD用整个训练样本进行训练得出损失值,SGD是只用一个训练样本训练就得出损失值,GD导致训练慢,SGD导致收敛到最小值不平滑,故引入Mini-batch GD,选取部分样本进行训练得出损失值,普通梯度下降算法如下:""""一般梯度下降算法"""def update_parameters_gd(parameters,grads,learning_rate): ...原创 2018-07-18 13:52:03 · 720 阅读 · 0 评论 -
吴恩达作业10:用卷积神经网络识别人脸happy(基于Keras)
数据集提供的代码放在kt_utils.py:import keras.backend as Kimport mathimport numpy as npimport h5pyimport matplotlib.pyplot as pltdef mean_pred(y_true, y_pred): return K.mean(y_pred)def load_datase...原创 2018-07-21 17:29:13 · 2018 阅读 · 1 评论