2022吴恩达机器学习课程——第二课(神经网络)

注:参考B站视频教程

视频链接:【(强推|双字)2022吴恩达机器学习Deeplearning.ai课程】


文章目录

  • 第一周
    • 一、神经元
    • 二、神经网络
    • 三、代码实现 & Tensorflow
    • 四、前向传播
    • 五、强人工智能
    • 六、矩阵乘法 (简单,可以跳过)
  • 第二周
    • 一、用Tensorflow训练神经网络
    • 二、激活函数
    • 三、Softmax
    • 四、Adam & 卷积层
  • 第三周
    • 一、训练集&测试集
    • 二、偏差&方差
    • 三、误差分析&迁移学习
    • 四、精确率&召回率
  • 第四周
    • 一、决策树
    • 二、信息增益&独热码
    • 三、随机森林

第一周

一、神经元

1.2 神经元

2022吴恩达机器学习课程——第二课(神经网络)_第1张图片


神经网络的起源
2022吴恩达机器学习课程——第二课(神经网络)_第2张图片


1.3 需求预测

预测T恤是否畅销
2022吴恩达机器学习课程——第二课(神经网络)_第3张图片


2022吴恩达机器学习课程——第二课(神经网络)_第4张图片


多个隐藏层
2022吴恩达机器学习课程——第二课(神经网络)_第5张图片


1.4 举例——图像感知
人脸识别问题是,你能否训练一个神经网络,以一百万像素亮度值的特征向量作为输入,并输出图片中人物的身份
2022吴恩达机器学习课程——第二课(神经网络)_第6张图片


2022吴恩达机器学习课程——第二课(神经网络)_第7张图片


应用到车辆检测
2022吴恩达机器学习课程——第二课(神经网络)_第8张图片


二、神经网络

2.1 神经网络中的网络层
三个神经元中的每一个都在执行一个小小的逻辑回归单元
上标【1】表示layer1(神经网络第1层)中的参数
2022吴恩达机器学习课程——第二课(神经网络)_第9张图片


layer1-->layer2
2022吴恩达机器学习课程——第二课(神经网络)_第10张图片


2022吴恩达机器学习课程——第二课(神经网络)_第11张图片


2.2 更复杂的神经网络

layer2-->layer3
2022吴恩达机器学习课程——第二课(神经网络)_第12张图片


2022吴恩达机器学习课程——第二课(神经网络)_第13张图片


如何计算任意层的激活值
2022吴恩达机器学习课程——第二课(神经网络)_第14张图片


2.3 神经网络向前传播
神经网络需要从输入X这个8*8矩阵预测出a3的概率
2022吴恩达机器学习课程——第二课(神经网络)_第15张图片


2022吴恩达机器学习课程——第二课(神经网络)_第16张图片


用f(x)来表示线性回归或逻辑回归的输出
2022吴恩达机器学习课程——第二课(神经网络)_第17张图片


三、代码实现 & Tensorflow

3.1 如何用代码实现推理
使用机器学习算法来优化咖啡的烘焙过程
2022吴恩达机器学习课程——第二课(神经网络)_第18张图片


使用Tensorflow做基于神经网络的推理
在这里插入图片描述


手写数字识别
x是一个含有像素强度值的列表
2022吴恩达机器学习课程——第二课(神经网络)_第19张图片


3.2 Tensorflow中的数据形式
Numpy是如何存储向量和矩阵的
2022吴恩达机器学习课程——第二课(神经网络)_第20张图片


2022吴恩达机器学习课程——第二课(神经网络)_第21张图片


两个方括号表示的是“二维矩阵”,一个方括号表示的是“一维向量”
2022吴恩达机器学习课程——第二课(神经网络)_第22张图片


张量tensor是Tensorflow团队创建的一种数据类型,可以有效地存储和执行矩阵运算
2022吴恩达机器学习课程——第二课(神经网络)_第23张图片


2022吴恩达机器学习课程——第二课(神经网络)_第24张图片
将数组传入Tensorflow时,Tensorflow喜欢将其转换为自己的内部格式,然后有效的使用张量;当你把数据读出来的时候,你可以把它作为一个张量或者将其转换为Numpy数组


3.3 搭建一个神经网络
Sequential把网络层串联起来形成一个神经网络框架。
调用model.compile()训练神经网络,调用model.predict()实现向前传播。
2022吴恩达机器学习课程——第二课(神经网络)_第25张图片


2022吴恩达机器学习课程——第二课(神经网络)_第26张图片


2022吴恩达机器学习课程——第二课(神经网络)_第27张图片


四、前向传播

4.1 单个网络层上的向前传播
2022吴恩达机器学习课程——第二课(神经网络)_第28张图片


4.2 前向传播的一般实现
2022吴恩达机器学习课程——第二课(神经网络)_第29张图片


五、强人工智能

5.1 强人工智能
2022吴恩达机器学习课程——第二课(神经网络)_第30张图片


六、矩阵乘法 (简单,可以跳过)

6.1 神经网络为何如此高效

向量化实现 matmul
在这里插入图片描述


6.2 矩阵乘法
2022吴恩达机器学习课程——第二课(神经网络)_第31张图片


2022吴恩达机器学习课程——第二课(神经网络)_第32张图片


6.3 矩阵乘法规则
2022吴恩达机器学习课程——第二课(神经网络)_第33张图片


2022吴恩达机器学习课程——第二课(神经网络)_第34张图片


6.4 矩阵乘法代码
2022吴恩达机器学习课程——第二课(神经网络)_第35张图片


2022吴恩达机器学习课程——第二课(神经网络)_第36张图片


第二周

一、用Tensorflow训练神经网络

1.1 Tensorflow实现
2022吴恩达机器学习课程——第二课(神经网络)_第37张图片


1.2 模型训练细节
2022吴恩达机器学习课程——第二课(神经网络)_第38张图片


2022吴恩达机器学习课程——第二课(神经网络)_第39张图片


2022吴恩达机器学习课程——第二课(神经网络)_第40张图片


2022吴恩达机器学习课程——第二课(神经网络)_第41张图片


二、激活函数

2.1 Sigmoid激活函数的替代方案
2022吴恩达机器学习课程——第二课(神经网络)_第42张图片


2022吴恩达机器学习课程——第二课(神经网络)_第43张图片


2.2 如何选择激活函数
2022吴恩达机器学习课程——第二课(神经网络)_第44张图片


ReLU函数更加常用
2022吴恩达机器学习课程——第二课(神经网络)_第45张图片


2022吴恩达机器学习课程——第二课(神经网络)_第46张图片


2.3 为什么模型需要激活函数
为了引入非线性,提高模型的拟合能力
2022吴恩达机器学习课程——第二课(神经网络)_第47张图片


2022吴恩达机器学习课程——第二课(神经网络)_第48张图片


在隐藏层使用线性激活函数,在输出层使用logistic激活函数,结果这个模型等价于逻辑回归
经验法则:不要在神经网络的隐藏层中使用线性激活函数
2022吴恩达机器学习课程——第二课(神经网络)_第49张图片


三、Softmax

3.1 多分类问题
2022吴恩达机器学习课程——第二课(神经网络)_第50张图片


2022吴恩达机器学习课程——第二课(神经网络)_第51张图片


3.2 Softmax

如何计算Softmax回归模型
2022吴恩达机器学习课程——第二课(神经网络)_第52张图片
Softmax回归模型是逻辑回归的推广


aj的值越大,损失函数L的值越小
2022吴恩达机器学习课程——第二课(神经网络)_第53张图片


3.3 神经网络的Softmax输出
2022吴恩达机器学习课程——第二课(神经网络)_第54张图片


在多分类问题上训练神经网络
2022吴恩达机器学习课程——第二课(神经网络)_第55张图片
并不是最好的版本


3.4 Softmax的改进实现
2022吴恩达机器学习课程——第二课(神经网络)_第56张图片


不同的表达方式下可能会出现“数值舍入误差”
2022吴恩达机器学习课程——第二课(神经网络)_第57张图片


改进,设置from_logits = True
2022吴恩达机器学习课程——第二课(神经网络)_第58张图片


将表达式直接带入,这样就给了Tensorflow可以重新排列项并计算的能力
相比下,逻辑回归的数值舍入误差更大一点,建议用改进方法
2022吴恩达机器学习课程——第二课(神经网络)_第59张图片


神经网络的最后一层不再输出一些概率值了,not a1~a10 , is z1~z10
2022吴恩达机器学习课程——第二课(神经网络)_第60张图片


把逻辑回归和代价函数整合在一起,把输出值映射到Logistic函数中,得到概率

2022吴恩达机器学习课程——第二课(神经网络)_第61张图片


3.5 多个输出的分类

举例:多标签分类问题
2022吴恩达机器学习课程——第二课(神经网络)_第62张图片


多类别分类和多标签分类容易混淆
2022吴恩达机器学习课程——第二课(神经网络)_第63张图片


四、Adam & 卷积层

4.1 高级优化方法

Adam算法可以自动更新学习率,它比梯度下降算法要快得多
2022吴恩达机器学习课程——第二课(神经网络)_第64张图片


模型的每个参数都会用不同的学习率
2022吴恩达机器学习课程——第二课(神经网络)_第65张图片


如果一个参数wj或b在大致相同的方向上移动,就提高参数的学习率;
如果一个参数来回震荡,就减小参数的学习率。
2022吴恩达机器学习课程——第二课(神经网络)_第66张图片


2022吴恩达机器学习课程——第二课(神经网络)_第67张图片
现在大多数从业者会使用Adam算法而不是梯度下降算法


4.2 其他的网络层类型
全连接层
2022吴恩达机器学习课程——第二课(神经网络)_第68张图片


卷积层:每个神经元只关注输入图像的一个区域
2022吴恩达机器学习课程——第二课(神经网络)_第69张图片


2022吴恩达机器学习课程——第二课(神经网络)_第70张图片


第三周

一、训练集&测试集

1.1 决定下一步做什么
2022吴恩达机器学习课程——第二课(神经网络)_第71张图片


机器学习诊断:指的是一种测试,你可以运行它来深入了解算法中哪些是有效的,哪些是无效的,从而明白应该怎样提升性能。其中一些诊断会告诉你,是否值得用几周或者几个月的时间来收集更多的训练数据,如果是的话,你就可以继续投入时间寻找数据,这有望提升性能;如果不是,那么进行诊断可以为你节省几个月的时间
2022吴恩达机器学习课程——第二课(神经网络)_第72张图片


1.2 模型评估
2022吴恩达机器学习课程——第二课(神经网络)_第73张图片
划分训练集与测试集
2022吴恩达机器学习课程——第二课(神经网络)_第74张图片


线性回归
2022吴恩达机器学习课程——第二课(神经网络)_第75张图片


模型在训练集上做的好,但是在测试集上表现得不好

在这里插入图片描述


分类问题
2022吴恩达机器学习课程——第二课(神经网络)_第76张图片
取一个数据集,把它分为训练集和一个单独的测试集,可以系统的评估你的学习成果;通过计算训练误差和测试误差,你可以衡量模型在训练集和测试集上的表现


1.3 模型选择&交叉验证测试集的训练方法

d是多项式的次数
2022吴恩达机器学习课程——第二课(神经网络)_第77张图片
可以尝试不同的模型,并根据计算误差来选择一个合适的模型,不过这种方法过于复杂,不太建议


划分为训练集&验证集&测试集

2022吴恩达机器学习课程——第二课(神经网络)_第78张图片


2022吴恩达机器学习课程——第二课(神经网络)_第79张图片


2022吴恩达机器学习课程——第二课(神经网络)_第80张图片


2022吴恩达机器学习课程——第二课(神经网络)_第81张图片


二、偏差&方差

2.1 通过偏差与方差进行诊断

一个更系统的判断算法是否有高偏差或者高方差的方法是,看你的算法在训练集和交叉验证集上的表现
2022吴恩达机器学习课程——第二课(神经网络)_第82张图片


当你拟合一个越来越高阶的多项式时,训练误差会趋于下降;因为当你有一个非常简单的线性函数时,它并不能很好的拟合训练数据;当你拟合二阶/三阶/四阶多项式时,对训练数据的拟合越来越好;随着多项式次数的增加,J_train通常会下降
2022吴恩达机器学习课程——第二课(神经网络)_第83张图片


高偏差意味着算法在训练集上表现不好,高方差意味着,算法在交叉验证集上的表现比训练集上的差得多

高方差与高偏差同时出现的例子极少存在,是由于模型一半过拟合、一半欠拟合导致的

2022吴恩达机器学习课程——第二课(神经网络)_第84张图片


2.2 正则化、偏差、方差

正则化参数的选择对偏差和方差会产生什么影响
2022吴恩达机器学习课程——第二课(神经网络)_第85张图片


2022吴恩达机器学习课程——第二课(神经网络)_第86张图片


J_train和λ分别作为横轴,两个图就像彼此的镜像

2022吴恩达机器学习课程——第二课(神经网络)_第87张图片


2.3 制定一个用于性能评估的基准

以语音识别应用为例
可能10.8%的误差意味着这是很高的偏差,但当我们按照人类水平进行基准测试时,我们看到这个算法在训练集上表现得很好,但是交叉验证误差远高于训练误差,因此该算法更多的是方差问题,而不是偏差问题
2022吴恩达机器学习课程——第二课(神经网络)_第88张图片


2022吴恩达机器学习课程——第二课(神经网络)_第89张图片


2.4 学习曲线

交叉验证的误差通常要比训练误差高
2022吴恩达机器学习课程——第二课(神经网络)_第90张图片


2022吴恩达机器学习课程——第二课(神经网络)_第91张图片
如果学习算法有很高的偏差,获得更多的训练数据本身不会有多大的帮助


2022吴恩达机器学习课程——第二课(神经网络)_第92张图片
如果学习算法有很高的方差,获得更多的训练数据可能会有所帮助


2.5 决定下一步做什么
2022吴恩达机器学习课程——第二课(神经网络)_第93张图片


2.6 方差与偏差
2022吴恩达机器学习课程——第二课(神经网络)_第94张图片


2022吴恩达机器学习课程——第二课(神经网络)_第95张图片


2022吴恩达机器学习课程——第二课(神经网络)_第96张图片


不同的层可以选择不同的λ值

2022吴恩达机器学习课程——第二课(神经网络)_第97张图片


三、误差分析&迁移学习

3.1 机器学习开发的迭代

2022吴恩达机器学习课程——第二课(神经网络)_第98张图片


垃圾邮件分类实例

2022吴恩达机器学习课程——第二课(神经网络)_第99张图片


2022吴恩达机器学习课程——第二课(神经网络)_第100张图片


2022吴恩达机器学习课程——第二课(神经网络)_第101张图片


3.2 误差分析

这种误差分析的要点是,手动检查一组算法错误分类或标记的样本。通常分析完以后,下一步要做什么的灵感就来了。有时误差分析还可以告诉你,某种误差非常罕见,不值得你花那么多时间来修复
2022吴恩达机器学习课程——第二课(神经网络)_第102张图片


偏差和方差分析可以告诉你收集更多数据是否有帮助;通过误差分析可知:增加邮件特征(外部:路由、标题...)会有所帮助,但也只是一点点;然而,添加检测垃圾或钓鱼邮件的更复杂的特征(邮件内容:包含xx关键字...)可能会有很大帮助;检查拼写错误机会没有多大帮助
2022吴恩达机器学习课程——第二课(神经网络)_第103张图片
误差分析的局限性,它更容易处理人类擅长的问题


3.3 添加更多数据

数据增强
2022吴恩达机器学习课程——第二课(神经网络)_第104张图片


2022吴恩达机器学习课程——第二课(神经网络)_第105张图片


数据增强思想也适用于语音识别
2022吴恩达机器学习课程——第二课(神经网络)_第106张图片


考虑数据扩充的一种方式是如何修改、扭曲或在数据中制造更多噪音。但在某种程度上,你得到的仍然和你在测试集中得到的很相似,这就是学习算法最终会做的很好的地方。
2022吴恩达机器学习课程——第二课(神经网络)_第107张图片


照片OCR是指自动让计算机读取出图像中的文本


这是来自照片OCR任务的真实数据,关键步骤是能够看到像这样的小图像,并识别出中间的字母。
2022吴恩达机器学习课程——第二课(神经网络)_第108张图片
左边的图像是来自世界上拍摄的真实图片,右边图片是用电脑上的字体合成的。通过像这样的合成数据,你可以生成大量的图像或者图片OCR任务的例子


2022吴恩达机器学习课程——第二课(神经网络)_第109张图片


3.4 迁移学习-使用其他任务中的数据
假设你想要识别从0到9的手写数字,但是没有那么多这些手写数字的带标签数据

迁移学习给人的直观感受是,通过识别猫,狗,牛,人等,它已经为处理输入图像的前几个层学习了一些合理的参数,然后通过将这些参数迁移到新的神经网络,新神经网络参数的初始值更合适了,这样我们只需要再让算法学习一点,它就能成为一个很好的模型。

首先在大型数据集上进行训练,然后在较小的数据集上进一步参数调优,这两个步骤被称为“监督预训练”
2022吴恩达机器学习课程——第二课(神经网络)_第110张图片
有人会把训练有素的神经网络发布到互联网上,免费授权给任何人下载和使用。这意味着,与其自己从头开始,不如下载别人可能花了数周时间训练的神经网络,然后用自己的输出层替换原有的输出层,并执行option1或option2来微调别人已经监督预训练的神经网络,只需要做一点微调,你就可以快速得到一个表现良好的神经网络。


为什么迁移学习会起作用?
帮助神经网络学习检测图像的一些基本特征,比如找到边缘、角、曲线、基本形状。
2022吴恩达机器学习课程——第二课(神经网络)_第111张图片
预训练的限制条件:对于预训练和微调这两步,图像类型x是必须相同的


2022吴恩达机器学习课程——第二课(神经网络)_第112张图片


3.5 机器学习项目的完整周期

2022吴恩达机器学习课程——第二课(神经网络)_第113张图片


2022吴恩达机器学习课程——第二课(神经网络)_第114张图片


3.6 公平、偏见与伦理
2022吴恩达机器学习课程——第二课(神经网络)_第115张图片


2022吴恩达机器学习课程——第二课(神经网络)_第116张图片


2022吴恩达机器学习课程——第二课(神经网络)_第117张图片


四、精确率&召回率

4.1 倾斜数据集的误差指标
2022吴恩达机器学习课程——第二课(神经网络)_第118张图片


2022吴恩达机器学习课程——第二课(神经网络)_第119张图片


4.2 精确率与召回率的权衡

Precision:预测为正样本中有多少是真的预测正确了(找的对)
Recall:样本中的正例有多少被预测正确了(找的全)

2022吴恩达机器学习课程——第二课(神经网络)_第120张图片


2022吴恩达机器学习课程——第二课(神经网络)_第121张图片


第四周

一、决策树

1.1 决策树模型
2022吴恩达机器学习课程——第二课(神经网络)_第122张图片


2022吴恩达机器学习课程——第二课(神经网络)_第123张图片


2022吴恩达机器学习课程——第二课(神经网络)_第124张图片


1.2 学习过程
2022吴恩达机器学习课程——第二课(神经网络)_第125张图片


2022吴恩达机器学习课程——第二课(神经网络)_第126张图片


2022吴恩达机器学习课程——第二课(神经网络)_第127张图片


二、信息增益&独热码

2.1 纯度
2022吴恩达机器学习课程——第二课(神经网络)_第128张图片


计算熵的公式
2022吴恩达机器学习课程——第二课(神经网络)_第129张图片


2.2 选择拆分信息增益

熵的减少称为信息增益

决定何时不再继续分裂的停止标准之一是:是否熵减少的足够少
在这里插入图片描述
基于耳朵形状的分裂,导致熵的减少最大,所以我们会选择在根节点上分割耳朵形状特征


计算信息增益的基本公式
2022吴恩达机器学习课程——第二课(神经网络)_第130张图片
p1left = 左子树中带有正标签的例子的比例,正标签表示猫
w1left = 所有根节点到左边子分支的样本的比例


2.3 整合
构建决策树的整个过程
2022吴恩达机器学习课程——第二课(神经网络)_第131张图片


2022吴恩达机器学习课程——第二课(神经网络)_第132张图片


2022吴恩达机器学习课程——第二课(神经网络)_第133张图片


2.4 独热编码One-hot
2022吴恩达机器学习课程——第二课(神经网络)_第134张图片


2022吴恩达机器学习课程——第二课(神经网络)_第135张图片


2022吴恩达机器学习课程——第二课(神经网络)_第136张图片


2.5 连续有价值的功能

如何决定怎样划分体重特征?
2022吴恩达机器学习课程——第二课(神经网络)_第137张图片


为了让决策树在每个节点上能处理连续值特征,使用划分时,只需要考虑不同的值来划分,计算信息增益,并决定对其分割。选择连续值特征能提供尽可能高的信息增益
2022吴恩达机器学习课程——第二课(神经网络)_第138张图片


2.6 回归树
2022吴恩达机器学习课程——第二课(神经网络)_第139张图片


2022吴恩达机器学习课程——第二课(神经网络)_第140张图片


选择方差减少最大的那个
2022吴恩达机器学习课程——第二课(神经网络)_第141张图片


三、随机森林

3.1 使用多个决策树
事实上,仅仅改变一个训练例子就会导致这个算法在根节点产生一个不同的划分,形成了一棵完全不同的树,使得算法不那么健壮
2022吴恩达机器学习课程——第二课(神经网络)_第142张图片


集成树模型的最终预测
2022吴恩达机器学习课程——第二课(神经网络)_第143张图片
使用多个决策树能使整体算法对任何一棵树做的事情不那么敏感


3.2 有放回抽样
2022吴恩达机器学习课程——第二课(神经网络)_第144张图片


3.3 随机森林

袋装决策树
2022吴恩达机器学习课程——第二课(神经网络)_第145张图片


2022吴恩达机器学习课程——第二课(神经网络)_第146张图片


3.4 XGBoost

刻意练习:把更多的注意力放在做得不好的例子上

2022吴恩达机器学习课程——第二课(神经网络)_第147张图片


2022吴恩达机器学习课程——第二课(神经网络)_第148张图片


2022吴恩达机器学习课程——第二课(神经网络)_第149张图片


3.5 何时使用决策树

  • 决策树和集成树通常可以很好的处理结构化数据(如:房价预测)
  • 非结构化数据:图像、视频、音频、文本
  • 决策树和集成树的优势:训练速度快
  • 神经网络适用于所有的数据结构(结构化和非结构化数据),但神经网络训练时长可能比决策树要慢
    2022吴恩达机器学习课程——第二课(神经网络)_第150张图片

你可能感兴趣的:(深度学习入门,神经网络,人工智能)