从数学开始
数学是一种语言。用数学语言进行建模的过程:问题→模型->算法->代码。使用数学语言要擅长抽象。
👆 科学研究的过程
✅ 其中,对问题建模的能力是最重要的
集合内容跳过。
线性空间内容跳过。
映射内容跳过。
函数内容跳过。
函数的集合(函数空间)
用若干简单函数(“基函数”)线性组合张成一个函数空间
$$ -L=span\left (f_1,f_2,\dots ,f_n \right ) =({\textstyle \sum_{i=1}^{n}} a_if_i(x)|a_i\in R) $$
每个函数就表达(对应)为\(n\)个实数,即系数向量\((a_1,a_2,\dots ,a_n)\)
例如: 幂基
$$ ( x^{k},k=0,1,\dots ,n ) $$
构成的函数空间
$$ f(x)=\sum_{k=0}^{n} w_{k} x^{k} $$
称为多项式函数空间。
三角函数基构成的函数空间
$$ f(x)=a_{0}+\sum_{k=1}^{n}\left(a_{k} \cos k x+b_{k} \sin k x\right) $$
称为三角函数空间
空间的完备性:这个函数空间是否可以表示(逼近)任意函数?
❗ 函数空间几乎是后面课程整个连续几何部分的基础,理解函数空间对理解后面的课程非常重要。
万能逼近定理
Weierstrass逼近定理:
• 定理1:闭区间上的连续函数可用多项式级数一致逼近
• 定理2:闭区间上周期为\(2π\)的连续函数可用三角函数级数一致逼近
对 \( [a, b] \)上的任意连续函数\(g\), 及任意给定的\(\varepsilon>0 \), 必存在\(n\) 次代数多项式\(f(x)=\sum_{k=0}^{n} w_{k} x^{k} \), 使得
$$
\min _{x \in[a, b]}|f(x)-g(x)|<\varepsilon.
$$
傅里叶级数
$$ f(t)=A_{0}+\sum_{n=1}^{\infty}\left[a_{n} \cos (n \omega t)+b_{n} \sin (n \omega t)\right] $$
$$ f(t)=A_{0}+\sum_{n=1}^{\infty} A_{n} \sin n \omega t+\psi_{n} $$
[47:46] 两个\(f(t)\)是等价的。\(n\)代表对sin的缩放,\(\phi_t\) 代表对 sin 的平移,用一个函数sin通过对它的伸缩和左右平移,就能表达一个任意复杂的周期函数。
更复杂的函数:函数复合
$$ f=f_{k}{ }^{\circ} f_{k-1}{ }^{\circ} \ldots{ }^{\circ} f_{0} $$
问题:如何求满足要求的函数?
🔎 [51:11]
大部分的实际应用问题
- 还需要根据实际问题设计输入输出
- 可建模为:找一个映射/变换/函数
- 输入不一样、变量不一样、维数不一样
如何找函数的三步曲:
- 到哪找,即确定某个函数集合/空间
①各种网络模型(CNN,RNN)都是在解决“到哪找”的问题 - 找哪个,即度量哪个函数是好的/“最好”的
②各种Loss定义(L2,交叉熵)都是在解决“找哪个”的问题 - 怎么找,即求解或优化。可以选择不同的优化方法与技巧,目标是既要快、又要好…
③各种优化方法(牛顿下降、Adam)都是在解决“怎么找”的问题
本文出自CaterpillarStudyGroup,转载请注明出处。 https://caterpillarstudygroup.github.io/GAMES102_mdbook/