「趣味數學」傅立葉變換及其在人工智慧中的應用

2020-11-23 老胡說科學

介紹

傅立葉變換是數學中最深刻的見解之一,但不幸的是,它的意義被埋在一些荒謬的方程中。傅立葉變換是一種把東西分解成正弦波的方法。這個名字來自一個數學家叫傅立葉。

在數學術語中,傅立葉變換是一種將信號轉換成其組成成分和頻率的技術。

傅立葉變換不僅廣泛應用於信號(無線電、聲學等)處理,而且廣泛應用於圖像分析等領域。邊緣檢測、圖像濾波、圖像重建和圖像壓縮。一個例子:透射電鏡圖像的傅立葉變換有助於檢查樣本的周期性。數據的傅立葉變換可以擴展分析樣本的可訪問信息。

為了更好地理解它,考慮一個信號x(t):

如果我們對另一個信號做同樣的事情,選擇相同的時刻,然後測量它的振幅。

考慮另一個信號y(t):

當我們同時發出這兩種信號或者把它們加起來會發生什麼?

當我們在同一時刻發出這兩個信號時,我們得到一個新的信號,它是這兩個信號的振幅之和。這是因為這兩個信號被加在一起了。

將兩個信號相加:z(t) = x(t) + y(t)

如果我們只有一個信號(它是x(t)和y(t)的和)我們能恢復到原始信號x(t)和y(t)嗎?

是的。這就是傅立葉變換的作用。它接收一個信號並把它分解成組成它的頻率。

在我們的例子中,傅立葉變換將信號z(t)分解成它的組成頻率,就像信號x(t)和y(t)一樣。傅立葉變換的作用是把我們從時域移到頻域(不理解沒關係)。

如果有人想知道,如果我們想從頻域回到時域呢?我們可以通過使用傅立葉反變換(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

為什麼用餘弦和正弦函數表示信號?

雖然Sine和Cosine函數最初是基於直角三角形定義的,但在當前情況下,從那種角度看並不是最好的事情。您可能已經被教會認識到正弦函數是「斜邊對立的」,但是現在是時候有一點不同的觀點了。

考慮單位圓:

在笛卡爾平面上。假設通過原點的直線與軸在逆時針方向上成角度θ,則直線與圓的交點為(cosθ,sinθ)。

想一想。這種觀點與較早的觀點相關嗎?這兩個定義是相同的。

假設我們通過使θ線性增加開始旋轉直線。你會得到這樣的東西:

正弦和餘弦函數在某些情況下可以說是最重要的周期函數:

SHM振蕩器中位移,速度和加速度如何隨時間變化的周期性函數是正弦函數。每個粒子都有波動的性質,反之亦然。這是德布羅意的波粒對偶。波始終是某種物理量的正弦函數。聲音本身就是一種壓力擾動,它通過能夠壓縮和膨脹的物質介質傳播。它是聲波在某一點上的壓強,它隨時間呈正弦變化。

傅立葉變換的收斂

如果一個點以恆定的速度繞圓運動,則其在地面上方的高度將跟蹤正弦函數。點移動的速度對應於頻率,圓的半徑對應于振幅。

再增加1個圓,

再添加2個圓,

再添加9個圓;

人工智慧中的傅立葉變換

傅立葉變換是線性函數,可引起非線性。使用卷積。

2個信號的乘積的傅立葉變換是2個信號的卷積。

令x(t)和y(t)是兩個具有卷積X(t)* Y(t)的函數,並且F表示傅立葉變換,則

F{x(t).y(t)} = X(t)*Y(t)

請記住,時域中的卷積是頻域中的乘法。這就是傅立葉變換主要用於機器學習,尤其是深度學習算法的方式。

我將以卷積神經網絡為例;

CNN中90%的計算都是卷積,並且有許多方法可以降低這種計算的強度,其中之一是快速傅立葉變換(FFT)。

代替卷積,輸入和濾波器矩陣通過FFT轉換到頻域,以進行乘法。然後,通過FFT(IFFT)將輸出轉換回時域。

FFT的另一用途是可用於降維或特徵提取。

當數據集中的每個樣本都是信號(時間序列或圖像等)時,它可能包含數千個樣本。但是它們實際上可能只對應於傅立葉域中的幾個點(特別是如果存在一定的周期性)。這大大簡化了問題。

有時使用傅立葉域可能會提供平移不變性。也就是說,即使信號之間存在滯後,這種方差也不會影響它們在傅立葉域中的表示。

傅立葉變換的Python實現

可以使用numpy和scipy python庫完成FFT的最簡單實現。

結論

FFT用於數字記錄、採樣、加法合成和基音校正軟體。

FFT的重要性來自於這樣一個事實:它使得在頻域工作與在時間域或空間域工作在計算上同樣可行。好了,這就是這篇文章的全部內容,希望你們喜歡。

相關焦點

  • 傅立葉為何變換?
    因為,傅立葉變換的定義非常唬人:傅立葉變換定義式唬人是啥意思呢?「唬」其實是多音字,不僅讀hu,還尼瑪能讀xia(也不知這是誰定的):傅立葉變換剛才提到的傅立葉級數,其實有一個前提,就是要求信號是周期的,或者,它在一個周期內是有限長度的,我們再進行周期延拓(複製粘貼到其它周期),這是由於正弦函數這個「元素」本身的周期性造成的。如果信號是無限長且「非周期」,那麼,我們就要用到傅立葉變換了。實際上,傅立葉變換就是「頻率上極其緻密」的正弦波的疊加。
  • 傅立葉變換,拉普拉斯變換和Z變換的意義
    本文引用地址:http://www.eepw.com.cn/article/280827.htm  傅立葉變換在物理學、數論、組合數學、信號處理、概率論、統計學、密碼學、聲學、光學、海洋學、結構動力學等領域都有著廣泛的應用(例如在信號處理中,傅立葉變換的典型用途是將信號分解成幅值分量和頻率分量)。
  • 【E課堂】傅立葉變換拉普拉斯變換的物理解釋及區別
    傅立葉變換在物理學、數論、組合數學、信號處理、概率論、統計學、密碼學、聲學、光學、海洋學、結構動力學等領域都有著廣泛的應用(例如在信號處理中,傅立葉變換的典型用途是將信號分解成幅值分量和頻率分量)。
  • 什麼是傅立葉轉換?如何理解傅立葉變換紅外吸收光譜(FTIR)?
    1 簡介傅立葉變換紅外(FTIR)光譜是一種技術,通過產生固體、液體或氣體的紅外吸收光譜來檢測分子中的化學鍵。我們已知,人類眼睛所看到的光只是電磁輻射光譜的小部分。可見光譜的直接高能側是紫外線,低能側是紅外。
  • 傅立葉變換和不確定性原理
    在數學上,這種翻譯的過程被稱為「傅立葉變換」。傅立葉變換是一個數學上極為精美的對象:· 它是完全可逆的,任何能量有限的時域或空域信號都存在唯一的頻域表達,反之亦然。· 它完全不損傷信號的內在結構:任何兩個信號之間有多少相關程度(即內積),它們的頻域表達之間也一定有同樣多的相關程度。
  • 可視化傅立葉變換:矩形波的傅立葉變換過程原理
    連續傅立葉變換採用輸入函數f(x)中的時域和把它變成一個全新功能的頻域中的函數F(ω),而傅立葉變換是專門用來解決非周期函數的,非周期函數通過傅立葉變換實現從時域到頻域的轉換,如下對矩形波進行傅立葉變換矩形波是一個比較簡單的周期函數,如下只有一個矩形,所以看作非周期函數,可對其進行傅立葉變換
  • 什麼是傅立葉變換,如何用MATLAB實現?
    美國大學生數學建模競賽(MCM/ICCM)是由美國數學及其聯合會主辦,是唯一的國際性數學建模競賽,也是世界範圍內最具影響力的數學建模競賽
  • 著名的傅立葉變換圖
    上期我們談論了三角函數,但是說三角函數怎麼好意思不提那套著名的傅立葉變換圖呢?  所以:  變身吧傅立葉  不,不是變成夜禮服。    和某些公然嘲笑應用的數學家不同,傅立葉特別重視應用領域,而他的傅立葉變換也不負眾望成了工程和物理領域裡最重要的數學公式之一。
  • 史上最簡單的FFT(快速傅立葉變換)
    這個就需要傅立葉變換了。3 複數複數是數學上一個很常見的概念,複數的特點是對負數進行開方。負數相加的規則是實部(x軸)和實部相加,虛部(y軸)和虛部相加。 複數乘法的規則是模長相乘,幅角相加。都代入到多項式裡面,就得到了特殊的點值表達式,這個點值就叫做離散傅立葉變換
  • 深入淺出的學習傅立葉變換
    學習傅立葉變換需要面對大量的數學公式,數學功底較差的同學聽到傅立葉變換就頭疼。事實上,許多數學功底好的數位訊號處理專業的同學也不一定理解傅立葉變換的真實含義,不能做到學以致用!本文引用地址:http://www.eepw.com.cn/article/272577.htm  事實上,傅立葉變換的相關運算已經非常成熟,有現成函數可以調用。對於絕大部分只需用好傅立葉變換的同學,重要的不是去記那些枯燥的公式,而是解傅立葉變換的含義及意義。
  • 不看任何數學公式來講解傅立葉變換
    這兩天我們先後分享了《FFT結果的物理意義》、《傅立葉變換的物理意義》兩篇文章,相信大家對傅立葉變換原理和應用應該了解的差不多了,
  • 傅立葉變換算法(一)
    ,讓各位對其有個總體大概的印象,也順便看看傅立葉變換所涉及到的公式,究竟有多複雜:以下就是傅立葉變換的4種變體連續傅立葉變換   一般情況下,若「傅立葉變換」一詞不加任何限定語,則指的是「連續傅立葉變換」。
  • 傅立葉變換、拉氏變換、z變換的含義
    傅立葉變換的實質是將一個信號分離為無窮多多正弦/復指數信號的加成,也就是說,把信號變成正弦信號相加的形式——既然是無窮多個信號相加,那對於非周期信號來說,每個信號的加權應該都是零——但有密度上的差別,你可以對比概率論中的概率密度來思考一下——落到每一個點的概率都是無限小,但這些無限小是有差別的。所以,傅立葉變換之後,橫坐標即為分離出的正弦信號的頻率,縱坐標對應的是加權密度。
  • 傅立葉變換
    傅立葉級數實際實際是對周期函數和半周期函數的按基地函數去1、cosx、cos2x、...cosnx、sinx、sin2x、sinnx的展開式。如果定義在(-∞,∞)區間的非周期函數還能進行傅立葉展開嗎?傅立葉計算擴展到連續變換的情況後就是傅立葉積分。已知周期為2π的函數用傅立葉展開式形式如下:
  • 對傅立葉變換、拉氏變換、z變換詳細剖析
    1、關於傅立葉變換變換?我已經很久沒在知道上回答過問題了,之所以回答這個問題,是因為我本人在學習傅立葉變換及拉普拉斯變換的過程中著實受益匪淺——它們幾乎改變了我對世界的認識。傅立葉變換值得你用心去理解——哪怕苦苦思索幾個月也是值得的——我當初也想過:只要會算題就行。但浙大校訓「求是」時時刻刻鞭策著我追求對理論的理解——最終經過很痛苦的一番思索才恍然大悟。
  • 傅立葉變換、拉普拉斯變換、Z變換的聯繫是什麼?為什麼要進行這些變換?
    導讀:在知乎上看到一個問題,傅立葉變換、拉普拉斯變換、Z 變換的聯繫是什麼?為什麼要進行這些變換?我覺得這是一個非常好的問題,貌似一下子也回答不上來,所以整理學習並分享一下。什麼是數學變換?而傅立葉變換則是完全的頻域分析,傅立葉級數適用於對周期性現象做數學上的分析,傅立葉變換可以看作傅立葉級數的極限形式,也可以看作是對周期現象進行數學上的分析,同時也適用於非周期性現象的分析。什麼是拉普拉斯變換? 1814年法國數學家Pierre-Simon Laplace在研究概率論中給出了拉普拉斯的可靠數學依據,從而發展成拉普拉斯變換理論。
  • 【原創】圖解傅立葉變換
    之前看過一篇關於傅立葉分析的文章,對傅立葉變換、時域、頻域等有了點直觀的理解,但具體到計算上依然是困惑的並且對於一些概念比如卷積、可積、不可積等也是似懂非懂。由於傅立葉公式比較抽象所以就在思考能否構建一個模型,通過模型直觀的去理解或解釋傅立葉公式?
  • 島津推出新一代旗艦級傅立葉變換紅外光譜儀IRTracer-100
    傅立葉變換紅外光譜儀>IRTracer-100          島津公司現隆重推出新一代旗艦級傅立葉變換紅外光譜儀「IRTracer-100」。「IRTracer-100」能夠以高靈敏度快速輕鬆地實施食品、化學、高分子等領域的異物分析與確認試驗,並可監測1秒鐘內完成的快速反應,大幅提高了操作簡便性。
  • 傅立葉變換、拉氏變換、z變換的含義到底是什麼?
    我已經很久沒在知道上回答過問題了,之所以回答這個問題,是因為我本人在學習傅立葉變換及拉普拉斯變換的過程中著實受益匪淺——它們幾乎改變了我對世界的認識。傅立葉變換值得你用心去理解——哪怕苦苦思索幾個月也是值得的——我當初也想過:只要會算題就行。但浙大校訓「求是」時時刻刻鞭策著我追求對理論的理解——最終經過很痛苦的一番思索才恍然大悟。
  • 傅立葉變換終極解釋
    所以很多在時域看似不可能做到的數學操作,在頻域相反很容易。這就是需要傅立葉變換的地方。尤其是從某條曲線中去除一些特定的頻率成分,這在工程上稱為濾波,是信號處理最重要的概念之一,只有在頻域才能輕鬆的做到。再說一個更重要,但是稍微複雜一點的用途——求解微分方程。(這段有點難度,看不懂的可以直接跳過這段)微分方程的重要性不用我過多介紹了。各行各業都用的到。