目录
一、极简数学史
1. 萌芽时期
2. 古典数学时期
3. 近代前期
4. 近代后期
5. 现代数学
二,计算方法学什么?
1. 数值代数
a. 线性代数方程组求解(等价变换)
b. 矩阵特征值特征向量(相似变换)
c. 二次型(合同变换)
2. 数值逼近
a. 插值
b. 曲线拟合
c. 数值积分
d. 数值微分
e. 迭代法
f. 近似求解常微分方程
3. 数值优化
a. 最优化问题的建模
b. 梯度下降法:
c. 牛顿法和拟牛顿法
d. 进化算法
e. 约束优化
f. 全局优化
4. 数值解
a. 常微分方程(Ordinary Differential Equations,ODEs)
b. 偏微分方程(Partial Differential Equations,PDEs)
三,什么样的算法是好的算法?
“能”
“准”
“快”
一、极简数学史
1. 萌芽时期
公元前6世纪
是数学的起源阶段,包括古埃及和古巴比伦的数学。数学主要涉及计数、测量和几何。
2. 古典数学时期
公元前6世纪~公元16世纪
古希腊时期的数学达到巅峰。数学家如毕达哥拉斯、欧几里得和阿基米德对几何学、数论和力学等领域做出了重要贡献。
3. 近代前期
公元17~18世纪,
微积分的建立和分析学的发展。数学家如牛顿、莱布尼茨等人在微积分、数论和代数方程等领域做出了重要贡献。
4. 近代后期
19世纪,一堆欧洲老头:
对无穷小的严格化、极限概念的确立等重要进展。欧洲的数学家们在这个时期推动了数学的发展,包括柯西、黎曼、庞加莱和哥德尔等人。
5. 现代数学
20世纪~至今,科学计算、智能化革命:
现代数学包括了许多分支领域,如应用数学、数学分析、抽象代数、拓扑学、几何学以及概率论和统计学等。
二,计算方法学什么?
1. 数值代数
a. 线性代数方程组求解(等价变换)
通过等价变换,可以将方程组转化为矩阵的形式,即PAx = Pb,其中P是列交换矩阵,A是系数矩阵,x是未知向量,b是常数向量。数值方法如高斯消元法、LU分解、迭代法(如雅可比法、高斯-赛德尔迭代)等可以用来求解线性方程组。
b. 矩阵特征值特征向量(相似变换)
特征值表示矩阵的缩放因子,而特征向量表示相应的方向。通过相似变换,可以将矩阵变换为对角形式,其中对角元素是特征值,对应的列向量是特征向量。特征值和特征向量在许多数值方法、数据分析和物理学等领域具有重要应用。
c. 二次型(合同变换)
二次型是一种由二次项组成的多项式函数。在数值代数中,研究二次型的性质和变化对于优化问题和矩阵分解等有重要意义。通过合同变换,可以将二次型转化为规范形式,这样求解和分析问题更加方便。
2. 数值逼近
怎样表示函数,数值积分数值微分
数值逼近(Numerical Approximation)是指通过数值方法和计算机技术来近似求解复杂的数学问题。在实际应用中,很多数学问题无法准确地通过解析方法求解,因此需要使用数值逼近的方法来近似求解或计算其数值结果。
a. 插值
通过已知数据点的函数值来构建一个近似函数,使得近似函数通过这些数据点,在这些点之间的函数值是未知的。常见的插值方法包括拉格朗日插值和牛顿插值。
b. 曲线拟合
通过已知数据点拟合出一个符合数据趋势的函数。曲线拟合的目标是找到一个简单的函数,使其与已知数据点的误差最小化。常见的曲线拟合方法包括最小二乘法和多项式拟合。
c. 数值积分
用数值方法计算函数在特定区间上的积分值。数值积分方法可以将连续函数的积分问题转化为离散的数值计算问题,包括梯形法则、辛普森法则和龙贝格积分等。
d. 数值微分
使用数值方法计算函数的导数或微分。数值微分方法可以通过计算函数在离散点上的差分来估计导数值,例如前向差分、后向差分和中心差分等。
e. 迭代法
使用迭代的方式逐步逼近问题的解,直到满足一定的收敛条件。迭代法广泛应用于求解非线性方程、线性方程组和优化问题等。
f. 近似求解常微分方程
通过数值方法近似求解常微分方程,如欧拉方法、龙格-库塔方法等。
数值逼近方法的选择取决于具体问题的特点和要求。通过适当选择和组合这些方法,可以在实际应用中获得满足精度和效率要求的数值结果。
3. 数值优化
min f(x)
训练神经网络~炼丹
数值优化(Numerical Optimization)是一种通过数值方法寻找函数的最优解的技术。在实际问题中,我们经常需要找到一个函数的最小值或最大值,而数值优化提供了一系列算法和技术来解决这些问题。数值优化在各个领域都有广泛的应用,包括机器学习、数据分析、工程设计等。
一些常用的数值优化算法和方法:
a. 最优化问题的建模
将实际的优化问题转化为数学表述,定义目标函数和约束。目标函数可以是一个需要最小化或最大化的函数,约束可以是等式约束或不等式约束。
b. 梯度下降法:
梯度下降法是一种迭代优化算法,通过沿着函数梯度的反方向更新解向量来逐步接近最优解。这种方法特别适用于凸函数和可微函数的优化问题。
梯度下降~凸函数~全局(or陷入局部极小值)
c. 牛顿法和拟牛顿法
牛顿法是一种基于二阶导数信息的优化方法,它通过求解方程系统来寻找极小值点。拟牛顿法是一种近似牛顿法,不需要计算二阶导数矩阵,而是利用历史迭代点的信息来近似二阶信息。
d. 进化算法
进化算法是一类基于生物进化原理的优化方法,如遗传算法、粒子群优化算法、蚁群算法等。这些方法通过模拟自然界的进化过程,逐步搜索解空间中的最优解。
e. 约束优化
在约束优化问题中,需要在给定约束条件下寻找最优解。常用的约束优化方法包括罚函数法、拉格朗日乘子法和KKT条件等。
f. 全局优化
在全局优化问题中,需要找到函数的全局最优解,而不仅仅是局部最优解。全局优化方法包括遗传算法、模拟退火算法和粒子群优化等。
4. 数值解
a. 常微分方程(Ordinary Differential Equations,ODEs)
- Euler方法:该方法使用离散的步长来逼近ODE的解。
- Runge-Kutta方法:这是一种更高阶的数值方法,包括4阶和更高阶的版本。
- 龙格-库塔方法(RK4):这是一种经典的4阶Runge-Kutta方法,通过逐步逼近解来获得高精度。
- 多步法:例如Adams-Bashforth和Adams-Moulton方法,这些方法利用多个历史数据点来逼近解。
b. 偏微分方程(Partial Differential Equations,PDEs)
- 有限差分法(Finite Difference Method):这是一种常见且简单的数值方法,将PDE离散化为一个网格,并通过近似差分的形式来计算解。
- 有限元法(Finite Element Method):这是一种更高级的数值方法,将PDE离散化为小的子域,并利用基函数逼近解。
- 有限体积法(Finite Volume Method):这是一种常用于流体动力学和传热学中的数值方法,将PDE离散化为控制体积,并计算通量。
三,什么样的算法是好的算法?
“能”
能够解决实际问题,即能够产生正确的结果。
“准”
算法的结果精度高,能够满足问题的要求或预期。
当前的神经网络准确率高,但还是需要判断
“快”
算法的执行速度快,能够在合理的时间范围内给出结果。
这三个特征通常是相互制约的,很难同时达到最好状态。在实际应用中,需要根据具体的需求和场景,权衡这三个特征,选择最合适的算法。有时候可能需要在“准”和“快”。