10:25:00 在本节中,视频讨论了使用激活函数将模型的原始 logits 转换为预测概率,然后将其转换为预测标签的过程。这些步骤通过一些代码进行演示,其中 y-pred 是使用完整步骤从 y-pred 探针创建的,包括预测、logits 到 pred 探针到 pred 标签。将模型的预测与测试标签进行比较,并使用挤压功能创建相同的格式。下一步是建立一个训练和测试循环,包括进行前向传播、计算损失和优化梯度。该视频鼓励观看者在继续观看下一个视频以获取进一步说明之前自行尝试此操作。
10:30:00 在本节中,讲师设置了可重复性的手动种子,特别是用于在 CUDA 设备上操作的 CUDA 随机种子。然后他们继续将数据放在目标设备上并构建训练和评估循环。讲师在前向传递中强调了一个小花絮,其中输出原始对数并且必须通过 torch.round 和 torch.sigmoid 将它们转换为预测概率和标签。最后,他们计算损失和准确度,并指出虽然计算准确度不是必需的,但在模型训练时可视化不同的指标可能很有用。
11:25:00 在 PyTorch for Deep Learning & Machine Learning 课程的这一部分,讲师讨论了模型不工作时的故障排除技术,例如测试一个较小的问题以查看模型是否可以学习任何东西。他建议复制上一节中线性模型能够拟合直线的数据集,并使用它来查看当前模型是否可以学到任何东西,因为它目前只是猜测,无法绘制直线来分隔循环数据。讲师还提到一些改进模型的方法包括更改超参数,例如层数和隐藏单元数,以及更改激活函数和损失函数。
11:30:00 在本节中,讲师使用线性回归公式创建一个数据集,以查看该模型是否适用于任何类型的问题。该数据集称为 x 回归,每个 y 值包含一个 x 值的 100 个样本。然后,教师为数据创建训练和测试拆分并检查它们的长度。最后,辅助函数文件中的绘图预测函数用于直观地检查数据。
11:35:00 在本节中,演示者讨论了一个辅助项目,以查看他们的模型是否可以在尝试拟合非直线数据集之前拟合直线数据集。他们调整模型 1 以适应新数据集,方法是将输入特征的数量从两个更改为一个以匹配数据,同时将输出特征保持在 10 个,以便为模型提供尽可能多的参数。他们还使用 NN 点顺序创建模型 2,它通过层传递数据,并设置损失和优化器函数。
11:45:00 在视频的这一部分中,讲师回顾了上一节,他们创建了一个直线数据集并训练了一个模型来拟合它。他们确认该模型正在学习一些东西,并建议学习者尝试使用不同的学习率值来试验机器学习模型。然后讲师继续解释如何打开评估模式并进行预测,这也称为推理。他们还教授如何使用绘图预测功能并遇到由于数据与模型不在同一设备上而导致的错误,他们通过在张量输入上调用 dot CPU 来解决这个问题。
11:55:00 在本节中,讲师讨论非线性在机器学习和神经网络中的作用。非线性在机器学习中是必不可少的,因为数据并不总是由直线组成。然后,讲师演示如何使用 make circles 函数创建和绘制非线性数据,以及如何使用 PyTorch 和 sklearn 中的训练测试拆分函数将数据转换为时态以及训练和测试拆分。
第 13 部分
12:00:00 在本节中,PyTorch for Deep Learning & Machine Learning 课程的讲师介绍了非线性,这是构建模型的重要组成部分。讲师要求观众在 TorchNN 模块中找到一个特定的非线性函数,其中可以包括池化层、填充层和激活函数,以对输入执行一些数学运算。提供了非线性激活的示例,例如 n 点 sigmoid 和 n 点 relu。然后,讲师演示了如何使用 PyTorch 使用非线性构建分类模型。非线性意味着图形不是直线,而线性则相反。
12:05:00 在 PyTorch for Deep Learning & Machine Learning 课程的这一部分,讲师介绍了非线性数据的概念以及神经网络和机器学习模型如何处理数百个维度的数字,使它们更容易处理非线性数据。一个新的神经网络,圆形模型 V2,是使用带有构造函数的类和多个执行线性操作的层创建的,并添加了称为“relu”的非线性激活函数。此函数将模型的负输入变为零,同时将正输入保持原样。然后将新模型传递给 sigmoid 函数以确定输出。
20:05:00 在本节中,讲师解释了为 PyTorch 下载和准备图像数据集的过程。数据集包括披萨、牛排和寿司的图像,这些图像存储在名为 data 的文件夹中。讲师使用Python requests库下载数据,然后解压到data文件夹中。本节的目的是演示如何将图像数据加载到 PyTorch 中,可以应用于任何类似的项目。讲师强调了拥有单独的数据目录的重要性,该目录可以位于本地计算机或云中。
20:10:00 在本节中,讲师将介绍如何使用 Python 库 zipfile 从 zip 文件中提取数据。他们使用提取包含比萨饼、牛排和寿司图像的 zip 文件的示例来解决机器学习计算机视觉问题。讲师演示了如何使用 zipfile.extractall() 方法将 zip 文件的内容提取到特定文件路径。他们还解决了因从 GitHub 复制错误链接地址而导致的代码错误,强调了确保使用正确链接下载数据集的重要性。总的来说,显示的过程可用于下载和提取任何自定义数据集以在 PyTorch 中使用。下一个视频将进一步探索数据。
20:15:00 在本节中,讲师讨论了通过数据准备和探索与数据融为一体的重要性。他分享了 Abraham 损失函数的虚构引用,强调需要花费大量时间准备数据集。然后,讲师遍历下载的样本数据的每个目录,这些数据采用标准图像分类格式。他使用操作系统的 dot walk 功能为每个目录生成一个目录树,显示每个目录中存在的目录和图像的信息。最后,讲师设置训练和测试部分,并为它们演示标准图像分类设置。
21:40:00 在视频的这一部分,讲师解释了如何通过对 torch.utils.data.dataset 进行子类化来创建自定义数据集。数据集应该表示从键到数据样本的映射,其中键指的是目标或标签,在这种情况下数据样本是食物图像。子类应该覆盖 get item 方法,该方法为给定键获取数据样本,并可选择覆盖 len 方法以返回数据集的大小。讲师将逐步介绍构建自定义数据集的步骤,并解释如何使用我们在上一节中创建的辅助函数将类名映射到整数。
21:45:00 在本节中,讲师解释了如何在 PyTorch 中创建自定义数据集。为此,我们需要子类化 torch.utils.data.Dataset 类并通过传递目标目录(数据所在的位置)和转换(以执行任何数据转换)来初始化我们的自定义数据集。此外,我们需要为 ID X 创建几个属性,例如路径、转换、类和类。此外,我们需要创建一个函数来加载图像,重写 LAN 方法以返回数据集的长度,以及获取item 方法在传递索引时返回给定的样本。最后,我们通过实现 pathlib 并传递目标目录(如测试或训练目录)来编写自定义数据集。
22:05:00 在 PyTorch for Deep Learning and Machine Learning 完整课程的这一部分中,讲师演示了如何通过将类与 ID 进行比较来检查原始图像文件夹数据集和他在上一节中创建的自定义数据集之间的相等性两个数据集的 X。他确认我们可以通过创建我们自己的自定义数据集加载函数来复制图像文件夹数据集类的主要功能,从中得出的结论是 PyTorch 提供了一个可继承的基数据集类,只要我们覆盖土地和获取项目方法并返回某种值,我们可以创建自己的数据集加载函数。讲师继续解释如何创建一个函数来显示来自训练数据自定义类的随机图像,以可视化我们的数据。
22:10:00 在本节中,讲师将逐步介绍创建名为“显示随机图像”的函数的步骤,该函数将“数据集”、“类”和“n”作为参数。该函数显示从数据集中随机选择的 n 个图像,如果“显示形状”设置为真,则打印出其形状。讲师还介绍了实施细节,例如在 n 大于 10 时调整显示以及设置随机种子以实现再现性。此外,该函数循环遍历随机样本图像或索引,并使用 Matplotlib 绘制它们。
24:00:00 在 PyTorch for Deep Learning & Machine Learning 课程的这一部分,讲师讨论了损失曲线及其在评估模型随时间的性能方面的重要性。损失曲线应显示损失随时间减少和准确性增加的趋势。有不同形式的损失曲线,理想的损失曲线表明训练和测试损失以相似的速率减少。当模型的损失可能较低时会发生欠拟合,而当模型对训练数据的学习太好时会发生过度拟合,从而导致训练损失低于测试损失。讲师提供来自 Google 损失曲线指南的额外课程,并讨论解决过度拟合的方法,例如正则化技术和降低模型复杂性。
00:00:00 - 01:00:00 在此 YouTube 视频中,讲师介绍了无黑盒机器学习课程,教授如何在不依赖库的情况下在机器学习中编写代码。该课程涵盖与构建可识别绘图的 Web 应用程序相关的主题,包括数据收集、特征提取和可视化,以及实现分类器(例如最近邻和 K 最近邻)。讲师强调理解数据在机器学习中的重要性,并为那些需要复习高中数学和编程经验的人推荐资源。该视频演示了使用 JavaScript 创建一个充当数据创建者的网页的过程,无需任何外部库。演示者还包括有关如何创建撤消按钮和名称输入字段、将绘图存储在数据对象中以及将路径保存在用户计算机上的说明。最后,该视频展示了如何在 node.js 中创建数据集生成器并使用 JavaScript 生成与每个样本关联的数据。
01:00:00 - 02:00:00 在此 YouTube 视频中,讲师教观众如何在不使用库的情况下创建机器学习数据集和提取特征。他们演示了如何将数据集存储在一个文件夹中,该文件夹可以在节点脚本和 Web 应用程序之间进行通信,并创建一个数据查看器应用程序。讲师还展示了如何使用 Google 图表可视化收集的数据,以及如何识别和强调图表和列表中的选定项目。总体而言,该视频为学习者提供了仅使用 JavaScript 创建机器学习数据集和提取特征的综合指南。
02:00:00 - 03:00:00 “无黑盒机器学习课程 – 不用库学习”视频演示了如何在不使用机器学习库的情况下根据图形的特征对其进行分类。视频创作者强调了拥有快速响应系统来检查数据以避免人为错误的重要性。他们演示了如何向图表添加功能、如何隐藏背景以及如何使用带有 HTML 和 CSS 的动态容器在屏幕上显示预测标签。该视频还介绍了规范化和标准化等数据缩放技术。最后,视频展示了如何实现 K 最近邻分类器并统计 K 最近邻内每个标签的数量。
03:00:00 - 03:50:00 YouTube 视频“No Black Box Machine Learning Course - Learn Without Libraries”涵盖了与 K-最近邻分类相关的各种主题,无需使用 JavaScript 和 Python 等机器学习库。该视频介绍了如何将数据集拆分为训练集和测试集、分别处理训练和测试样本以及对数据进行归一化。讲师还讨论了决策边界在理解分类器如何运行方面的重要性,演示了如何在 JavaScript 中实现 K 最近邻 (KNN) 分类器,以及如何在不使用机器学习库的情况下生成基于像素的绘图。最后,该视频以呼吁观众探索 Python 的其他功能并反思他们到目前为止所学的内容结束。
第1部分
00:00:00 在本节中,演讲者介绍了无黑盒机器学习课程,该课程专注于不依赖库的编码。该课程涵盖了构建识别绘图的 Web 应用程序的各种主题,包括数据收集、特征提取和可视化,以及实现分类器(例如最近邻和 K 最近邻)。演讲者强调了理解数据在机器学习中的重要性,并为学生提供了一个短暂的休息时间来专注于家庭作业,同时还建议了一些资源来重温高中数学和编程经验。然后课程进入第二阶段,其中将涵盖更高级的方法,例如神经网络。还演示了构建用于数据收集的绘图应用程序的示例,其中包含撤消和保存功能。
00:20:00 在本节中,视频讲师继续构建一个没有任何外部库的绘图程序,方法是解决绘制线条的一些问题,例如拐角外观和直线末端。然后他们继续创建用于绘制多条路径的函数并将其合并到程序中。由于视口,讲师在移动设备上运行程序时遇到了一些问题,他们通过在 HTML 文件的 head 部分使用元标记来修复它。
00:25:00 在本节中,本教程的重点是通过向 HTML 代码中的视口元标记添加特定命令,使画布适合移动设备等较小的屏幕。但是,触摸的事件监听器与鼠标的事件监听器不同,因此需要修改带有触摸事件监听器的画板。为了进一步增强画布,创建了一个撤消按钮,但只有在有撤消路径时才会这样做。当画布为空时,该按钮被禁用。
01:00:00 在本节中,讲师展示了如何创建画布并使用它在画布上绘制路径,然后将其存储为图像。他们还在绘制新路径之前清除画布。生成图像文件后,导师修复了绘图应用程序中由于未在绘图 JS 中定义模块而导致的问题。他们使用将在整个课程中使用的结构,将常量分隔在另一个文件中并要求它。教师通过创建 utils 对象并添加名为 print progress 的函数,在名为 utils 的新文件中添加进度指示器。他们使用 process STD out 获取标准输出,使用格式化百分比的函数计算百分比,并将其写入标准输出以显示进度指示器。
01:05:00 在本节中,视频创作者解释了如何以浏览器可以读取的方式存储生成的数据集。他创建了一个名为“JS_objects”的文件夹,其中包含可以在节点脚本和 Web 应用程序之间进行通信的文件。创建一个“样本”JavaScript 文件,它将初始化 JS_objects 文件夹中的一个 JavaScript 对象。视频创建者还提到他将为数据集创建一个查看器应用程序,并使用基本 HTML 代码创建一个名为“viewer.html”的 HTML 文件。文件的头部分包括一个用于支持 UTF 字符的元标记和页面标题。正文部分包括一个标题为“Data Viewer”的 H1 标签和一个 ID 为“container”的 div 以保存数据集。 “示例”JavaScript 文件包含在 HTML 文件中。
01:10:00 在本节中,讲师正在创建一个表格,其中包含按学生 ID 分组的样本。为此,他们在 utils.js 文件中实现了一个“分组依据”功能,该功能按给定键对数组进行分组。然后他们将这些组记录到控制台以检查它是否正常工作。接下来,他们在一个单独的 display.js 文件中创建一个名为“create row”的函数,该函数将容器、学生姓名和样本作为参数,并创建一个行,左侧是名称,右侧是样本。他们创建一个循环来遍历每个学生 ID,调用“创建行”函数,并传入必要的参数以表格格式显示数据。
01:15:00 在本节中,讲师将展示如何动态创建一行带有标签的图像并使用 CSS 正确对齐它们。他们首先循环遍历一组图像样本,创建一个图像元素并分配源和样式属性。然后将图像附加到一行,同时创建标签 div 并将其附加到示例容器。然后用一个 div 包裹示例容器,该 div 被赋予一个 ID 和一个类。然后,教师改进 CSS 以使标签和图像居中,并为较长的名称添加省略号。最后,他们通过创建一个 div 并将其附加到标签之后,为示例绘图添加了白色背景。
01:20:00 在本节中,视频创作者修改了网络应用程序中收集的图像样本的显示。修改需要创建一个示例容器,该容器具有白色背景、居中对齐的文本、圆角和一个像素的边距。缩略图设置为 100,行标签具有占用 20% 空间的属性,其余八个样本各占 10% 空间。生成的显示结构很整洁,但有些图像并不完全适合,这没什么大不了的,因为它是为桌面应用程序设计的。此外,创作者还为被标记的用户使用其 ID 制作的一些图画添加了模糊滤镜。一些收集到的图纸令人印象深刻,而另一些则包含使数据更具挑战性的误解。
01:35:00 在本节中,视频创作者解释了如何使用 JavaScript 对象来保存功能文件中尚未包含的其他数据。该对象可以保存到单独的 JavaScript 文件中,并用于提取 Web 应用程序所需的所有数据。创建者还演示了如何使用 Google 图表可视化数据,其中宽度、高度、轴标题和核心图表包等选项可以在对象中定义。创建一个数据表,其中包含两列用于特征值及其对应的名称。
01:40:00 在本节中,视频演示了如何使用 Google Visualization 创建散点图,允许用户通过使用 Explorer 操作放大和缩小来更仔细地研究数据的不同特征。该视频还展示了如何使用不同版本的 Google 图表库(称为材料图表)为每个类别使用不同的颜色并实现透明度以更好地可视化不同部分的密度。
01:45:00 在本节中,视频创作者展示了如何使用 Google 图表创建散点图,然后使用他们自己的 JavaScript 代码创建新图表。创建者简化了图表的选项,并将配色方案更改为使用表情符号,这样可以更轻松地识别数据点,而无需标签或图例。图表的透明度也进行了调整,以便更好地查看密集绘制的数据。
01:50:00 在本节中,讲师向图表添加回调函数以识别下表中的任何选定项目。新功能叫做“handle click”,它为选中的item增加了一个“emphasize”类,并使用“scroll into view”和“block center”来确保它自动滚动到页面的中心。然后教师修改页面布局,使图表位于页面右侧,其他内容位于页面左侧。图表也固定在某个位置,因此当用户滚动时它不会移动。
02:05:00 在本节中,视频讲师展示了如何向图表添加控制面板以及如何在存在输入时隐藏背景。他们展示了一种通过使画板画布轮廓透明来隐藏查看器 HTML 中的背景的解决方案。他们还展示了如何通过添加更新回调函数来在画板上绘制内容时立即在图表上显示特征,该回调函数以与特征提取器相同的方式提取特征。讲师遇到了称为特征的冲突对象的问题,但通过将它们重命名为特征函数来解决该问题。
02:55:00 在本节中,讲师讨论了标准化技术,其中涉及计算每个特征的均值和标准差,并通过减去均值再除以标准差来重新映射。这种技术对异常值不太敏感,并且在某些情况下可以更好地工作。讲师还介绍了 K 最近邻分类器,其中类别是根据 K 个最近邻中的大多数来确定的。更新代码以允许搜索 K 个最近邻,并且讲师演示了如何计算 K 个最近邻内每个标签的数量。
03:35:00 在视频的这一部分中,演示者讨论了上一节中生成的图像,并评论了它的低分辨率和平滑效果。然后他们引入更高分辨率的图像,不再需要显示数据。他们解释说,彩色区域告诉我们不同的标签,以及观察不同区域出现的有趣程度。然后,他们要求观众计算所有可能的 K 值的准确性,并创建折线图以确定最佳值,并为最佳值生成高分辨率决策边界图。
00:15:00 该视频讨论了可用于解决问题的各种启发式转换。这些转换之一是一系列转换,我将只向您展示其中一个。这个变换是这样的:如果你有一个函数的正切和 X 的积分,你可以将它重写为 Y 函数的积分超过 1 加上 y 的平方 dy。这种从三角函数形式到多项式形式的转换摆脱了我们不想处理的所有三角函数垃圾。我们还需要一个 C,这将是您正确的下意识反应。你看到 1 减去 x 平方的形式,当你看到它时你会怎么做?好吧,你可以那样做。如果 Kristen 有什么可以建议的,您将无能为力。她说,因为我们的匈牙利人在哪里我变成了我们的年轻人,这表明我们使涉及X人标志的转变适用。这意味着 Scylla 实际上不再需要记住这一点,因为今后,她将永远不必将任何个人融入她的生活。她可以模拟程序。这些从多项式形式回到三角函数形式,所以你有三个
00:15:00 在本节中,演讲者解释了深度优先搜索算法的工作原理。该算法从初始化队列和扩展队列中的第一条路径开始。扩展 s 之后,speaker 得到两条路径,s 到 a 和 s 到 b。对于深度优先搜索,新的扩展路径放在队列的前面,以便算法可以继续向下进入搜索树。演讲者还解释说,广度优先搜索使用与深度优先搜索相同的算法,只是改变了一行,即将新路径放在队列的后面而不是前面。
00:25:00 在本节中,演讲者讨论了游戏搜索过程以及如何通过使用 minimax 和 alpha-beta 等算法对其进行优化。使用的例子是一棵深度为四或更大的树,演讲者在其中圈出需要计算的数字,表明某些分支由于被切断的情况而无需评估。这节省了计算时间并允许更有效的游戏搜索。演讲者还介绍了 deep cut off 的概念,即在树中的不同级别比较数字,某些分支被认为是不相关的。虽然这看起来难以置信,但这个过程是有效的,可以大大提高游戏搜索效率。
00:35:00 在本节中,我们将学习如何最小化博弈树计算的保险单成本。通过计算底部上方一级而不是一直向下的静态值,它提供了一种保险策略以确保良好的移动而不必计算 b 到 d 叶节点。保单成本是通过将树的每一层的叶数相加来计算的。但是,为了最大限度地降低成本,从第一层开始策略应覆盖多少层是有限制的。使用代数,发现最高级别的策略所需的计算等于 b 到 d 减 1 超过 b 减 1,这是一个易于管理的计算。
用于深度学习和机器学习的 PyTorch – 完整课程(第 11-16 部分)
用于深度学习和机器学习的 PyTorch – 完整课程
第 11 部分
第 12 部分
第 13 部分
第 14 部分
第 15 部分
第 16 部分
用于深度学习和机器学习的 PyTorch – 完整课程(第 17-22 部分的描述)
用于深度学习和机器学习的 PyTorch – 完整课程
第 17 部分
第 18 部分
学习者加入以 PyTorch 代码复制神经网络。然后,讲师继续在 PyTorch 中构建一个微型 VGG 卷积神经网络,并解释说研究论文的作者可以命名新的模型架构,以便于将来参考。代码使用输入形状、隐藏单元和输出形状进行初始化,这些是构建 PyTorch 模型的典型参数。
第 19 部分
第 20 部分
第 21 部分
第 22 部分
用于深度学习和机器学习的 PyTorch – 完整课程(第 23-26 部分的描述)
用于深度学习和机器学习的 PyTorch – 完整课程
第 23 部分
第 24 部分
第 25 部分
第 26 部分
没有黑盒机器学习课程——没有图书馆也能学习
没有黑盒机器学习课程——没有图书馆也能学习
00:00:00 - 01:00:00 在此 YouTube 视频中,讲师介绍了无黑盒机器学习课程,教授如何在不依赖库的情况下在机器学习中编写代码。该课程涵盖与构建可识别绘图的 Web 应用程序相关的主题,包括数据收集、特征提取和可视化,以及实现分类器(例如最近邻和 K 最近邻)。讲师强调理解数据在机器学习中的重要性,并为那些需要复习高中数学和编程经验的人推荐资源。该视频演示了使用 JavaScript 创建一个充当数据创建者的网页的过程,无需任何外部库。演示者还包括有关如何创建撤消按钮和名称输入字段、将绘图存储在数据对象中以及将路径保存在用户计算机上的说明。最后,该视频展示了如何在 node.js 中创建数据集生成器并使用 JavaScript 生成与每个样本关联的数据。
01:00:00 - 02:00:00 在此 YouTube 视频中,讲师教观众如何在不使用库的情况下创建机器学习数据集和提取特征。他们演示了如何将数据集存储在一个文件夹中,该文件夹可以在节点脚本和 Web 应用程序之间进行通信,并创建一个数据查看器应用程序。讲师还展示了如何使用 Google 图表可视化收集的数据,以及如何识别和强调图表和列表中的选定项目。总体而言,该视频为学习者提供了仅使用 JavaScript 创建机器学习数据集和提取特征的综合指南。
02:00:00 - 03:00:00 “无黑盒机器学习课程 – 不用库学习”视频演示了如何在不使用机器学习库的情况下根据图形的特征对其进行分类。视频创作者强调了拥有快速响应系统来检查数据以避免人为错误的重要性。他们演示了如何向图表添加功能、如何隐藏背景以及如何使用带有 HTML 和 CSS 的动态容器在屏幕上显示预测标签。该视频还介绍了规范化和标准化等数据缩放技术。最后,视频展示了如何实现 K 最近邻分类器并统计 K 最近邻内每个标签的数量。
03:00:00 - 03:50:00 YouTube 视频“No Black Box Machine Learning Course - Learn Without Libraries”涵盖了与 K-最近邻分类相关的各种主题,无需使用 JavaScript 和 Python 等机器学习库。该视频介绍了如何将数据集拆分为训练集和测试集、分别处理训练和测试样本以及对数据进行归一化。讲师还讨论了决策边界在理解分类器如何运行方面的重要性,演示了如何在 JavaScript 中实现 K 最近邻 (KNN) 分类器,以及如何在不使用机器学习库的情况下生成基于像素的绘图。最后,该视频以呼吁观众探索 Python 的其他功能并反思他们到目前为止所学的内容结束。
第1部分
第2部分
第 3 部分
第 4 部分
麻省理工学院 6.034“人工智能”。 2010 年秋季。第 1 讲。简介和范围
1. 简介和范围
该视频是麻省理工学院 6.034 课程“人工智能”的介绍,教授解释了人工智能的定义及其重要性,并继续讨论了对理解该主题很重要的思维模型和表征。最后,该视频提供了课程的简要概述,包括成绩的计算方式以及测验和期末考试的内容。
第 2 讲 推理:目标树和问题解决
2. 推理:目标树和问题解决
该视频讨论了如何推理、目标树和解决问题。它介绍了一种称为“问题减少”的技术,并解释了如何使用它来解决微积分问题。它还讨论了如何使用启发式转换来解决问题,以及如何使用知识来解决复杂领域中的问题。
第 3 讲 推理:目标树和基于规则的专家系统
3. 推理:目标树和基于规则的专家系统
该视频解释了基于规则的专家系统的工作原理。该系统旨在解决使用更传统的方法难以解决的问题。该系统由多个规则组成,这些规则由门和门连接,使系统能够确定地识别特定动物。
第 4 讲 搜索:深度优先、爬山、Beam
4. 搜索:深度优先、爬山、Beam
在此 YouTube 视频中,Patrick Winston 讨论了不同的搜索算法,包括深度优先、爬山、Beam 和最佳优先搜索。他以地图为例,展示了每种算法的优点和局限性,以及了解不同的搜索方法如何提高解决问题的能力。温斯顿还讨论了搜索算法在智能系统中的应用,使用创世纪系统回答有关麦克白故事的问题。他还介绍了 Pyrrhic 胜利的概念,以及搜索程序如何通过查看图表并用英语报告他们的发现来发现这种情况。总的来说,该视频全面概述了搜索算法及其在现实场景中的实际应用。
第 5 讲 搜索:最优、分支定界、A*
5. 搜索:最优、分支定界、A*
该视频讨论了几种用于查找两地之间最短路径的搜索算法,重点是芝加哥和洛杉矶之间的 66 号公路示例。该视频介绍了启发式距离的概念,并提供了不同搜索算法的示例,例如爬山、集束搜索和分支定界。演讲者强调了在 A* 算法中使用可接受的和一致的启发式算法来优化搜索的重要性。此外,该视频还指出了使用扩展列表和航路距离来确定最短路径下限的有效性。最终,视频的结尾承诺将在下一讲中讨论 A* 算法的进一步改进。
第 6 讲 搜索:游戏、Minimax 和 Alpha-Beta
6. 搜索:游戏、Minimax 和 Alpha-Beta
该视频讨论了 AI 玩游戏的历史,从德雷福斯 (Dreyfus) 的名言“计算机无法下棋”开始。演讲者解释了 if-then 规则如何在玩游戏程序中无效,并且需要更深入的分析和策略。他们引入了 minimax 算法和 alpha-beta 剪枝的概念来优化游戏搜索效率。该视频还探讨了诸如最大限度地降低保单成本和逐步深化等技术。演讲者得出结论,虽然推土机的智能很重要,但它不一定与人类头脑中的智能类型相同。