SFM算法介绍

article/2025/10/15 14:59:08

背景

股票市场存在着短线、中长线、长线等不同频率的交易模式,这些交易活动决定了股票价格的变动。为了对股票价格进行预测,该文章提出了一种循环神经网络SFM,可以从股票价格的时序数据中捕捉多种频率的交易规律,从而做出短期/长期预测。

知识基础

傅里叶变换

作用:任何周期信号都可以分解为正弦函数的累加和。

分解后:

在这里插入图片描述

用公式表示:设 x [ n ] x[n] x[n]是一系列离散信号,将其进行傅里叶变换
在这里插入图片描述
傅里叶逆变换:
在这里插入图片描述

根据欧拉公式进行一系列推导,发现 x [ n ] x[n] x[n]可以表示为一系列三角函数的和。三角函数可以看作不同的频率分量。这样就相当于从时域转换到了频域。
在这里插入图片描述

从另一个角度理解,我们也可以看做用一组特殊的正交基 e j ( 2 π / N ) k n \ e^{j(2\pi/N)kn}  ej(2π/N)kn来线性表示 x [ n ] x[n] x[n]。其中 k k k表示了不同的频率。

循环神经网络

RNN

普通神经网络的隐藏层没有连接。RNN为了提取时序数据之间的关系,让 t t t时刻的隐藏层状态受到上一时刻隐藏层状态 h t − 1 \ h_{t-1}  ht1 的影响。

在这里插入图片描述

h t = t a n h ( U h t − 1 + W x t + b ) h_{t}=tanh(Uh_{t-1}+Wx_{t}+b) ht=tanh(Uht1+Wxt+b)

在这里插入图片描述

LSTM

在这里插入图片描述

RNN中只有两个组件:输入和隐藏状态, x t x_t xt h t − 1 h_{t-1} ht1直接构成了下一刻的隐藏状态 h t h_{t} ht。LSTM中多了一个记忆细胞序列 c c c x t x_t xt h t − 1 h_{t-1} ht1组合后,和上一刻的记忆细胞一起组成了这一刻的记忆细胞。
在这里插入图片描述

输入门、遗忘门:

记忆细胞进一步通过输出门得到隐藏状态。
在这里插入图片描述

与简单的RNN网络模型比,LSTM不是仅仅依靠快速变化的hidden state的信息去产生预测,而是还利用了记忆细胞 cell 进行长程记忆。

关键就是最上层的记忆细胞,是一个近似线性流,信息衰减很弱

SFM

在LSTM的基础上进行改进,对记忆细胞进行了一个不同频率上的分解。
在这里插入图片描述

LSTM记忆细胞: D D D维向量 c t c_t ct
SFM记忆细胞:一个D X K维的矩阵 S t S_t St,行表示D个状态,列表示K个频率分量
如何更新?利用了上文介绍的傅里叶变换基, w w w代表不同频率
在这里插入图片描述

在这里插入图片描述

遗忘门需要同时控制状态和频率的流入流出

在这里插入图片描述

在这里插入图片描述

最终目的是输出隐藏状态 h t h_{t} ht,一个d维向量。所以需要再次合并。

S t S_{t} St中每一个元素是一个复数,复数可以用其振幅和相位来表示。相位的影响不大,只用振幅表示。

在这里插入图片描述
在这里插入图片描述

u a u_a ua d d d维,相当于把频率分量又结合起来。
u a u_a ua通过学习得到,表示不同频率分量的权重
在这里插入图片描述

预测

做一个 n n n步预测, n n n决定了是长期预测还是短期预测

在这里插入图片描述


http://chatgpt.dhexx.cn/article/gDJuOH1c.shtml

相关文章

增量式SfM详细流程介绍及实现方法

目前主流的SfM(Structure from Motion,运动结构恢复)可以分为两大类型,一种是全局式的,一种是增量式的。全局式(Global)sfm能够一次性得出所有的相机姿态和场景点结构。它通常先求得所有相机的位…

SLAM和SFM有什么区别?

点击上方“3D视觉工坊”,选择“星标” 干货第一时间送达 自古以来,人们惆怅千年要解决的问题: 定位、定向. 当然了还有我是谁?我在哪里? 在这个时候, SLAM与SFM 横空出世. 这两兄弟叱咤乾坤,成为人们解决上述问题的得力帮手. SFM SFM即Struct…

SFM问题简介

最近在学习opencv的知识,遇到的一些知识点和理解记录下来,由于还是小白,有所不对的地方,大家一起交流沟通 Structure from motion,简称为SFM,是单目相机在物体周围不同的角度拍摄不同的图片,而相…

SfM详细流程介绍

增量式(Incremental)sfm则是一边三角化(triangulation)和pnp(perspective-n-points),一边进行局部BA。这类方法在每次添加图像后都要进行一次BA,效率较低,而且由于误差累积,容易出现漂移问题;但是增量式sfm的鲁棒性较高。 增量式sfm初始化 初始化主要是指选取两张匹…

主流SFM处理方式的梳理

SFM是什么? SFM即Structure-from-motion运动结构重建,从大批量图像数据出发,通过相关处理,获取目标图像集3D几何(结构)和摄像机姿态(运动)信息,主要处理流程可分为如下几…

SFM过程(一)

以图像为基础的三维重建过程SFM基本如下图所示&#xff1a; 以SfM-Toy-Library代码为例&#xff0c;如下&#xff1a; ErrorCode SfM::runSfM() {if (mImages.size() < 0) {cerr << "No images to work on." << endl;return ErrorCode::ERROR;}//in…

SfM算法

参考 https://blog.csdn.net/kokerf/article/details/72630863 https://blog.csdn.net/qq_42399848/article/details/89348740 https://blog.csdn.net/lpj822/article/details/82716971 《基于无序图像集的运动恢复结构研究与实现》 Structure from Motion可以认为一个相机在运…

SFM算法流程

SFM算法流程 Figure1:Block diagram of structure from motion 1. 算法简介 SFM算法是一种基于各种收集到的无序图片进行三维重建的离线算法。在进行核心的算法structure-from-motion之前需要一些准备工作&#xff0c;挑选出合适的图片。 首先从图片中提取焦距信息(之后初始化…

Sfm方法过程及原理

1. 算法简介 SFM算法是一种基于各种收集到的无序图片进行三维重建的离线算法。在进行核心的算法structure-from-motion之前需要一些准备工作&#xff0c;挑选出合适的图片。 先从图片中提取焦距信息(之后初始化BA( Bundle adjust)需要)&#xff0c;然后利用SIFT等特征提取算法去…

SFM原理简介

Structure From Motion SFM简介 通过相机的移动来确定目标的空间和几何关系&#xff0c;是三维重建的一种常见方法。 它与Kinect这种3D摄像头最大的不同在于&#xff0c;它只需要普通的RGB摄像头即可&#xff0c;因此成本更低廉&#xff0c;且受环境约束较小&#xff0c; 在室…

SFM(Structure from Motion)一点总结

SFM&#xff08;Structure from Motion&#xff09;一点总结 运动结构恢复(Structure from motion)数十年来一直是计算机视觉领域的热门研究方向之一&#xff0c;实现了众多实际应用&#xff0c;尤其在近景三维重建中&#xff0c;该算法从获取的目标物系列影像出发&#xff0c…

sfm从运动到结构

sfm&#xff0c;即structure from motion。从一堆同一场景的照片中恢复场景的三维结构和照片拍摄时相机的位置&#xff0c;可分为全局sfm和增量式sfm。 全局sfm主要包括以下步骤&#xff1a; 1.提取各张照片上的特征点及其描述&#xff1b; 2.对所有照片相互进行特征点匹配&a…

猿创征文|SfM(Structure from Motion)学习之路

文章目录 0 前言1 理论基础1.1 书籍推荐1.2 SfM概述 2 动手实践2.1 增量式SfM复现总结2.2 部分复现结果2.3 遇到问题与解决 3 后续学习3.1 前沿论文阅读笔记3.2 Colmap使用问题3.3 三维旋转3.4 场景对齐 0 前言 一转眼&#xff0c;研究生生活已经过去两年了。开始接触SfM也是两…

SFM综述

Structure from Motion&#xff08;SfM&#xff09;是一个估计相机参数及三维点位置的问题。SfM方法可以分为增量式&#xff08;incremental/sequential&#xff09;,全局式&#xff08;global&#xff09;&#xff0c;混合式&#xff08;hybrid&#xff09;,层次式&#xff08…

计算机视觉之三维重建-SFM系统

SFM系统 1.PnP问题2. RANSAC拟合3.本质矩阵与单应矩阵4.sift特征提取*2视图欧式结构恢复求解流程*openMVG系统Tracks联通图计算流程 北邮三维重建课笔记 1.PnP问题 PnP问题&#xff1a;就是利用其中两个相机算出三维点坐标&#xff0c;再利用三维点坐标和第三个相机的像平面坐标…

java中浮点数表示方式

java虚拟机中的浮点数分为float和double两种&#xff0c;分别为32位和64位.它参考了IEEE 754的规范对浮点数进行处理。下面以float为例 &#xff0c;分析一下float数的表示方法. float的32位分成三个部分来表示一个浮点数: 浮点数的取值计算公式为: 解析: 1&#xff09; 当…

一文读懂 IEEE754 浮点数的表示方法

FBI WARNING&#xff1a;鄙人首个开源电子书 《Go 编码建议》已经上线啦&#xff0c;欢迎各位大佬斧正指导&#xff0c;协同共建。 文章目录 1.浮点数的存储格式2.移码3.浮点数的规格化3.1 单精度浮点数真值3.2 双精度浮点数真值 4.浮点数的具体表示4.1 十进制到机器码4.2 机器…

浮点数表示(IEEE 754)

引入 N S r j N Sr^j NSrj N&#xff1a;浮点数S&#xff1a;尾数r&#xff1a;基数j&#xff1a;阶码 举个例子&#xff1a; 123.456 1.23456 1 0 2 123.456 1.2345610^{2} 123.4561.23456102 其中123.456是浮点数&#xff0c;1.23456是尾数&#xff0c;10是基数(10进…

c++ 浮点数表示

1.为何称为浮点数 对于一个浮点数来说&#xff0c;其通常可以科学计数法来表示&#xff0c;而对于一个浮点数来说&#xff0c;由于次方可变&#xff0c;故小数点可以左右移动。 eg&#xff1a;-36.5 &#xff0c;及可以表示为&#xff1a;&#xff0c;也可以表示为&#xff0…

Java中浮点数的表示方法

Java中浮点数的表示方法 Java中浮点数的表示方法 1.计算机中的表示方法2.具体分析表示方法 小结 3.移位存储 小结 1.计算机中的表示方法 对于float来说&#xff0c;4个字节&#xff0c;32位&#xff0c;0-22位表示尾数&#xff0c;23-30(8位)表示指数&#xff0c;31位表示符…