本篇文章2876字,读完约7分钟
原标题:傅立叶变换及其在ai中的应用来源:简洁而彻底地说明面包板社区
我来介绍一下
傅立叶变换是历史上最深刻的数学见解之一,但不幸的是,它的意义被深深地嵌入了一个有点荒唐的方程中。
傅立叶变换是把某物分解成正弦波堆的方法。 和往常一样,这个名字来自一个叫傅里叶的老数学家。
用数学术语来说,傅立叶变换是把信号转换成其构成成分和频率的技术。
傅立叶变换不仅被广泛用于信号(无线、声音等)的解决,还被广泛用于图像的分解(例如傅立叶变换)。 边缘检测、图像滤波、图像重建、图像压缩一例:透射电子显微镜图像的傅立叶变换有助于检查样本的周期性。 周期性-表示模式。 数据的傅立叶变换可以扩展关于分解样本的可访问消息。 为了更好地理解它,信号x(t ) :
对其他信号进行同样的操作,如果选择了同一时刻,则测量其振幅。
考虑另一个信号y ( t ) :
如果我们发出这两个信号或者把它们加在一起会怎么样呢?
我们同时发送这两个信号,就会得到新的信号。 这是这两个信号振幅的和。 因为这两个信号要相加。
把两个信号相加: z(t)=x(t)+y(t )
如果只给定一个信号( x(t )和y(t )之和),能复原原始信号x(t )和y(t )吗?
“是的”。 这就是傅里叶变换的作用。 吸收信号分解成频率。
在我们的例子中,傅立叶变换将信号z(t )分解为信号x(t )和y(t )这样的构成频率。
傅立叶变换的作用是把我们从时域转移到频域。
简述傅立叶变换及其在ai中的应用
如果有人怀疑,我们会从频域返回时域吗?
我们可以使用傅立叶逆变换( ift )来实现。
时域中的连续信号可以由无限的正弦波唯一地表示。
这是什么意思?
也就是说,如果一个函数生成信号,x(t )可以提出另一个函数。 f(t )例如是,
这是因为无论信号有多强,都是无限的正弦曲线之和,实际上可以找到完美地表示信号的函数f(t )。
现在的问题是如何用上式找到系数。 因为这些值决定输出的形状,决定信号的形状。
因此,为了得到这些系数,采用傅立叶变换,同时傅立叶变换的结果是一组系数。 因此,x(w )用于表示傅立叶系数。 这是频率的函数,通过求解以下积分得到。
傅立叶变换表示为不定积分:
x(w ) :傅立叶变换x(t ) :傅立叶逆变换
傅立叶变换和傅立叶逆变换
同样,如果实际求解上述积分,则在下一个位置对应于这些复数a和b的系数。
连续傅立叶变换把无限持续时间的时域信号变换成由无限数目的正弦波构成的连续频谱。 实际上,我们解决的是离散采样的信号,通常以固定间隔、有限的持续时间或周期性地进行。 因此,经典傅立叶变换算法被表示为离散傅立叶变换( dft ),其将函数的等间距样本的有限序列变换为离散时间的等间距样本的等长度序列傅立叶变换。
因此,这本质上是离散傅里叶变换。 你可以进行这个计算。 同时生成复数。 傅里叶级数有两个系数a+ib。
我现在知道如何对信号进行采样和应用离散傅立叶变换。 最后,我想摆脱多个I,因为不受支持的mllib或systemml采用了称为欧拉公式的规定。
因此,如果把欧拉公式代入傅立叶变换方程式求解,就会生成实部和虚部。
x构成复数形式的a+ib或a-ib。 因为在这里,求解上式可以得到傅立叶系数a和b。
现在,如果只把a和b的值代入等式,f(t )可以根据信号的频率定义信号。
通常,我们采用快速傅立叶变换( fft )算法,将dft递归地划分为小dft,这大大缩短了所需的计算时间。 dft的时间多,噪声为2n,fft的时间多,噪声为2nlogn。
为什么采用表示信号的时候馀弦和正弦函数?
正弦和馀弦函数最初是基于直角三角形定义的,但目前从其立场来看不是最好的事件。 以前据说正弦函数是斜边对立的,现在有几个不同的视点。
考虑单位圆:
位于笛卡尔平面上。如果通过原点的直线和轴逆时针形成立场θ,则直线和圆的交点为( cosθ,sinθ)。
请想想这样的观点和早的观点有关联吗? 这两个定义是一样的。
假设通过直线增加θ开始旋转直线。
正弦和馀弦函数有时可以说是最重要的周期函数。
shm振荡器中的位移、速度和加速度如何随时间变化的周期函数是正弦函数。
每个粒子都有波动的性质,反之亦然。 这是德布罗意的波粒对偶。 波总是em波电场和声波压力等物理量的正弦函数。
声音本身是压力的扰动,通过可压缩和扩展的材料介质传递。 和声波在一起的地方的压力随时间正弦变化。
傅里叶变换的收敛
如果点以恒定的速度围绕圆移动,地面上的高度将跟踪正弦函数。 点的移动速度对应于频率,圆的半径对应于振幅。
再增加一个日元,
再加两个圆,
简述傅立叶变换及其在ai中的应用
再追加9个圆:
简述傅立叶变换及其在ai中的应用
几乎是离散的波形。
通过傅里叶定理,可以生成具有适当频率和半径的圆的任意信号。
人工智能中的傅里叶变换
傅立叶变换是线性函数,可以引起非线性。 采用卷积。
两个信号乘积的傅立叶变换是两个信号的卷积。
将x(t )和y(t )设为具有卷积x(t)*y(t )两个函数,f表示傅立叶变换时
f{x(t).y(t)}=x(t)*y(t
注意,时域卷积是频域中的乘法。 这是傅立叶变换主要用于机器学习,特别是深度学习算法的方法。
以卷积神经网络( cnn )为例
CNN 90 %的计算是卷积的,同时有几种降低该计算强度的方法,其中之一是快速傅立叶变换( fft )。
代替卷积,输入和滤波器矩阵由fft转换到频域并相乘。 然后,通过逆fft(ifft )使输出返回时域。
fft的另一个用途是可以用于降维和特征提取。
如果数据集的各个采样是信号(如时间序列或图像),则可能包含数千个采样。 但是,实际上可能只对应傅立叶域内的几点(特别是如果有一定的周期性的话)。 这大大简化了问题。
采用傅里叶域有时会提供平移不变性。 也就是说,即使信号之间存在滞后,这种分散也不会影响傅立叶域中的表现。
傅立叶变换的python实现
使用numpy和scipypython库可以完成fft最简单的实现。
%matplotlibinline
importnumpyasnp
importmatplotlib.pyplotasplt
importscipy.fftpack
#numberofsamplepoints
n=600
#samplespacing
t=1.0/800.0
x=np.linspace(0.0,n*t,n )
y = NP.SIN ( 50.0 * 2.0 * NP.PI * x ) + 0.5 * NP.SIN
yf=scipy.fftpack.fft(y )
xf = NP.linspace ( 0.0,1.0/( 2.0 * t ),n/2 )
fig,ax=plt.subplots ( )
ax.plot(xf,2.0/n*np.abs(yf[:n//2] ) )
plt.show ( )
fft图
责任:俞雪峰
标题:【要闻】简洁透彻讲解傅立叶变换及其在AI中的应用
地址:http://www.tjsdzgyxh.com/tyxw/21448.html