ADM-201 dump PMP dumps pdf SSCP exam materials CBAP exam sample questions

4分钟内创建一个神经网络 – 译学馆
未登录,请登录后再发表信息
最新评论 (0)
播放视频

4分钟内创建一个神经网络

Build a Neural Net in 4 Minutes

大家好 欢迎来到西拉杰学
今天我们将在四分钟内创建一个神经网络
我们开始吧
世界上有成千上万种机器学习模型
但最近神经网络因为两件事变得非常受欢迎:
更快的计算机和更多的数据
这帮助我们在各领域取得了一些惊人突破
从图像识别到生成说唱歌曲
机器学习只包括三个步骤
创建 训练 测试
模型建好后 就可以用输入和输出数据
对其进行训练 以提高其模式识别的能力
接下来我们就用Python
创建一个三层神经网络模型
我们从导入NumPy开始
我会用这个库来进行科学计算
接着我们要创建一个函数
它能把任意值映射为0到1之间的一个特定值
这个函数名为Sigmoid函数
有数据输入时它将在网络中的每个神经元中运行
这样就能由数得到概率
函数创建后
我们要把输入的数据集初始化成矩阵
矩阵每行是一个不同的训练样本
每列代表一个不同的神经元
我们有四个训练样本
每个都有三个输入神经元
接着我们将创建输出数据集
四个样本 每个对应一个输出神经元
因为一会我们要生成随机数
所以我们要先指定种子来确定随机数
这就是说 用相同的起始点或种子生成随机数
程序每次运行都能得到相同的数字序列
这在调试时会很有用
接下来 我们将创建我们的突触矩阵
突触是一层中每个神经元到下一层每个神经元之间的连接
由于我们有三层神经网络 所以需要两个突触矩阵
每个突触都被分配了一个随机权重
然后 我们要开始写训练代码
我们创建一个for循环来迭代训练代码
从而根据给定的数据集优化网络
我们从创建第一层开始 第一层就是输入数据
下一步是预测 我们要在每个层及其突触之间执行矩阵乘法
然后我们要在矩阵的每个值上运行Sigmoid函数来创建下一层网络
下一层网络包含对输出数据的预测
然后我们用同样的方法来得到下下层
也就是一个更精确的预测
现在我们有了第二层对输出进行预测的网络
我们要把这个预测输出和期望输出相减
来得到错误率
还要以指定时间间隔打印平均错误率
以确定错误率每次都会下降
接下来 我们将错误率乘以Sigmoid函数的结果
这个函数用于获取第二层输出预测的导数
我们可以获得一个增量
用它在每次迭代中更新突触值
从而降低错误率
接着我们想看看在第二层有多少层对误差做出了贡献
这就是反向传播
我们把第二层的增量乘以突触的转置得到这个误差
然后将这个误差乘以Sigmoid函数的结果来获得第一层的增量
Sigmoid函数用于获得第一层的导数
现在我们已经计算出了每层的增量
这些增量用来更新突触权值
从而在每次迭代中逐渐降低错误率
这种算法称为梯度下降法
也就是我们每层都乘一个增量
最后 我们打印预测的输出 就是这样
我们在终端中运行 看看得到了什么
太棒了 可以看到错误率在随每次迭代减少
而且预测的输出非常非常接近实际输出
我们可以用很多方法改进我们的神经网络
更多信息请查看以下说明中的链接 订阅更多技术视频
谢谢观看

发表评论

译制信息
视频概述

神经网络入门介绍

听录译者

收集自网络

翻译译者

王孜昱

审核员

审核员X

视频来源

https://www.youtube.com/watch?v=h3l4qz76JhQ

相关推荐