大学物理实验绪论

一、实验测量与误差分布1、测量的基本概念直接测量:被测量可以直接通过仪器读数获得,无需通过计算转换。间接测量:被测量需通过已知函数关系由直接测量量计算得到。测量的四要素:被测对象、测量程序、测量准确度、计量单位。2、有效数字与有效位数有效数字:可靠数字(仪器直读)+存疑数字(估读所得),反映测量精度。有效位数:有效数字的总位数。例子:钢板尺测量 $7.35\,\mathrm{cm}$,其中$7.3$为可靠数字,$0.05$为存疑数字,共$3$位有效数字。3、误差的基本类型与表达(1)误差的定义$$ \text{误差} = \text{测量值} - \te…
模拟退火

〇、爬山算法(Hill Climbing)在介绍模拟退火之前,先简单介绍一下爬山算法。爬山算法(Hill Climbing, HC)是一种简单直接的优化方法。它的核心思想是:从一个初始解出发,不断寻找更好的解。如果找不到更好的解,就停止。对于最小化问题,我们可以把目标函数记为 $f(x)$,算法的基本流程如下:在当前解的邻域中寻找一个更优解。如果找到更优解,就移动到这个解。如果找不到更优解,就停止(说明已经达到局部最优)。公式表示如下:$$ x_{k+1} = \begin{cases} \displaystyle \arg\min_{x'\i…
Taichi的可视化

一、关于 print 语句Taichi 内可以像 Python 一样使用 print 来输出信息。例如:import taichi as ti ti.init(arch=ti.cpu) # 或 ti.cuda @ti.kernel def foo(): m = ti.Matrix([[2, 3, 4], [5, 6, 7]]) print('m =', m) # 在 kernel 内部打印矩阵 foo()并行执行时(尤其在 GPU 上),同一 kernel 内来自不同线程的 print 输出顺序通常是不可预期的(可能乱序),因此不要依…
Taichi的计算核

一、Taichi计算核(Kernel)在函数定义上一行加上 @ti.kernel 装饰器,该函数会被编译为高性能 Taichi 计算核。只能在 Python 域调用 Kernel,不能在 Kernel 内再调用另一个 Kernel。1、正确示例@ti.kernel def foo(): print("foo") # 输出 "foo" @ti.kernel def bar(): print("bar") # 输出 "bar" foo() # 在 Python 域调用 bar()…
Taichi的数据类型

一、Taichi的架构初始化Taichi支持多种硬件后端,初始化时通过ti.init(arch=...)指定运行平台。import taichi as ti ti.init(arch = ti.cuda) # 指定CUDA后端, 用于NVIDIA GPU加速ti.cpu:在CPU上运行。ti.gpu:在GPU上运行,自动选择CUDA或OpenGL/Metal。ti.cuda:显式选择CUDA后端。ti.arm:ARM架构支持。ti.x64:x86架构支持。二、变量作用域:Python域与Taichi域Taichi @ti.kernel修饰的函数与普通Py…
在WSL2上配置Taichi运行环境

一、准备工作1、安装WSL2如果你还没有安装WSL2,可以参考以下步骤:启用WSL功能(要求为Windows10/11专业版以上)按Win + S搜索“PowerShell”,右键以管理员身份运行。输入以下命令启用WSL和虚拟机功能:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatfor…
数据科学与工程优化(七)

一、人工智能的历史与突破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、…