编辑
2024-09-19
文献阅读
00
请注意,本文编写于 125 天前,最后修改于 119 天前,其中某些信息可能已经过时。

目录

Kan
B样条(B-spline)插值
递归定义
导数

Kan

其本质是多层的Kolmogorov网络 一般而言,Kan隐藏层节点数量为2n+12n+1,但是原始的两层结构并没有限制其激活函数是否光滑。有时,这些激活函数可能需要用到非常非光滑甚至有分形行为的“病态”函数来表达。这就失去了现实意义。这在实际应用中意义不大。因此,加深网络的直观理由是希望那些原本无法被光滑表示的函数能够被光滑地表示。

exp(sin(x12+x22)+sin(x32+x42))\exp(\sin(x_1^2+x_2^2)+\sin(x_3^2+x_4^2)),对于这种函数,一般需要构建三层神经网络,第一层学习平方运算,第二层学习sin函数运算,第三层学习指数运算。

对于函数空间问题

  • 当前的理论假设所有函数都是光滑的
  • 乘法运算:可以通过公式xy=(x+y)2(x2+y2)xy = (x+y)^2-(x^2+y^2)实现
  • 除法运算:xy=eln(x)ln(y)\frac{x}{y}=e^{\ln(x)-\ln(y)}
  • 特殊函数:贝塞尔函数.....
  • 阶段转换函数:绝对值函数?双曲正切函数?
  • 越复杂的函数需要过多层的KAN网络,每一层表示一类运算

B样条(B-spline)插值

B样条(B-spline)基函数是一组分段多项式函数,用于构造平滑的曲线或函数逼近。

  • 节点向量(Knots):一系列非递减的实数t0,t1,,tn+kt_0,t_1,\cdots,t_{n+k},其中nn是基函数的数量,kk是样条的阶次。
  • 阶次kk:决定了样条的平滑程度的多项式的次数

递归定义

  • B样条基函数Bi,k(x)B_{i,k}(x)通过Cox-de Boor递归公式定义

  • 初始条件(零阶基函数)

Bi,1(x)={1tix<ti+10otherB_{i,1}(x)=\begin{cases}1& t_i\leq x < t_{i+1}\\0& \text{other}\end{cases}

  • 递归公式(高阶基函数)

Bi,k(x)=xtiti+k1tiBi,k1(x)+ti+kxti+kti+1Bi+1,k1(x)B_{i,k}(x)=\frac{x-t_i}{t_{i+k-1}-t_i}B_{i,{k-1}}(x)+\frac{t_{i+k}-x}{t_{i+k}-t_{i+1}}B_{i+1,k-1}(x)

导数

ϕ(x)x=ni=1ciBi,k(x)x\frac{\partial\phi(x)}{\partial x}=\underset{i=1}{\overset{n}{\sum}} c_i\frac{\partial B_{i,k}(x)}{\partial x}

导数的递归公式

Bi,k(x)x=(k1)(Bi,k1(x)ti+k1tiBi+1,k1(x)ti+kti+1)\frac{\partial B_{i,k}(x)}{\partial x}=(k-1)\left(\frac{B_{i,k-1}(x)}{t_{i+k-1}-t_i} - \frac{B_{i+1,k-1}(x)}{t_{i+k}-t_{i+1}} \right)

节点向量获取方法

  • 均匀节点向量:简单易行,适用于数据分布均匀的情况。

  • 数据驱动节点向量:根据数据分布设置节点,更好地适应数据特性。

  • 自适应节点向量:将节点位置作为可训练参数,提高模型灵活性。

  • 平衡模型复杂度和性能:节点数量和可训练参数的增加可能导致过拟合,需要适当正则化。

  • 确保数值稳定性:在优化节点位置时,要防止数值不稳定和训练过程的震荡。

  • 合理初始化和预处理:良好的初始节点位置和数据预处理有助于模型的训练和性能提升。

本文作者:feihua

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!