将 CNN 应用于快速傅立叶变换?
我有应用快速傅里叶变换的数据。 (特定赫兹的幅度)
互联网上有将 CNN 应用于梅尔频谱图的解决方案,但是,我没有看到将 CNN 应用于快速傅里叶变换信号的解决方案。
CNN 是否有可能应用于快速傅里叶变换信号?
还是因为 CNN 正在考虑时间属性而不可能?
谢谢!
I have data that fast time fourier transform is applied.
(amplitudes at specific Hzs)
There are solutions on internet that CNN is applied to mel spectrogram, however, I see no solution that CNN is applied to Fast Fourier Transformed signal.
Is it possible that CNN is applied to Fast Fourier Transformed signals?
Or is it not possible because CNN is considering temporal attribute?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我假设电子表格的每一行都是 IID,例如,重新排序该电子表格中的行不会改变问题。
在这种情况下,您遇到了一个非常典型的机器学习问题。事实上,FFT 已经被应用并且特定的频率响应(列)已经被提取,这是一个称为“特征工程”的过程。在神经网络普遍使用之前,这是所有机器学习问题的标准步骤,并且在许多领域仍然很常见。
对于经过特征设计的数据,您应该考虑传统的机器学习算法。我想到了随机森林、XGBoost 和线性回归。全连接神经网络也是合适的,但我通常认为它的性能不如其他机器学习方法。
CNN 的特点是它对有序数据序列进行操作。在您的情况下,派生数据集的原始数据将适合 CNN。在声音文件中,您拥有一维信息序列。如果不从根本上改变数据的含义,就无法在时间维度上对数据进行重新排序。
2D CNN 在 X 和 Y 中的像素顺序无法更改的图像上运行。数据的顺序再次很重要。这同样适用于 3D CNN。
请注意,FFT 的应用仅以一组有限的频率响应来表示,从而从根本上使您的解决方案产生了偏差。所有特征工程从根本上都在偏向问题,大概是以一种经过深思熟虑的方式。然而,数据中完全有可能存在其他有用的信号,这些信号不是由 FFT @ 10、20、30 Hz 等表示的。CNN 有能力学习自己的 FFT 版本以及其他非 FFT 版本。循环模式。通常,缺乏特征工程步骤是 CNN 和传统 ML 算法之间的关键区别。
I'm assuming each row of your spreadsheet is IID, e.g. it wouldn't change the problem to re-order the rows in that spreadsheet.
In this case you have a pretty typical ML problem. The fact that the FFT has already been applied and specific frequency responses (columns) have been extracted is a process called "feature engineering". Prior to the common use of neural networks, this was a standard step in all machine learning problems and remains common to a great many domains.
With data that has been feature engineered, you should look to traditional ML algorithms. Random Forests, XGBoost, and Linear Regression come to mind. A fully connected neural network is also appropriate, but I would typically expect it to under-perform other ML methods.
The hallmark of a CNN is that it operates on an ordered sequence of data. In your case the raw data, from which your dataset was derived, would be appropriate for a CNN. In a sound file you have a 1D sequence of information. You could not re-order the data in the time dimension without fundamentally changing its meaning.
A 2D CNN operates over an image where the pixel order in X and Y cannot be changed. Again the sequential order of the data matters. The same applies for 3D CNNs.
Be aware that the application of a FFT has fundamentally biased your solution by representing it only in a limited set of frequency responses. All feature engineering is fundamentally biasing the problem, presumably in a well thoughout-out way. However, it's entirely possible that other useful signals in the data exist, which aren't expressed by the FFT @ 10, 20, 30 Hz, etc. The CNN has the capacity to learn its own version of an FFT as well as other non cyclic patterns. Typically, the lack of a feature engineering step is the key differentiator between the CNN and traditional ML algorithms.