3这是第二波笔记,即吴恩达的第二课:Advanced Learning Algorithms高级学习算法,会结合视频、ppt进行注释并补充笔记,欢迎交流学习,教程视频来自B站(P42-100,涵盖四周的课程:
第一课(p1-41)的笔记链接如下:
吴恩达Machine Learning课程学习笔记1-CSDN博客,若有需要可从第一课Supervised Machine Learning Regression and Classification(监督机器学习回归和分类)开始。
目录
首先是第一周内容(p42-58):
一、引入
1.1 (p42)高级学习算法
在本课程中将学习神经网络(深度学习算法)、决策树等应用广泛的机器学习算法,课程还会提供关于如何构建机器学习系统的实用建议,并学习构建实用的机器学习应用程序。
未来四周中,第一周学习神经网络及如何(结合网上别人训练的神经网络参数)进行推理和预测;第二周将学习训练自己的神经网络;第三周讨论构建机器学习系统的实用建议;第四周学习决策树。
1.2 (p43)神经元和大脑
这一部分介绍神经网络的起源,起初是为了模仿人脑进行学习的过程。
首先了解大脑是如何工作的,神经网络是为了构建模仿大脑的软件,神经网络的研究始于20世纪50年代,在80年代末90年代初再度受欢迎并在一些应用中显示很大潜力,90年代热度减退,在2005年又开始复兴,在语音识别、计算机视觉、文本或自然语言处理等方面有很大进展和应用。
下一张ppt介绍神经元,通过树突接受电脉冲,再通过轴突向其他神经元发送电脉冲信息,这部分输出会成为另一个神经元的输入,右边是人工神经网络构建的简单数学模型、用于模拟生物神经元的作用,小圆圈代表神经元,可以将输入经过神经元的计算得到右侧的输出结果。
在课程中将生物神经元和人工神经元之间做了松散的类比,实际上人脑的工作过程非常复杂、至今仍未被完全理解。目前在大脑工作过程尚未研究清楚的情况下,我们是利用工程原理寻找构建更有效的算法。
为什么最近几年神经网络相关的研究起飞?首先数据量一直是在爆炸式增长的,如果是传统的ai(线性回归和逻辑回归)在数据量爆炸增长的时候很难有更好的表现,如果训练小/中/大神经网络模型,性能表现会好很多。同时因为GPU等图形处理器兴起和强大也对深度学习很有利。
1.3 (p44)需求预测
举例销售衣服,输入T恤价格,希望预测需求量,用a表示逻辑回归算法的输出值,a表示activation(神经科学的术语,指对下游神经元的高输出),输出畅销的概率大小。
下面是更复杂的预测例子,结合多个元素(如成本、售价、购买欲望、材质等)、将其转化为几个不同的人工神经元,将他们合在一起形成一层(layer,一层就是一组神经元,以相似或相同的特征作为输入,每层可以由多个或一个神经元组成),再接到一个输出的神经元(输出层)。
下图中四个数字组成的列表叫输入层,他们的激活值输出三个数字、这三个数字组成一层(隐藏层),输出一个数(激活值)传到输出层。
神经网络的特性是当我们从数据训练它时,我们不需要明确地决定哪些是特性、在隐藏层中使用哪些功能,算法可以做出选择(黑箱模型)。
上面的例子中隐藏层只有一层,实际上隐藏层可能有很多层。神经网络构架中涉及隐藏层数量、每层的隐藏单元数量等问题,后续课程将学习为神经网络选择合适的体系结构。
1.4 (p45)例子:图像识别
上一节介绍神经网络进行需求预测的示例,这一节介绍将其用于计算机视觉应用程序的例子。
假设输入的是一张1000*1000的图片,每个像素有一个亮度值,可以将其列为一百万个值的列表/矢量,人脸识别需要训练神经网络分析百万像素亮度值的特征矢量并输出图片中人的身份。
观察隐藏层各层分析的内容,我们发现第一层可能在寻找垂直的边缘线、定向线/定向边缘,即寻找短的边缘;进入第二层,神经元可能学会将许多小的短线组合在一起、以便寻找面部位置(眼睛、鼻子…);进入第三层,神经网络将人脸不同部分聚集起来、试着检测是否有更大更粗糙的脸型,最后检测人脸与不同脸型的对应程度,帮助输出层确定人物图片的身份。
这些小神经元的可视化实际上对应于图像中不同大小的区域(逐渐变大)。
如果我们在不同训练集上训练这个神经网络会发生什么,比如很多车辆侧面图片。神经网络会自动学习检测非常不同的特征,进而做出汽车检测的预测/人脸识别/任何被训练的特定任务。
二、神经网络模型
2.1 (p46)神经网络中的层
这一节先学习一层神经元是如何工作的。
2.2 (p47)更复杂的神经网络
2.3 (p48)推理:做出预测(前向传播)
三、
3.1(p49)代码中的推理
3.2(p50) TensorFlow中的数据
3.3 (p51)构建一个神经网络
4.1 (p52)在一个单层中的前向传播
4.2 (p53)前向传播的一般实现
5.1 (p54)是否有路通向AGI(通用人工智能)
6.1 (p55)神经网络如何高效实现
6.2 (p56)矩阵乘法
6.3 (p57)矩阵乘法的规则
6.4 (p58)矩阵乘法代码
接下来是第二周内容(p59-63):
7.1 (p59)TensorFlow实现
7.2 (p60)训练细节
8.1 (p61)sigmoid的替代品
8.2 (p62)选择激活函数
8.3 (p63)为什么我们需要激活函数
接下来是第三周内容(p):
接下来是第四周内容(p):
总结:感谢你陪我看到这里,到这里已经完成吴恩达机器学习的第二部分:高级学习算法,接下来会继续更新第三部分和相关代码学习笔记,互勉!
标签:学习,吴恩达,机器,输出,Machine,神经网络,Learning,神经元 From: https://blog.csdn.net/weixin_46632427/article/details/144934546