转摘机器学习- 格拉姆角场

风尘阅读量 456

一、介绍

对于时序类的数据集,采用传统的回归模型处理。效果总是不怎么理想。而且在大数据时代,我们面对的数据往往都是高维的,如果仅使用这些传统方法,很多额外的有用信息可能会错过。

怎么能很好的抓住数据的特征呢? 我们应该用 CV 方法,毕竟当前 CV 有很多方法,可以很好提前图片里的特征。比如现在很流行的 transformer ,注意力机制。

但问题是,我们需要首先将时序数据转为图片这种数据,那怎么转呢? 这里就引入我们的正题了 《格拉姆角场》。

二、格拉姆矩阵

要知道格拉姆角场我们先理解一下格拉姆矩阵。假设我们有一组向量V。格拉姆(Gram)矩阵是来自V的每一对向量的内积矩阵。如下图所示,矩阵中的每个元素< vi, vj> 是向量 vi 和 vj 之间的向量乘积。s

什么是向量乘积,请点[这里](https://link.juejin.cn?target=https://baike.baidu.com/item/%E7%82%B9%E7%A7%AF/9648528?fromtitle=%E5%90%91%E9%87%8F%E5%86%85%E7%A7%AF&fromid=1146743&fr=aladdin "https://baike.baidu.com/item/点积/9648528?fromtitle=向量内积&fromid=1146743&fr=aladdin")

看到这里,可能会疑惑,所说的这些矩阵和时序数据有什么关系呢。时序数据的每个数据点并不是一个向量而是一个标量。确实如此,GAF(格拉姆角场)并不直接应用Gram(格拉姆矩阵)。

那我我们进一步了解,怎么得到GAF。

三、格拉姆角场

Gramian Angular Summation / Difference Fields (GASF / GADF)可以将时间序列转换成图像 。GAS 是基于极坐标,通过极坐标编码来生成格拉姆矩阵。

注:不会吧,不知道极坐标是啥。那么请看这里吧,请点此[查看](https://link.juejin.cn?target=https://www.shuxuele.com/polar-cartesian-coordinates.html "https://www.shuxuele.com/polar-cartesian-coordinates.html")

1、第一步是把时序数据规范化到区间[-1, +1]

2、第二步是把规范化后的值转化为极坐标

3、定义了自己的特殊的内积(见下图),就是说两个时序点之间的"内积"是这两个时序点的极坐标转化后的极角之和的余弦

四、记录问题

那为什么用极坐标?如果直接使用格拉姆矩阵,我们会发现图像是有噪声的,数据是正态/高斯分布的。这将存在的问题是数据的维度不够,时序信息有了,但缺少深层的联系。神经网络希望的数据是越稀疏越好。采用极坐标,会增加角度信息,数据升维的同时可以使数据变的更加稀疏,所以上面使用特殊内机做极坐标转换是有原因的。其实有些数学原理,我没有细讲,感兴趣的可以私信我,我把相关更详细的资料发您。一起交流。

复制代码
     ===========================
    【来源: 稀土掘金】
    【作者: FelixCoder】
    【原文链接】 https://juejin.cn/post/7172907326289133581
    声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。
标签:
0/300
全部评论0
0/300