吴恩达2022机器学习专项课程-笔记
文章平均质量分 72
记录个人学习吴恩达老师的课程,会持续更新和不断优化,欢迎小白大佬一起交流~
AIGC学习社
公众号:AIGC学习社
展开
-
吴恩达2022机器学习专项课程C2W3:2.24 机器学习实践建议(决定下一步做什么&模型评估&模型选择&交叉验证)
本篇初步引入了训练集、交叉验证集和测试集的概念,以及它们的误差如何计算。目前只是引入了简单的模型选择,即哪个模型的J_cv低就选谁。训练误差和交叉验证误差可以告诉你下一步该尝试什么来改进模型。它可以显示你是否存在高偏差(欠拟合)或高方差(过拟合)问题。下一篇描述什么是高方差和高偏差?原创 2024-06-05 11:44:36 · 552 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W2:2.23 选修_反向传播算法的工作原理(什么是导数&图计算&大型神经网络)
计算图是深度学习中的关键概念,通过分解计算步骤来自动计算神经网络的导数。下图是由节点和边或箭头连接组成的计算图。展示如何使用计算图从输入 x 和参数 w、b 计算输出 a,并进一步计算成本函数 j。通过将计算过程分解成多个小步骤,最终得出成本函数的值。这种方法帮助我们理解前向传播和成本计算的过程。首先,确定输入和参数:输入 x 和参数 w、b。计算 w * x,并称其为 c。计算 a = wx + b。计算 a - y,并称其为 d。计算成本函数 j = (1/2) * d^2。原创 2024-06-03 16:02:28 · 1368 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W2:实验多类分类
再次强调,背景颜色的强度表示最高值。左图中,橙色点和紫色点(类别 2 和 3)位于右侧阴影深的区域,表示这些区域里的样本x0x1激活值较高,模型预测这些样本属于类别 2 和 3 的概率较高。右图中,紫色点和绿色点(类别 3 和 1)位于下侧阴影深的区域,表示这些区域里的样本x0和x1和激活值较高,模型预测这些样本属于类别3和1的概率较高。总结一下:第一层的两个神经元,通过不同的参数,绘制出不同的决策边界,然后通过ReLU,预测出了不同的分类。输出具体的类别,前10个数据集的真实标签y,以及训练样本的形状。原创 2024-05-31 13:51:06 · 1113 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W2:实验SoftMax
Tensorflow 中实现 softmax、cross-entropy loss 的两种方法,首先创建数据集,输入样本2个特征,真实标签y也就是分类一共4个0,1,2,3,2000个训练样本。原创 2024-05-29 14:44:57 · 1021 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W2:2.22 多类 & softmax & softmax与神经网络 & softmax的代码改良 & 多标签分类
多分类问题指的是在分类任务中,输出标签y不仅仅局限于两个类别,而是存在两个以上的可能类别。它是一种函数,可以理解成逻辑回归模型的扩展,用于预测多分类问题,类似于sigmoid预测二分类。每个样本可能有多个标签,每个标签表示不同的类别。例如自动驾驶系统中,针对前方的图片,可能要判断是否有车、是否有公交车、是否有行人等。这种情况下,每张图像可以同时属于多个标签,单一标签无法描述图像中所有的信息。本篇首先引入了多分类问题,然后介绍了解决多分类的算法:softmax,softmax可以理解为逻辑回归的扩展。原创 2024-05-27 11:03:34 · 952 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W2:实验Relu激活函数
(1)神经元的激活值awareness不在是0或1,是任意非负数。而Sigmoid函数是一种常用于二分类问题的激活函数,它能够输出一个介于0和1之间的值,适合表示概率或开关状态。因此需要ReLU激活函数,它在输入大于0时提供线性输出,这意味着输出与输入成正比,提供了一个平滑的连续变化。此外,它还有一个"关闭"范围,其中输出为零。这是ReLU的一个关键特性,即当输入小于0时,ReLU的输出为0,这个特性被称为"关闭",也使它成为了非线性激活函数。原创 2024-05-25 10:34:11 · 1012 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W2:2.19 sigmoid函数的替代方案 & 2.20如何选择激活函数 & 2.21 激活函数的重要性
对于输出层,如果你有一个二元分类问题,使用sigmoid;如果y是一个可以取正值或负值的数字,使用线性;或者如果y只能取正值或零正值或非负值,使用ReLU。然后对于隐藏层,我只是使用ReLU作为默认激活函数。原创 2024-05-22 11:36:50 · 1107 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W2:2.17 TensorFlow实现 & 2.18 训练细节
Tensorflow指定了神经网络的整体架构,在已经每层参数w,b的情况下,TensorFlow能够计算出最终输出。首先,介绍了TensorFlow训练神经网络的基本思路,并与逻辑回归模型的训练步骤进行了简要对比,强调了在神经网络训练中需要关注的关键步骤。然后,详细描述了TensorFlow训练神经网络的每个步骤的含义,强调了TensorFlow在简化神经网络训练过程中的重要性。原创 2024-05-20 20:13:52 · 875 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W1:(选修)2.13 如何高效实施神经网络 & 2.14 矩阵乘法 & 2.15 矩阵乘法规则 & 矩阵乘法代码
首先把X,W,B都转化成二维数组,然后for循环的内容用nump的matmul矩阵乘法表示,最终激活值也是一个1行3列的二维数组。a的转置乘W第一列,作为Z的第一个元素。a的转置乘W的第二列,作为Z的第二个元素。计算第一层的激活值,使用for循环计算每个神经元的激活值,最终输出3个激活值。新矩阵的行数对应第一个矩阵的行数。新矩阵的列数对应第二个矩阵的列数。矩阵Z的第一行第一列的点,对应A转置第一行与W第一列的点积,11。看到矩阵,就想想列。看到矩阵的转置,就想想行。第一个矩阵的列数等于第二个矩阵的行数。原创 2024-05-19 10:16:23 · 936 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W1:2.12 是否有路通向AGI(通用人工智能)
如果你重新连接动物大脑,切断耳朵与听觉皮层之间的连接,而是将图像输入到听觉皮层,听觉皮层会学会“看”。我不知道大脑是否真的是一种或几种算法,即使是,也没有人知道这个算法是什么,但我仍然怀抱希望,也许通过大量的努力,有一天能发现它的近似解。一系列这样的实验表明,大脑的许多不同部分只需根据输入的数据就可以学习看到、感觉到或听到,好像存在一个算法,根据输入的数据学习相应的处理方式。如果能模拟人类大脑的神经元,就能模拟人类大脑中的其它内容,从而构建真正智能的系统,实现这种这种想法极其困难。农业或工厂的特定应用。原创 2024-05-17 16:53:37 · 911 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W1:2.10 一个单层的前向传播 & 2.11 前向传播的一般实现 & Lab03 Numpy构建神经网络
给定一个x,x表示输入层的内容,如果有4个层,则调用4次dense,并写好顺序,就等于将4个层串联在一起,实现了前向传播。过程和上个实验一致,使用原始数据集检测神经的预测,左图阴影表示神经网络对于预测出好咖啡额的样本敏感,右图表示激活值高于0.5的样本,预测结果为好咖啡。和上一个实验的预测过程一致,一个训练样本,神经网络预测出一个数,多个训练样本,神经网络会输出多个训练样本计算的激活值。功能:输入前一层激活,给定当前层数对应的w,b并设置激活函数,输出下一层的激活。:设置w,b,通过w,b计算z。原创 2024-05-16 09:37:04 · 874 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W1:实验Lab02TensorFlow构建神经网络
这些神经元之所以能根据样本筛选出样本不同的问题,并不是人为设计的功能,而是神经网络通过梯度下降自主学习得到的(也就是不同神经元获得了不同的w,b,这里是吴恩达直接给出了合适的W1,B1),这些学习到的功能与人类可能会选择用于做出相同决策的函数非常相似,表明神经网络能够模拟人类的决策过程。Unit 1:当输入样本中的持续时间较短时,这个单元的激活值会较大,颜色就会越深(阴影),此时的输入样本中的持续时间特征,属于真实数据集中持续时间短的范围,表示神经元对持续时间短的样本更敏感。查看模型优化后的w,b参数。原创 2024-05-13 11:50:58 · 1038 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W1:2.7 TensorFlow代码推理 & 2.8 TensorFlow 中的数据 & 2.9 构建一个神经网络
TensorFlow 是实现深度学习算法的领先框架之一。在构建项目时,TensorFlow是最常用的工具之一。另一个流行的工具是 PyTorch。但是在这个专业化课程中,我们将专注于 TensorFlow。原创 2024-05-11 10:34:47 · 1040 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W1:实验Lab01神经元和层
有激活函数的案例和无激活函数的案例,展示了两种不同的构建一个层的方式,一种是以Dense为主的函数式API形式创建层以及和层的操作,另一种是以Sequential为主的创建一个层的模型,以及通过模型对层的相关操作。原创 2024-05-10 11:22:49 · 1366 阅读 · 2 评论 -
吴恩达2022机器学习专项课程C2W1:2.6 推理:进行预测(前向传播)
前向传播表示神经网络中,用于从输入层到输出层传递数据并计算最终预测结果的过程。本案例是从左到右计算,x计算到a[1]到a[2]到最终输出a[3],这个过程被称为前向传播。与之相反的是反向传播(下周讲)。原创 2024-05-09 08:55:41 · 510 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W1:2.5 更复杂的神经网络
根据公式g(wx+b),这里的x对应的是上一层的输出,也就是a的上标为2,且这个参数不属于任何一个神经元,因此没有下标。除此之外,所有的上标都是3,因为第3层。所有的下标都是3,因为是第2个神经元。激活函数用于计算神经元,由于神经元输出的叫激活值,因此被称作激活函数。激活函数有很多种,逻辑回归的sigmoid函数是其中之一。你能把第二个神经元的上标和下标填写出来吗?层数有4层,不包括输入层。原创 2024-05-08 18:33:48 · 423 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W1:2.4 神经网络层
神经网络会存在很多层,每一层也存在很多神经元。每一个神经元都可以作为一个逻辑回归模型,因此每个神经元都有自己的参数w,b。区别不同的神经元参数,每个参数的下标标记数字。为了区别不同的层,每个参数的上标标记数字。每一层的激活项都是下一个层的输入特征,因此每一层的输入,上标标记上一层的层数,同时每一层的激活项,上标标记本层的层数。原创 2024-05-07 10:33:43 · 775 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C2W1:2.3 案例图像识别
本例中,第一层中查找短小的边缘,第二层中查找眼睛和鼻子等面部部位,然后在第三层中查找更完整的面部形状。第一个隐藏层的输出到第二个隐藏层,第二个隐藏层的输出到到第三层,最后到输出层,最后估计,例如这可能是某个特定人物的概率。亮度值的范围是0-255。只要输入不同的数据,神经网络就会自动学习检测不同的特征,从而完成汽车检测、人脸识别,或者判定输入是否含有某个特定事物的预测任务。构建一个人脸识别应用程序,能否训练一个神经网络,该网络以包含100万像素亮度值的特征向量为输入,并输出图片中人物的身份。原创 2024-05-06 10:48:05 · 703 阅读 · 1 评论 -
吴恩达2022机器学习专项课程C2W1:2.2 需求预测
一个神经元可以看成一个逻辑回归模型,每个神经元输出的数值称为激活项或激活值。多个神经元组合在一起为一个层,多个层组合在一起就是神经网络。层可以分为输入层,隐藏层,输出层。隐藏层可以有多个。每个层输出值的数量等同于每层神经元的数量,输出的激活值可以简化成一个向量。设计一个神经网络,要关注隐藏层数量以及隐藏层中神经元的数量,这些数量的多少影响着神经网络的性能。原创 2024-05-05 12:05:57 · 1584 阅读 · 1 评论 -
吴恩达2022机器学习专项课程C2W1:2.1神经元与大脑
神经网络最初的动机是模拟人脑或生物大脑工作,现在的神经网络与初衷的差异很大,主要关注于工程原理而不是生物学,但仍保留一些生物大脑工作方式。神经网络一般由多个神经元组成,这些神经元用于接收数据输入并计算输出结果。由于数字化时代,数据量暴增,传统机器学习模型处理数据的性能变差,因此需要构建更复杂的神经网络处理数据。原创 2024-05-04 14:51:42 · 1299 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W3:1.35 正则化成本函数&正则化线性回归&正则化逻辑回归
为了实现正则化的效果,我们可以在成本函数中添加正则化项来约束权重参数w。λ 是正则化项的关键参数,合适的 λ 可以帮助我们找到最佳的w参数,这样得到的模型既能很好地拟合数据,也能有效减少过拟合的风险。原创 2024-05-03 11:58:37 · 677 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W3:1.34 解决过拟合
解决过拟合最常用的三种方法分别是增加训练集数据,减少训练样本特征,以及使用正则化。正则化是使用最多也是效果最好的方法。原创 2024-05-01 21:04:40 · 382 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W3:1.33 过拟合
模型对训练集数据的拟合非常好,但它在新的、未见过的数据上的表现却较差。泛化代表模型对训练集之外的数据的预测能力。给定一个训练集之外的x,如果模型能很好的预测,则代表泛化能力强,反之则代表泛化能力弱。模型过拟合,就会导致模型的泛化能力弱。过拟合是逻辑回归和线性回归都会存在的问题,它虽然能够完美的拟合数据,但也导致模型的泛化能力变弱,无法预测新数据。我们最终的目的是要找到一个既不欠拟合,也不过拟合的模型。原创 2024-04-29 13:34:47 · 1192 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W3:1.32 逻辑回归的梯度下降 & 实验Lab_06逻辑回归的梯度下降
本节主要讲述了如何计算逻辑回归的梯度下降,并演示了如何用Python实现。逻辑回归和线性回归的梯度下降算法很相似,但因为它们的f(x)不同,因此也是不同的算法。原创 2024-04-28 07:59:11 · 693 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W3:1.31 逻辑回归的简化成本函数
分段写的损失函数完全等价于最终形式的损失函数,分段写的目的只是帮助理解模型预测的y,在面对不同真实的y损失的大小。当真实的y=1时,损失函数关注的是模型预测输出与1的接近程度。当真实的y=0时,损失函数关注的是模型预测输出与0的接近程度。原创 2024-04-26 14:09:20 · 904 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W3:1.30 逻辑回归的成本函数&实验Lab_04逻辑回归的损失函数
面对分类问题的训练集,需要对数损失函数来衡量每组训练样本的预测值和真实值的差异。差异的具体含义是y=1时,预测y为1的概率的大小。或者y=0时,预测y为0的概率的大小。损失函数是用于衡量单个训练样本,成本函数是衡量整个训练集,也就是累加损失函数的值,然后乘以m/1。如果逻辑回归模型使用平方误差成本函数计算,则成本函数会呈现局部最小值等特点,梯度下降算法可能无法有效地找到全局最优解。原创 2024-04-25 15:05:01 · 1327 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W3:1.29 决策边界&实验Lab_03决策边界
决策边界,就是通过sigmoid函数,反推出一个方程w*x+b,然后将这个方程可视化,检测是否能够将当前数据集的数据分好类。决策边界并不总是直线或线条,如果我们改变w,b,它的直线位置就有可能改变,如果增加x多项式,则它的形状就会从直线变成线条,如果增加x数量,则它的形状就变为平面或超平面。本节课的所有内容,都是假设已经计算出合适的w,b,基于w,b,我们才能构建出决策边界,然后才能通过决策边界看看有没有很好的将数据分类。原创 2024-04-24 15:19:39 · 1228 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W3:1.28 动机&实验Lab_01使用逻辑回归进行分类
面对二分类问题,如果使用线性回归解决,在阈值选对的情况下,可能有效果。但如果二分类的数据集较为复杂,则线性回归的预测就会出现偏差,此时应该使用逻辑回归解决二分类。我们不会直接靠预测结果分类,而是设置一个阈值,然后将预测结果和阈值比较,进而将预测结果分类。本节课程演示的全是一个特征的分类,吴恩达教授只是想通过简单的例子,让大家看到线性回归用于解决分类问题的局限性。原创 2024-04-19 09:13:24 · 880 阅读 · 5 评论 -
吴恩达2022机器学习专项课程C1W2:作业实践线性回归
通过实现一元线性回归,我们预测了不同人口城市下的餐厅连锁店的利润。在预测类似的问题时,我们采用线性回归模型,先了解训练集,然后通过训练集数据计算成本函数和梯度下降,然后我们为梯度下降设置迭代次数,得到最优的w,b。通过w,b,我们就可以代入线性回归公式预测了。原创 2024-04-16 15:48:03 · 744 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W2:实验Lab_05 & Lab_06使用 scikit-learn 进行线性回归
一个用于 Python 编程语言的开源机器学习库,用于实现各种机器学习算法。SGDRegressor和LinearRegression在使用流程上相似,都是先特征缩放(Z标准化),然后初始化模型,通过模型拟合数据完成训练并得到参数w,b,最后通过公式计算或predict方法进行房价预测。原创 2024-04-15 20:12:35 · 822 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W2:实验Lab_04特征工程和多项式回归
当我们发现数据的走势为非线性,选择线性回归函数已经无法拟合数据,所以我们采用多项式回归。但是我们不能随意的设计出新特征,结合实验例子,如果数据的关系是y=1+x²,f_wb=wx²+b函数可以很好的拟合数据,而f_wb=w0x+w1x²+w2x³+b函数则不会很好的拟合数据。而在多项式回归中,特征缩放是很重要的,因为多项式特征之间的差异是很大的。原创 2024-04-13 13:08:04 · 709 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W2:1.27 特征工程 & 多项式回归
我们可以根据场景,来自己设计新的特征。特征的正确设计,可以让算法正常的执行。多项式回归就是特征工程的实例之一,它通过对原始特征派生出新的特征,来达到设计特征的目的。但是派生的新特征要保证是多次幂,否则就不是多项式回归了而是线性回归。原创 2024-04-12 13:23:05 · 861 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W2:实验Lab_03特征缩放和学习率(多元)
房子面积越大,数据点的趋势整体上升,因此面积对价格的影响最大,卧室数量和楼层对价格的影响忽上忽下,房屋年龄对价格的影响是整体下降。回到开始,当学习率为9.9e-7,成本函数一直增加,没有达到最小值。可以自己编写打印结果,更直观的查看。由于设置的迭代次数为10,我们抽取某一次来看看格式。:对每行训练样本的误差求和即可。重启内核并运行全部。原创 2024-04-11 12:35:47 · 1174 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W2:1.26 学习率的选择
学习率不是直接获取的,我们需要尝试不同的数值,通过绘制迭代次数-成本函数曲线,来检测α的值是否合适。如果曲线是波动的,一会上升一会下降,则学习率选择过大。如果曲线持续上升,则代码可能出bug(w参数的更新写成了加法)。我们需要尝试多个数值的学习率,合适的学习率会让曲线持续下降,在这些合适的学习率中选择一个最大的或比最大小一点点的学习率。原创 2024-04-10 15:44:08 · 538 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W2:1.25 检测梯度下降是否收敛
当梯度下降收敛时,意味着我们可以停止训练了。通过画出学习曲线图,我们能够直观的看到,当曲线变平时,就代表经过它对应的迭代次数时,梯度下降就可以收敛了。如果曲线有问题,我们可以从学习率过大或代码有问题两方面考虑。原创 2024-04-09 10:51:33 · 727 阅读 · 1 评论 -
吴恩达2022机器学习专项课程C1W2:1.24 特征缩放1 & 特征缩放2
在每个特征的差异较大的情况下,如果没有特征缩放,对应每个w参数的差异也很大,导致梯度下降的收敛速度变慢,影响模型的性能。如果使用特征缩放,每个w参数的尺度也一致,能使梯度下降尽快收敛。特征缩放有三种方法:最大值缩放,均值归一化,Z-score标准化。如果特征缩放后的范围过大或过小,我们都要重新缩放。如果缩放后的范围适度,则可以使用这个范围。原创 2024-04-08 12:28:28 · 757 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W2:实验Lab_02多元线性回归
里面的计算可以形象化为: [w1 - (alpha * dj_dw[0]), w2 - (alpha * dj_dw2[1])…第二张图细化了第一张图的直线部分,注意Y轴,迭代一开始,成本函数696开始缓慢下降,下降幅度变小。这里的w是向量化操作,w的第一个元素减去α乘以dj_dw的第一个元素,然后更新到w的第一个元素。执行梯度下降计算出w,b,使用w,b,通过训练集计算预测,发现与训练集的真实数据误差较大。第一张图,迭代一开始,注意Y轴,成本函数的值就迅速降到750以下,。打印两个数组的形状和数据。原创 2024-04-07 12:54:35 · 764 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W2:1.23 多元线性回归的梯度下降
多元线性回归和单元线性回归的公式很相似,需要注意的是,单元线性回归只更新一个w,而多元线性回归需要更新多个w。计算w的导数项过程中,单元线性回归只会乘以不同行的一列特征,而多元线性回归会根据更新的w,乘以不同行里对应w的多列特征,例如w1对应第一列,w2对应第二列。原创 2024-04-06 12:14:09 · 899 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W2:1.22 向量化(1)& 5.3 向量化(2)
向量化既可以减少代码量,增加代码的可读性和维护性,同时底层会调用GPU计算,提高代码运行速度和效率。在Python中,我们会经常使用Numpy库的方法,例如np.array,np.dot,避免显式的循环,直接对数组进行数学和逻辑操作,来达到向量化的效果。原创 2024-04-05 13:05:12 · 713 阅读 · 0 评论 -
吴恩达2022机器学习专项课程C1W2:1.21 多元特征回归
多元特征回归是线性回归的一种,它由原来的一个输入特征变成多个输入特征,但是最终预测结果还是只有一个。我们可以使用点积法,来简化多元特征回归的函数表达形式。原创 2024-04-04 10:46:46 · 842 阅读 · 0 评论