基于Neural Networks and Deep Learning的学习总结

本文介绍了作者在导师指导下学习深度学习的经历,从神经网络的基础概念出发,探讨了深度学习的兴起原因。文章详细阐述了神经网络的输入层、隐藏层和输出层,并以二分类问题为例,解释了构建L层神经网络的过程,包括参数初始化、前向传播、反向传播和成本计算等关键步骤。最后,作者表达了对模型优化的期待。
摘要由CSDN通过智能技术生成

0-# 前言

2022年在导师的要求下开始学习Deep Learning,我选择在b站听吴恩达的课。随着第一门课——Neural Networks and Deep Learning的结束,曾经对我来说似乎晦涩而又神秘的神经网络一点一点揭开了它的面纱,并在需要拟合非线性曲线时展现了远远优于逻辑回归的强大能力。其中诸多细节我还没有彻底吃透,希望在完成这篇文章的过程中能够对如何构建一个完整的二分类神经网络模型有更加全面的理解。


一、什么是深度学习?

神经网络概述

神经网络通常包含三个部分:输入层,隐藏层,输出层。
  • 输入层(Input layer)
    通常是维度为[n_x,n]的向量。其中n_x表示特制的个数,n表示样本个数。

  • 隐藏层(Hidden layer)
    tip:编程实现时通常用list"layers_dims[l_1,l_2,…,l_n]"来描述神经网络的模型结构,len(layers_dims) 即为模型的深度,layers_dims[n]即为第n层隐藏层中包含的神经元个数。
    可以将其类比为“黑盒子”,由许多个神经元堆叠在一起组成。在输入层输入训练样本后,通过不停地迭代计算完成参数的训练。单个神经元的计算可以简单地概括为下图,W^T为参数向量的转置,X为前一层的激活值A,B即bias,g(Z)为激活函数(此处为sigmod函数),A为这一层得到的激活值
    神经元

  • 输出层(Output layer)
    负责输出预测值。
    例如,在研究二分类问题时,通常选择sigmod函数作为输出层的激活函数。


深度学习相关问题概述

什么是深度学习?

目前我认为深度学习,就是有很多隐藏层的神经网络

深度学习已经存在了几十年,为什么开始突然流行了起来?

在这里插入图片描述
早期训练集样本规模较小时,深度神经网络和其他算法性能没有明显差距。随着大数据时代的到来,训练集数据的规模日益增长。当其数据规模增长到一定程度时,深度神经网络与其他算法的性能相比具有明显的优势。

深度学习与大脑

在没有学习深度学习之前,“神经网络”的字面意思带来的心理暗示以及在各种半吊子公众号推文的影响下,我先入为主地认为深层神经网络在训练参数的过程中“神经元”的运作方式与人类大脑学习时神经元的运作方式如出一辙。然而,这种想法是错误的。深层神经网络中的“神经元”通常情况下只做线性运算以及激活函数的运算,将前者的运作方式类比为后者其实是过度简化了后者的运作方式。因为,即使在今天,大脑神经元的研究专家依然无法说明大脑中的单个神经元究竟是如何工作的。诚然,人们在深度学习的各个领域中都曾受到过人类大脑的启发,但是简单得把深层神经网络类比为人类大脑中的神经是不可取的。


二、实现一个二分类的L层神经网络

接下来,基于Neural Networks and Deep Learning中分类“猫咪”的问题,建立一个二分类的L层神经网络。
在构建模型之前,普遍的做法是需要进行数据预处理,特征工程等等,包括特征的标准化……在这个问题中标准化的做法是对像素矩阵的每一个元素除以255。
然后,跟随以下基本步骤,建立模型。

  1. 初始化参数(W、b)/选择合适的超参数(学习率、迭代次数)

  2. 循环:
    a.前向传播
    b.计算成本
    c.反向传播
    d.更新参数

  3. 测试训练完成的模型

1.初始化参数/选择合适的超参数

初始化参数

不同于逻辑回归将参数W、b初始化为0的做法,在初始化神经网络的参数时,通常将W设为范围较小的
随机数。如果将参数都初始化为0,会使得在迭代完成后,所有隐藏层中的神经元都是相同的,这样的模型显然对与解决问题毫无建树。

选择合适的超参数

还没学捏QAQ


2.完成一次迭代所需做的操作

循环

a.前向传播
Z=W*X+b,A=g(Z)

X为前一层的激活值,g(X)为激活函数(通常是非线性函数,tanh(x)、σ(x)、Relu()),A为这一层最终得到的激活值

b.计算成本
c.反向传播

两年前听的我云里雾里,学完高数的链式求导法则发现原理十分简单

d.更新参数

3.测试模型


总结

神经网络的基础构建方法大概就是这些,主要难点是编程时实现向量化。
接下来就可以开始学习如何对模型进行优化,我已经迫不及待了

### 回答1: 《Neural Networks and Deep Learning》这本书被许多人评价为是关于深度学习的一本非常好的入门书。它以清晰易懂的方式解释了深度学习的核心概念,并且使用大量的图片和代码来帮助读者理解。如果您对深度学习感兴趣,那么这本书是一个不错的选择。 ### 回答2: 《Neural Networks and Deep Learning》是一本非常出色的书籍。它由Michael Nielsen撰写,提供了关于神经网络和深度学习的详细而清晰的介绍。 这本书以易于理解和深入的方式解释了神经网络和深度学习的基本概念和原理。它从基础知识开始,逐步引导读者了解神经元、多层神经网络、反向传播和激活函数等关键概念。通过直观的解释和简单的数学推导,读者可以很好地理解这些复杂的概念。 书中还包含了许多实例和示例,帮助读者将理论应用到实际问题中。例如,它详细介绍了如何使用神经网络解决手写数字识别的问题,并提供了相关的代码实现。这些实例不仅使得理论更加易于理解,也为读者提供了实际操作的经验和技能。 此外,《Neural Networks and Deep Learning》还提供了大量的引用文献和进一步阅读的建议,帮助读者进一步深入学习和探索相关领域的研究。这为读者进一步拓宽知识领域提供了便利。 总体而言,这本书不仅适合对神经网络和深度学习感兴趣的初学者,也适合那些已经有一定了解但希望进一步加深理解的读者。它以简洁明了的方式传递了复杂的概念,提供了大量的实例和引用文献,是一本极具价值的学习资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

记性太好是我的缺点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值