吴恩达机器学习笔记
文章平均质量分 87
吴恩达机器学习笔记
浊酒南街
纵使疾风起,人生不言弃。
展开
-
吴恩达机器学习笔记:第 10 周-19总结(Conclusion) 19.1
欢迎来到《机器学习》课的最后一段视频。我们已经一起学习很长一段时间了。在最后这段视频中,我想快速地回顾一下这门课的主要内容,然后简单说几句想说的话。作为这门课的结束时间,那么我们学到了些什么呢?在这门课中,我们花了大量的时间介绍了诸如线性回归、逻辑回归、神经网络、支持向量机等等一些监督学习算法,这类算法具有带标签的数据和样本,比如𝑥(𝑖)、𝑦(𝑖)。然后我们也花了很多时间介绍无监督学习。例如 K-均值聚类、用于降维的主成分分析,以及当你只有一系列无标签数据 𝑥(𝑖) 时的异常检测算法。原创 2024-05-13 11:07:44 · 378 阅读 · 0 评论 -
吴恩达机器学习笔记:第 10 周-18应用实例:图片文字识别(Application Example: Photo OCR)18.3-18.4
如果我们的模型是低方差的,那么获得更多的数据用于训练模型,是能够有更好的效果的。问题在于,我们怎样获得数据,数据不总是可以直接获得的,我们有可能需要人工地创造一些数据。以我们的文字识别应用为例,我们可以字体网站下载各种字体,然后利用这些不同的字体配上各种不同的随机背景图片创造出一些用于训练的实例,这让我们能够获得一个无限大的训练集。这是从零开始创造实例。另一种方法是,利用已有的数据,然后对其进行修改,例如将已有的字符图片进行一些扭曲、旋转、模糊处理。原创 2024-05-11 10:23:12 · 292 阅读 · 0 评论 -
吴恩达机器学习笔记:第 10 周-18应用实例:图片文字识别(Application Example: Photo OCR)18.1-18.2
然后我们用之前训练识别行人的模型时所采用的图片尺寸在我们要进行行人识别的图片上进行剪裁,然后将剪裁得到的切片交给模型,让模型判断是否为行人,然后在图片上滑动剪裁区域重新进行剪裁,将新剪裁的切片也交给模型进行判断,如此循环直至将图片全部检测完。滑动窗口技术也被用于文字识别,首先训练模型能够区分字符与非字符,然后,运用滑动窗口技术识别字符,一旦完成了字符的识别,我们将识别得出的区域进行一些扩展,然后将重叠的区域进行合并。下图中绿色的区域是经过这些步骤后被认为是文字的区域,而红色的区域是被忽略的。原创 2024-05-11 09:52:55 · 522 阅读 · 0 评论 -
吴恩达机器学习笔记:第 10 周-17大规模机器学习(Large Scale Machine Learning)17.5-17.6
这就是在线学习机制,然后就像我们所看到的,我们所使用的这个算法与随机梯度下降算法非常类似,唯一的区别的是,我们不会使用一个固定的数据集,我们会做的是获取一个用户样本,从那个样本中学习,然后丢弃那个样本并继续下去,而且如果你对某一种应用有一个连续的数据流,这样的算法可能会非常值得考虑。当然,在线学习的一个优点就是,如果你有一个变化的用户群,又或者你在尝试预测的事情,在缓慢变化,就像你的用户的品味在缓慢变化,这个在线学习算法,可以慢慢地调试你所学习到的假设,将其调节更新到最新的用户行为。原创 2024-05-10 16:57:22 · 583 阅读 · 0 评论 -
吴恩达机器学习笔记:第 10 周-17大规模机器学习(Large Scale Machine Learning)17.3-17.4
总结下,这段视频中,我们介绍了一种方法,近似地监测出随机梯度下降算法在最优化代价函数中的表现,这种方法不需要定时地扫描整个训练集,来算出整个样本集的代价函数,而是只需要每次对最后 1000 个,或者多少个样本,求一下平均值。在随机梯度下降中,我们在每一次更新 𝜃 之前都计算一次代价,然后每𝑥次迭代后,求出这𝑥次对训练实例计算代价的平均值,然后绘制这些平均值与𝑥次迭代的次数之间的函数图表。在批量梯度下降中,我们可以令代价函数𝐽为迭代次数的函数,绘制图表,根据图表来判断梯度下降是否收敛。原创 2024-05-09 15:12:09 · 1092 阅读 · 0 评论 -
吴恩达机器学习笔记:第 10 周-17大规模机器学习(Large Scale Machine Learning)17.1-17.2
以线性回归模型为例,每一次梯度下降迭代,我们都需要计算训练集的误差的平方和,如果我们的学习算法需要有 20 次迭代,这便已经是非常大的计算代价。首先应该做的事是去检查一个这么大规模的训练集是否真的必要,也许我们只用 1000个训练集也能获得较好的效果,我们可以绘制学习曲线来帮助判断。如果我们有一个低方差的模型,增加数据集的规模可以帮助你获得更好的结果。原创 2024-05-09 11:46:50 · 358 阅读 · 0 评论 -
吴恩达机器学习笔记:第 9 周-16推荐系统(Recommender Systems) 16.5-16.6
很小,那就能很有力地表明电影𝑖和电影 𝑗 在某种程度上有相似,至少在某种意义上,某些人喜欢电影 𝑖,或许更有可能也对电影𝑗 感兴趣。总结一下,当用户在看某部电影 𝑖 的时候,如果你想找 5 部与电影非常相似的电影,为了能给用户推荐 5 部新电影,你需要做的是找出电影 𝑗,在这些不同的电影中与我们要找的电影 𝑖 的距离最小,这样你就能给你的用户推荐几部不同的电影了。我们有关于五部电影的数据集,我将要做的是,将这些用户的电影评分,进行分组并存到一个矩阵中。原创 2024-05-08 16:46:54 · 522 阅读 · 0 评论 -
吴恩达机器学习笔记:第 9 周-16推荐系统(Recommender Systems) 16.3-16.4
在之前的基于内容的推荐系统中,对于每一部电影,我们都掌握了可用的特征,使用这些特征训练出了每一个用户的参数。相反地,如果我们拥有用户的参数,我们可以学习得出电影的特征。但是如果我们既没有用户的参数,也没有电影的特征,这两种方法都不可行了。协同过滤算法可以同时学习这两者。注:在协同过滤从算法中,我们通常不使用方差项,如果需要的话,算法会自动学得。我们的优化目标便改为同时针对𝑥和𝜃进行。,依据两部电影的特征向量之间的距离∥∥。例如,如果一位用户正在观看电影。,我们可以寻找另一部电影。原创 2024-05-08 14:24:40 · 956 阅读 · 0 评论 -
吴恩达机器学习笔记:第 9 周-16推荐系统(Recommender Systems) 16.1-16.2
在过去几年,我偶尔访问硅谷不同的技术公司,我常和工作在这儿致力于机器学习应用的人们聊天,我常问他们,最重要的机器学习的应用是什么,或者,你最想改进的机器学习应用有哪些。还有很多其它的,但是通过推荐系统,我们将领略一小部分特征学习的思想,至少,你将能够了解到这方面的一个例子,我认为,机器学习中的大思想也是这样。推荐系统是个有趣的问题,在学术机器学习中因此,我们可以去参加一个学术机器学习会议,推荐系统问题实际上受到很少的关注,或者,至少在学术界它占了很小的份额。在接下来的视频中,我想讲一下推荐系统。原创 2024-05-07 19:24:20 · 852 阅读 · 0 评论 -
吴恩达机器学习笔记:第 9 周-15 异常检测(Anomaly Detection) 15.7-15.8
多元高斯分布将创建像图中蓝色曲线所示的判定边界。其原因在于,一般的高斯分布模型尝试的是去同时抓住两个特征的偏差,因此创造出一个比较大的判定边界。在一般的高斯分布模型中,我们计算 𝑝(𝑥) 的方法是: 通过分别计算每个特征对应的几率然后将其累乘起来,在多元高斯分布模型中,我们将构建特征的协方差矩阵,用所有的特征一起来计算 𝑝(𝑥)。可以证明的是,原本的高斯分布模型是多元高斯分布模型的一个子集,即像上图中的第1、2、3,3 个例子所示原创 2024-05-06 11:28:01 · 609 阅读 · 0 评论 -
吴恩达机器学习笔记:第 9 周-15 异常检测(Anomaly Detection) 15.5-15.6
另外,对于很多技术公司可能会遇到的一些问题,通常来说,正样本的数量很少,甚至有时候是 0,也就是说,出现了太多没见过的不同的异常类型,那么对于这些问题,通常应该使用的算法就是异常检测算法。同时也介绍了建立特征时,进行的误差分析方法,来捕捉各种异常的可能。我们通常可以通过将一些相关的特征进行组合,来获得一些新的更好的特征(异常数据的该特征值异常地大或小),例如,在检测数据中心的计算机状况的例子中,我们可以用 CPU负载与网络通信量的比例作为一个新的特征,如果该值异常地大,便有可能意味着该服务器。原创 2024-04-30 16:19:52 · 480 阅读 · 0 评论 -
吴恩达机器学习笔记:第 9 周-15 异常检测(Anomaly Detection) 15.3-15.4
在这段视频中,我们介绍了如何拟合𝑝(𝑥),也就是 𝑥的概率值,以开发出一种异常检测算法。同时,在这节课中,我们也给出了通过给出的数据集拟合参数,进行参数估计,得到参数 𝜇 和 𝜎,然后检测新的样本,确定新样本是否是异常。我们选择一个𝜀,将𝑝(𝑥) = 𝜀作为我们的判定边界,当𝑝(𝑥) > 𝜀时预测数据为正常数据,否则为异常。在接下来的课程中,我们将深入研究这一算法,同时更深入地介绍,怎样让算法工作地更加有效。在本节视频中,我将应用高斯分布开发异常检测算法。原创 2024-04-30 15:41:13 · 657 阅读 · 0 评论 -
吴恩达机器学习笔记:第 9 周-15 异常检测(Anomaly Detection) 15.1-15.2
例如在线采集而来的有关用户的数据,一个特征向量中可能会包含如:用户多久登录一次,访问过的页面,在论坛发布的帖子数量,甚至是打字速度等。假想你是一个飞机引擎制造商,当你生产的飞机引擎从生产线上流出时,你需要进行QA(质量控制测试),而作为这个测试的一部分,你测量了飞机引擎的一些特征变量,比如引擎运转时产生的热量,或者引擎的振动等等。再一个例子是检测一个数据中心,特征可能包含:内存使用情况,被访问的磁盘数量,CPU 的负载,网络的通信量等。,我们假使数据集是正常的,我们希望知道新的数据。原创 2024-04-30 11:31:04 · 832 阅读 · 0 评论 -
吴恩达机器学习笔记:第 8 周-14降维(Dimensionality Reduction) 14.6-14.7
所以,给定未标记的数据集,您现在知道如何应用 PCA,你的带高维特征𝑥和映射到这的低维表示𝑧。这个视频,希望你现在也知道如何采取这些低维表示𝑧,映射到备份到一个近似你原有的高维数据。所以,如果这是一个压缩算法,应该能回到这个压缩表示,回到你原有的高维数据的一种近似。我们得到的数据的一个之间你的原始数据 𝑥,我们也把这个过程称为重建原始数据。现在你知道如何实施应用 PCA,我们将要做的事是谈论一些技术在实际使用 PCA 很好,特别是,在接下来的视频中,我想谈一谈关于如何选择𝑘。原创 2024-04-29 19:29:55 · 1028 阅读 · 0 评论 -
吴恩达机器学习笔记:第 8 周-14降维(Dimensionality Reduction) 14.3-14.5
PCA 技术的一大好处是对数据进行降维的处理。我们可以对新求出的“主元”向量的重要性进行排序,根据需要取前面最重要的部分,将后面的维数省去,可以达到降维从而简化模型或是对数据进行压缩的效果。PCA 技术的一个很大的优点是,它是完全无参数限制的。在 PCA 的计算过程中完全不需要人为的设定参数或是根据任何经验模型对计算进行干预,最后的结果只与数据相关,与用户是独立的。如果用户对观测对象有一定的先验知识,掌握了数据的一些特征,却无法通过参数化等方法对处理过程进行干预,可能会得不到预期的效果,效率也不高。原创 2024-04-28 11:45:32 · 688 阅读 · 0 评论 -
吴恩达机器学习笔记:第 8 周-14降维(Dimensionality Reduction) 14.1-14.2
有时可能有几个不同的工程团队,也许一个工程队给你二百个特征,第二工程队给你另外三百个的特征,第三工程队给你五百个特征,一千多个特征都在一起,它实际上会变得非常困难,去跟踪你知道的那些特征,你从那些工程队得到的。将数据从二维降至一维: 假使我们要采用两种不同的仪器来测量一些东西的尺寸,其中一个仪器测量结果的单位是英寸,另一个仪器测量的结果是厘米,我们希望将测量的结果作为我们机器学习的特征。过程是与上面类似的,我们将三维向量投射到一个二维的平面上,强迫使得所有的数据都在同一个平面上,降至二维的特征向量。原创 2024-04-26 17:23:39 · 343 阅读 · 0 评论 -
吴恩达机器学习笔记:第 8 周-13 聚类(Clustering)13.3-13.5
迭代的过程一定会是每一次迭代都在减小代价函数,不然便是出现了错误。回顾刚才给出的: K-均值迭代算法,我们知道,第一个循环是用于减小。我们的的优化目标便是找出使得代价函数最小的。引起的代价,而第二个循环则是用于减小。原创 2024-04-23 15:17:41 · 1299 阅读 · 0 评论 -
吴恩达机器学习笔记:第 8 周-13 聚类(Clustering)13.1-13.2
在这个视频中,我将开始介绍聚类算法。这将是一个激动人心的时刻,因为这是我们学习的第一个非监督学习算法。我们将要让计算机学习无标签数据,而不是此前的标签数据。那么,什么是非监督学习呢?在课程的一开始,我曾简单地介绍过非监督学习,然而,我们还是有必要将其与监督学习做一下比较。在一个典型的监督学习中,我们有一个有标签的训练集,我们的目标是找到能够区分正样本和负样本的决策边界,在这里的监督学习中,我们有一系列标签,我们需要据此拟合一个假设函数。原创 2024-04-18 14:40:22 · 682 阅读 · 0 评论 -
吴恩达机器学习笔记:第 7 周-12支持向量机(Support Vector Machines)12.4-12.6
因此ℎ𝜃(𝑥) = θ_0 + θ_1f_1 + θ_2f_2 +θ_3f_3 > 0,因此预测𝑦 = 1。同理可以求出,对于离l^{(2)}$较近的绿色点,也预测𝑦 = 1,但是对于蓝绿色的点,因为其离三个地标都较远,预测𝑦 = 0。这样,图中红色的封闭曲线所表示的范围,便是我们依据一个单一的训练实例和我们选取的地标所得出的判定边界,在预测时,我们采用的特征不是训练实例本身的特征,而是通过核函数计算出的新特征。原创 2024-04-15 15:58:40 · 1139 阅读 · 0 评论 -
吴恩达机器学习笔记:第 7 周-12支持向量机(Support Vector Machines)12.1-12.3
你知道,就是第一项和第二项我们依照惯例使用一个不同的参数称为𝐶,同时改为优化目标,𝐶 × 𝐴 + 𝐵因此,在逻辑回归中,如果给定𝜆,一个非常大的值,意味着给予 B 更大的权重。首先,我们要除去1/𝑚这一项,当然,这仅仅是由于人们使用支持向量机时,对比于逻辑回归而言,不同的习惯所致,但这里我所说的意思是:你知道,我将要做的是仅仅除去1/𝑚这一项,但是,这也会得出同样的 𝜃 最优值,好的,因为1/𝑚 仅是个常量,因此,你知道在这个最小化问题中,无论前面是否有1/𝑚 这一项原创 2024-04-08 19:54:51 · 827 阅读 · 0 评论 -
吴恩达机器学习笔记:第 6 周-11机器学习系统的设计(Machine Learning System Design)11.1-11.5
因此,不要担心你的算法太简单,或者太不完美,而是尽可能快地实现你的算法。另一件事是:假设你有了一个快速而不完美的算法实现,又有一个数值的评估数据,这会帮助你尝试新的想法,快速地发现你尝试的这些想法是否能够提高算法的表现,从而你会更快地做出决定,在算法中放弃什么,吸收什么误差分析可以帮助我们系统化地选择该做什么。因此,当你在构造学习算法的时候,你总是会去尝试很多新的想法,实现出很多版本的学习算法,如果每一次你实践新想法的时候,你都要手动地检测这些例子,去看看是表现差还是表现好,那么这很难让你做出决定。原创 2024-04-02 14:27:29 · 1017 阅读 · 0 评论 -
吴恩达机器学习笔记:第 6 周-10 应 用 机 器 学 习 的 建 议 (Advice for Applying Machine Learning)10.4-10.7
当你运行一个学习算法时,如果这个算法的表现不理想,那么多半是出现两种情况:要么是偏差比较大,要么是方差比较大。在这段视频中,我想更深入地探讨一下有关偏差和方差的问题,希望你能对它们有一个更深入的理解,并且也能弄清楚怎样评价一个学习算法,能够判断一个算法是偏差还是方差有问题,因为这个问题对于弄清如何改进学习算法的效果非常重要,高偏差和高方差的问题基本上来说是欠拟合和过拟合的问题。但是随着 𝑑 的增长,误差呈现先减小后增大的趋势,转折点是我们的模型开始过拟合训练数据集的时候。原创 2024-03-29 16:05:07 · 496 阅读 · 0 评论 -
吴恩达机器学习笔记:第 6 周-10 应 用 机 器 学 习 的 建 议 (Advice for Applying Machine Learning)10.1-10.3
幸运的是,有一系列简单的方法能让你事半功倍,排除掉单子上的至少一半的方法,留下那些确实有前途的方法,同时也有一种很简单的方法,只要你使用,就能很轻松地排除掉很多选择,从而为你节省大量不必要花费的时间。在这一系列的视频中我们将介绍具体的诊断法,但我要提前说明一点的是,这些诊断法的执行和实现,是需要花些时间的,有时候确实需要花很多时间来理解和实现,但这样做的确是把时间用在了刀刃上,因为这些方法让你在开发学习算法时,节省了几个月的时间,因此,在接下来几节课中,我将先来介绍如何评价你的学习算法。原创 2024-03-27 18:25:35 · 597 阅读 · 0 评论 -
机器学习相关概念及术语总结
再比如垃圾邮件筛选器,经验E就是程序从垃圾邮件成千上万次的自我练习的经验而任务是当邮件过来时,给邮件分类是正常邮件还是垃圾邮件,性能P就是对垃圾邮件正确分类的准确率;与监督学习不同,无监督学习不需要已知输出的训练数据,而是通过对数据进行聚类、降维、关联规则挖掘等技术来发现数据中的隐藏结构和模式。监督学习是机器学习的一种方法,它使用已知输入和对应的输出数据来训练模型,以便模型能够预测新的输入数据对应的输出。在监督学习中,训练数据包括输入特征和目标输出,模型通过学习输入和输出之间的关系来进行预测。原创 2024-03-01 16:39:37 · 604 阅读 · 0 评论 -
吴恩达机器学习笔记:第5周-9 神经网络的学习(Neural Networks: Learning)9.4-9.8
并且,类似的,这一条白亮的区段显示的就是神经网络在这里选择的行驶方向,是稍微的左转,并且实际上在神经网络开始学习之前,你会看到网络的输出是一条灰色的区段,就像这样的一条灰色区段覆盖着整个区域这些均称的灰色区域,显示出神经网络已经随机初始化了,并且初始化时,我们并不知道汽车如何行驶,或者说我们并不知道所选行驶方向。显示出一个具体的行驶方向这就表示神经网络算法,在这时候已经选出了一个明确的行驶方向,不像刚开始的时候,输出一段模糊的浅灰色区域,而是输出一条白亮的区段,表示已经选出了明确的行驶方向。原创 2024-03-05 11:35:55 · 1298 阅读 · 0 评论 -
吴恩达机器学习笔记:第5周-9 神经网络的学习(Neural Networks: Learning)9.1-9.3
这个看起来复杂很多的代价函数背后的思想还是一样的,我们希望通过代价函数来观察算法预测的结果与真实情况的误差有多大,唯一不同的是,对于每一行特征,我们都会给出𝐾个预测,基本上我们可以利用循环,对每一行特征都预测𝐾个不同结果,然后在利用循环在𝐾个预测中选择可能性最高的一个,将其与𝑦中的实际数据进行比较。后,每一层的𝜃 矩阵的和。假设神经网络的训练样本有𝑚个,每个包含一组输入𝑥和一组输出信号𝑦,𝐿表示神经网络层数,𝑆𝐼表示每层的 neuron 个数(𝑆𝑙表示输出层神经元个数),原创 2024-03-01 15:55:54 · 999 阅读 · 0 评论 -
吴恩达机器学习笔记:第4周-8 神经网络:表述(Neural Networks: Representation)8.1-8.4
我们之前学的,无论是线性回归还是逻辑回归都有这样一个缺点,即:当特征太多时,计算的负荷会非常大。原创 2023-10-24 16:29:35 · 107 阅读 · 0 评论 -
吴恩达机器学习笔记:第3周-7 正则化(Regularization)7.1-7.4
从之前的事例中看出,正是那些高次项导致了过拟合的产生,如果我们能让这些高次项的系数接近于 0 的话,我们就能很好的拟合了。通过这样的代价函数选择出的𝜃3和𝜃4 对预测结果的影响就比之前要小许多,假如我们有非常多的特征,我们并不知道其中哪些特征我们要惩罚,我们将对所有的特征进行惩罚,并且让代价函数最优化的软件来选择这些惩罚的程度。过拟合:当变量过多时,训练出来的假设能很好地拟合训练集,所以代价函数实际上可能非常接近于0,但得到的曲线为了千方百计的拟合数据集,导致它无法泛化到新的样本中,无法预测新样本数据。原创 2023-10-23 19:56:23 · 174 阅读 · 0 评论 -
吴恩达机器学习笔记:第3周-6 逻辑回归(Logistic Regression)6.1-6.7
在分类问题中,你要预测的变量 𝑦 是离散的值,我们将学习一种叫做逻辑回归 (Logistic Regression) 的算法,这是目前最流行使用最广泛的一种学习算法。原创 2023-10-23 17:02:00 · 175 阅读 · 0 评论 -
吴恩达机器学习笔记:第2周-4 多变量线性回归(Linear Regression with Multiple Variables)4.1-4.6
总结一下,只要特征变量的数目并不大,标准方程是一个很好的计算参数𝜃的替代方法。具体地说,只要特征变量数量小于一万,我通常使用标准方程法,而不使用梯度下降法原创 2023-10-20 17:18:22 · 108 阅读 · 0 评论 -
吴恩达机器学习笔记:第1周-3 线性代数回顾(Linear Algebra Review)3.1-3.4
如图:这个是 4×2 矩阵,即 4 行 2 列,如𝑚为行,𝑛为列,那么𝑚 × 𝑛即 4×2原创 2023-10-13 10:23:40 · 99 阅读 · 0 评论 -
吴恩达机器学习笔记:第1周-2 单变量线性回归(Linear Regression with One Variable)2.1-2.4
我们的第一个学习算法是线性回归算法。在这段视频中,你会看到这个算法的概况,更重要的是你将会了解监督学习过程完整的流程。原创 2023-10-12 17:22:22 · 110 阅读 · 0 评论 -
吴恩达机器学习笔记:第1周-1 引言(Introduction)1.1-1.4
机器学习是目前信息技术中最激动人心的方向之一。在这门课中,你将学习到这门技术的前沿,并可以自己实现学习机器学习的算法。原创 2023-10-10 17:19:30 · 140 阅读 · 0 评论