Games102

Games102
Games102学习1. 数据拟合目的若有若干点我们需要根据这些点来制造一条拟合函数来保存这些点的信息节省存储成本三种拟合函数1.分段线性插值函数(直接把点连起来)优误差为0劣不光滑而且不光滑的地方无法求导导致后续会对计算带来麻烦2.光滑插值函数(把点光滑曲线方式连起来)优误差为0劣容易被噪声outliers(脱离线段的点、信息变化大的干扰数据)带跑偏3.逼近拟合函数(可以不把点连起来只要整体位置趋势逼近即可)数据误差不为0但是足够小光滑插值函数多项式插值定理目的以多项式插值定理为根基推导拟合函数PS:这里主要做了三步1.使用幂基写出一个通用多项式目的相当于写出所有函数可能的线性组合所以要包括各个幂维度的自变量幂基一组由某数各个幂组成的空间基其实就是一个系数集合这里引入是为了模拟函数可能出现的各个幂维度的项组成多项式2.取所有点的x,带入函数目的将所有x带入函数是模拟一条函数需要在各个x处都有对应取值3.得到矩阵目的矩阵可以优化计算过程让过程计算更方便看起来干净整洁就相当于多项式,矩阵只不过简化了写法将系数和基分别提取采用了特定的计算方式以保证方便变换以及计算。这里矩阵主要是用来观察这个式子的解只有一个a0a1x0a2x0^2…a0a1x1a2x1^2…a0a1x2a2x2^2…a0a1x3a2x3^2…矩阵一种特殊的数据表达和计算方式将多项式的系数进行提取构成新的写法以特定的方式进行计算求解分解简化了数据的表示加速并简化了复杂的计算将抽象的数据计算变成了更加抽象的类图形计算可以自行了解矩阵的计算方法vandermonde矩阵它的第一行全是1第二行的元素是n个数第三行元素是这n个数的平方以此类推由于这个矩阵的行列式不为0也就是说这个矩阵没有任意一行全为0每一行都是有效的(线性不相关的)就可以得出唯一解。拿二元一次方程举例就是需要两个有效式子才能求出一组唯一解。xy 0与xy 0 只有前面的方程组可以得到唯一解x2y0 2x2y0构造插值问题的通用解技巧1目的想得到一个式子来直接模拟曲线这样就不需要构造整个矩阵或方程组这里采用了一个l(x)的函数作为系数使得与自己相同下标的x带入就为1其他就为0就可以保证xn带入的结果只保留yn的项l如何求解拉格朗日插值多项式作用根据一组点得到一组多项式使得每一个多项式只有在带入自己对应的点时值为1带入这一组点中其他任意点均为0技巧2目的根据前面给出的通用多项式形式我们知道需要一个次数递增的多项式来模拟一组点的插值多项式而牛顿多项式刚好符合要求且由于差商的性质刚好满足x0处得到y0,x1处得到y1的条件直接得到需要的多项式牛顿多项式给出一组点根据递归求这些点的差商得到一个次数递增的多项式满足x0处等于y0,x1处等于y0k(x1-x0) y1,…的性质多项式插值缺点1.系统矩阵稠密(不好求解)2.依赖于基函数选取矩阵可能病态难以求解矩阵病态微小的绕动会带来极大的求解偏差病态矩阵的刻画条件矩阵条件数特征值在矩阵变化过程中总存在一个向量经过矩阵变换后只改变了长度而不改变方向这个长度就是特征值特征值可以用来说明矩阵的部分性质如特征值越大说明矩阵使向量的变化越剧烈根据特征值的性质可以看出条件数代表的含义即特征值比值越大各个解之间的变化越剧烈。越不稳定范德蒙行列式由于项是呈指数递增的项数越多就会越不稳定解决方法正交多项式基用相反走势的多项式相互抵消多项式逼近最小二乘逼近目的求一个最逼近这些离散点的函数这个函数由一些函数线性组合而成解出结果1.把f(xj)用多个函数的线性组合逼近2.发现这个函数最小极值只受[入1入2]影响于是对入求偏导。3.将结果写成矩阵形式优点1.容易计算光滑2.总能找到一个函数来拟合伯恩斯坦多项式逼近这个多项式有极大值向两边衰减利用它的性质在每一组坐标基下与函数值相乘则会无限逼近这些值。得到一条逼近函数优点f(i/n)这些函数在某一点的值b(n, j)(x)这些点在x处的函数值目的利用bernstein多项式的性质有极大值向两边衰减将多个函数这一系列函数的函数值在这点进行累加由于这类函数单个函数各个不同x的函数值f(x)加起来会趋近于某个值例如趋近1我们就用多个函数在一点模拟单个函数在不同x的函数值累加也会趋向于某个值再乘以需要模拟的点所成函数b(n, j)(x)在这点的函数值。就可以趋近这个函数趋近的程度也可以通过函数组合进行控制高斯函数目的RBF函数拟合和伯恩斯坦去做拟合类似都是通过一些同样性质的函数去做拟合区别RBF函数拟合是通过一堆高斯函数累加去做拟合其他目的自变量表示出函数根据不同的权重加上偏移模拟出新的函数套娃形式:在每一层参数都不定的情况下可以逼近任意函数关键在于系数之类的参数调成多少2.参数曲线拟合概念1.多元函数多个x和轴来表示这里用R^n代替(x1…xn)就是代表多维空间中的函数2.多元函数张量基张量向量在维度上的扩充称呼目的为了逼近多维函数我们采用张量积去表示多维函数与向量基对应张量基就是多维的向量例如a {(0,0,1)(0,0,1)}这个就是二维张量而向量基(0,0,1)就是一维张量为了表示更高维的函数我们将基函数进行扩充。在物理中我们也经常遇到需要包含多个向量信息的基如平面上的一个力我们需要用一个向量来表示平面一个向量来表示平面的力这种时候若是表示这种类型的集合就需要使用二维张量作为基。而这里主要是展示以前的描述多元函数的方法可以用多维张量基来表示多元函数优点简单缺点基函数个数急剧增加非常耗时3.多元函数的神经表达弥补了上述多元函数缺点不需要不停的扩充基函数个数只需要用不同的未知数组成新的函数然后组合成最终的多元函数即可4.向量值函数(多个因变量一个自变量)注意无论曲线在几维空间中表示本质维度都是1因为只有一个自变量多维度表示只是方便过程中的计算和观察5.特例1t代表多维度的集合(如xyz都表示为t)并且在他们都是统一的同步变化6.特例2用uv构成新的函数再次构成最终的函数。它是一个流行结构本质是个由uv表示的二维结构却在可以三维空间中表示对应的例子有球面7.特例3三维投影到二维8.特例4高维投影到低维会存在信息丢失如果类似流行这种结构点和点一一对应可以通过一个g去表达(转换)还原确保信息不丢失但是如果是多个点映射到一个点上就会出现信息丢失了。因为用g转换回去时一个点会映射多个点无法确定选取哪一个其实感觉也是可以转换回去的只要包含这些丢失点对应x,y的逼近曲线就行9.非函数曲线拟合问题用两个函数去拟合即可用横向的函数和竖向的函数一起去拟合一个新的非函数曲线拟合的度量误差为参数这里的x,y都是由一个t构成这个t就是参数代表着曲线本身的维度10.点列的参数化均匀求参将点与点直接平均分配成若干段弦长参数化根据弦长进行分配中心参数化(很麻烦效果好不常用)左边的是均匀参数中间的是弦长参数右边的是中心参数化均匀参数由于很短的地方也分配了同样多段参数t就会突出弦长参数化就比较光滑因为根据了长短进行分配11.曲面参数化和曲线参数化一样将曲面降维用低维参数表达