对抗搜索

一、引言1、为什么需要对抗搜索在过去,我们讨论的搜索问题都发生在一个“静态”或“可预测”的环境中。例如,在路径规划问题中,从城市A到城市B的道路成本是固定的,环境不会主动与我们作对。然而,在许多现实世界的问题中,我们必须面对一个或多个会做出反应、并试图阻碍我们达成目标的对手。这类问题被称为对抗搜索问题,最典型的例子就是博弈,如棋类游戏。在这些博弈环境中,我们的每一个决策不仅取决于我们自己的目标,还必须考虑到对手的可能反应。对手的目标通常与我们的目标相反。例如,在二人零和游戏中,一方的收益就是另一方的损失。本文将探讨在这种对抗性环境中进行决策的算法。我们将…
启发式搜索

一、贪婪最佳优先搜索算法1、引言无信息搜索算法,如广度优先搜索(BFS)和深度优先搜索(DFS),这些算法在探索状态空间时,除了问题定义本身提供的状态转移规则外,没有任何额外的信息来判断一个非目标节点比另一个“更有希望”接近目标。因此,它们通常是盲目地进行搜索。为了提高搜索效率,我们引入了启发式搜索算法,也称为有信息搜索。这类算法利用与问题相关的启发式信息来引导搜索方向,优先选择那些看起来最接近目标的节点进行扩展。贪婪最佳优先搜索算法是启发式搜索中最简单、最直观的一种。它的核心思想非常朴素:在每一步选择中,都选择那个离目标估计最近的节点进行扩展,而完全忽…
因果推理

一、因果推理的基本概念1、因果推理哲学上把现象和现象之间那种“引起和被引起”的关系,叫做因果关系,其中引起某种现象产生的现象叫做原因,被某种现象引起的现象叫做结果。因果推理是一种重要的推理手段,是人类智能的重要组成。2、辛普森悖论辛普森悖论是统计学中的一种反直觉现象,指的是在分组数据中,某种趋势在各子组中都存在,但当把所有数据合并后,趋势却发生了逆转。例如,某药物在男性和女性两个子组都有提高治愈率的效果,但合并数据后可能反而显示总体治愈率下降。这是因为分组比例不同或其他潜在变量影响了整体结果。辛普森悖论提醒我们,在分析数据时,要注意分组情况和潜在的混杂因…
逻辑与推理

[!NOTE]这份文章主要涉及命题逻辑、谓词逻辑和知识图谱推理,有关因果推理的内容,点击链接因果推理。一、命题逻辑1、相关概念与定理命题逻辑是应用一套形式化规则对以符号表示呃描述性陈述进行推理的系统。命题是一个能够确定为真或者假的陈述句,通常使用小写符号$p$或者$q$来表示。命题总有一个“值”,称为真值,为真或者假,只有确定真值的陈述句才是命题,无法判断正确性的描述性句子不能作为命题。原子命题指不包括其他命题或者作为其组成部分的命题,又称为简单命题。复合命题指包含其他命题作为其组成部分的命题。在命题逻辑中,一个或真或假的描述性陈述被称为原子命题,对原子…
数据科学与工程优化(七)

一、人工智能的历史与突破2017年:深度伪造(Deep Fake)技术流行,合成图像达到较高分辨率,但尚未商业化。2021年:DALL-E面世,首次实现“从文本生成图像”,训练数据为图像描述,规模尚小。2022年:ChatGPT发布,两个月后月活跃用户过亿,成为史上增长最快的消费级软件。2024年:SORA发布,能从文本生成高质量视频,极大影响创意产业。二、AI模型如何工作1、图像存储为张量(Tensor)一张彩色图片为三维张量(宽$\times$高$\times$颜色通道),每个像素有RGB三个整数值。形式化表示:对于一张$H\times W$的图片,…
数据科学与工程优化(Code II)

一、概述这个Python程序实现了经典的梯度下降算法和随机梯度下降算法,并在两个不同的优化问题上进行了比较实验:Rosenbrock函数和强凸二次函数。二、功能模块1、测试函数定义Rosenbrock函数函数: rosenbrock(w)描述: 经典的非凸优化测试函数,也称为"香蕉函数"数学表达式: f(x,y) = (1-x)² + 100(y-x²)²最优解: (1, 1)特点: 具有狭长的弯曲谷地,是测试优化算法性能的经典函数强凸二次函数函数: quadratic(w, a=10)描述: 强凸二次函数,具有良好的优化性质数学表达式: f(x,y) …
数据科学与工程优化(Code I)

本项目包含三个 MATLAB 脚本/函数文件,主要用于演示和实现最速下降法(Steepest Descent Method)在不同目标函数上的优化过程。适合用于数值优化、无约束优化方法的学习与实验。文件列表Steepest_descent_method.mRosenbrock_function.mScaled_quadratic_function.m一、Steepest_descent_method.m功能简介: 该脚本实现了最速下降法(带 Armijo 回溯线搜索),用于求解无约束优化问题。可选择优化 Rosenbrock 函数或缩放二次函数,并可视化…
数据科学与工程优化(六)

一、噪声地板(Noise Floor)问题背景在实际SGD(随机梯度下降)中,由于每次只用部分样本(甚至单样本)估计梯度,噪声地板(noise floor)不可避免:即SGD只能收敛到一个残差带(目标函数的最优值附近的宽区间),而非真正精确的最优点。这在大规模数据和非精确(有噪声)目标情况下尤其明显。二、降低噪声地板的三大方法方法一:动态步长(Dynamic Stepsize)基本思想:若每步步长 $\alpha_k$ 随迭代$k$递减,且满足$$ \sum_{i=0}^{\infty} \alpha_i = \infty,\quad \sum_{i=0…
数据科学与工程优化(五)

一、随机梯度下降法(SGD)背景许多机器学习与数据科学中的目标函数都具有求和结构:$$ \min_{x \in \mathbb{R}^n} f(x) = \frac{1}{m} \sum_{j=1}^{m} f_j(x) $$例如,$f_j(x) = \|a_j^T x - y_j\|^2$,$(a_j, y_j)$ 是数据点,$m$ 很大。标准梯度下降法每步需计算:$$ \nabla f(x_k) = \frac{1}{m} \sum_{j=1}^m \nabla f_j(x_k) $$计算复杂度高达 $O(mn)$,昂贵且不适合大规模问题。因此我们考…
数据科学与工程优化(四)

一、梯度法复杂度总结对于 $L$-光滑但非凸的 $f$,最速下降法(Steepest Descent)收敛速率为$$ O\left(\frac{1}{\sqrt{k}}\right) $$对于 $L$-光滑且凸的 $f$,$$ O\left(\frac{1}{k}\right) $$若 $f$ 还是 $\gamma$-强凸,则线性收敛速率$$ \left(1 - \frac{\gamma}{L}\right)^k $$二、重球法(Heavy Ball Method)1、适用范围适合凸二次型函数:$$ \min_{x \in \mathbb{R}^n} f…
数据科学与工程优化(三)

一、最速下降法最速下降法(Steepest Descent)用于求解无约束优化问题:$$ \min_{x \in \mathbb{R}^n} f(x) $$其中 $f: \mathbb{R}^n \to \mathbb{R}$ 是 $L$-光滑函数。算法通过迭代更新:$$ x_{k+1} = x_k + \alpha_k d_k $$$\alpha_k > 0$ 是步长(step length),在机器学习领域也常称为学习率(learning rate)。步长/学习率决定每次迭代沿搜索方向前进的距离,步长太小收敛慢,太大可能导致发散或振荡。两者本质…
数据科学与工程优化(二)

一、基本术语和模型考虑以下优化模型:$$ \min_{x \in \mathbb{R}^n} f(x) \quad \text{s.t.} \quad x \in F $$1、最小化点的定义局部极小点(local minimiser):$x^* \in F$,若存在 $\varepsilon > 0$,使得对所有 $x \in F \cap B_\varepsilon(x^*)$,有$$ f(x^*) \leq f(x) $$严格局部极小点(strict local minimiser):$x^* \in F$,若存在 $\varepsilon &…
数据科学与工程优化(一)

一、课程概述本课程主要讨论数据科学中的优化问题,包含以下内容:优化模型的基本形式与实际例子一阶迭代方法数据分析中的典型问题与优化方法二、为什么要用优化?在数据科学与机器学习中,很多问题都可以归结为优化问题。例如:回归问题数据补全问题数据结构检测降维问题数据分类问题这些问题通常涉及到参数的选择,使得模型对真实数据拟合得更好或者揭示数据的某种结构。三、优化模型的基本形式1、无约束优化模型$$ \min_{x \in \mathbb{R}^n} f(x) $$其中 $f$ 是光滑函数(本课程中指 $C^1$ (连续函数)且梯度 Lipschitz 连续)。2、…
常见激活函数表达式及其特性

1、Sigmoid 函数表达式:$$ \sigma(x) = \frac{1}{1 + e^{-x}} $$导数:$$ \sigma'(x) = \sigma(x)[1 - \sigma(x)] $$特性:输出区间:$(0, 1)$非线性,可微在$x \to +\infty$时趋近于1,$x \to -\infty$时趋近于0优点:将值压缩到$(0,1)$之间,适合做概率输出缺点:容易出现梯度消失问题,导致深层网络训练困难2、Softmax 函数表达式:对于输入向量$\mathbf{x} = (x_1, x_2, \ldots, x_n)$,第…
只使用Numpy实现MNIST手写数字分类

一、实验目的本实验旨在通过MNIST手写数字分类任务,深入理解和实践深度学习的基本概念与核心算法,具体目标如下:1、理解深度学习核心概念:(1)掌握神经网络(Neural Networks)的基本结构、前向传播和反向传播机制。(2)理解梯度下降(Gradient Descent)优化算法及其在参数更新中的作用。(3)掌握链式法则(Chain Rule)在计算梯度时的应用。(4)理解图像分类任务的基本流程,包括数据加载、预处理、模型训练、评估和预测。(5)熟悉损失函数(如交叉熵损失)的意义和计算方法。2、掌握NumPy手动实现技能:(1)能够仅使用NumP…