作者znmkhxrw (QQ)
看板Math
標題[其他] 為何訊號處理要用隨機過程建模
時間Sat Sep 11 11:18:28 2021
不好意思手機發文排版不太好, 想請教各位關於標題的一些想法, 困擾我兩年了...:
================================
看AEC, ANC, beamforming...諸如這些訊號處理算法時對於數學式很頭痛, 不像原文書那
樣假設,符號, 定義, 推論都很明確
一般邏輯是先大致view他的數學式想表達什麼, 但是要複證時很容易出現說a式推到b式是
依據某個reference, 而去找reference時他要馬又是引用某個reference, 要馬就是他的
條件或是數學式跟引用他的文章對不上, 更痛苦的是馬上就冒出了某段psuedo code演算
法, 然後聲稱這段算法就是在逼近或實作他的數學式...
尤其訊號處理的數學式幾乎都是用隨機過程建模的, 以及在處理期望值, 但卻又因為實務
上真正的input根本只是某串已知的實數列, 比如某個人的聲音, 某首歌, 某段噪音, 或
是某段模擬的訊號...而又有聽說一些神奇的說法:
1. 在進電腦前你根本不知道是什麼訊號
2. 電腦看到x_n時, 你永遠不知道x_n+1是什麼
因此這裡就有兩個方向的問題:
(1) 為什麼要用隨機過程建模?
這個方向就是會假設實數列x_n是某個隨機過程X_n(w)取某個事件w而得到的結果, 但是因
為實務上只有拿到某串x_n, 所以在計算期望值時都只能假設這隨機過程是ergodic然後用
各種moving average的方式去逼近期望值(更不用說有各種移動平均的定義, 每個定義哪
可能都逼近到一樣的期望值), 而且論文的演算法也都只是在算x_n
也就是說, 我看不到建了這個隨機過程的好處是什麼, 反而還要為了這些建模假設一堆實
務上看不到的東西, 比如w是不重要的, 機率空間是不重要的, 重要的是機率密度函數...
之類的說法
(2) 如果只是對x_n做實數列假設會怎樣嗎?
有諸多關於實數列定理描述如: 數列滿足什麼條件就會有什麼性質. 為什麼訊號處理不這
樣就好了, 還很好驗證, 比如某個實訊號不滿足某個結論, 那他一定可以藉由某個定理去
驗證說不滿足某個條件
這些疑問導致兩個心得是:
(a) 論文的理論推導跟演算法根本很難對上, 但是演算法卻有理論的"影子跟味道"...而
實刻演算法卻又"大致上有效果", 所以又覺得他一定有道理在, 只是寫不清楚或是自己推
導不出來而已
(b) 因為notation不清楚導致很難驗證他到底證的是否正確, 有時候x_n = X_n(w), 有時
候又有x_n = X(w_n)的味道, 更有時候又加入了一些"文字型敘述的定理或假設"就直接說
a式推到b式, 但是去google這些關鍵字時, 這定理成立的前提也不一定原論文會滿足...
===============================
總之, 工作上從機器學習, 深度學習到訊號處理, 這些領域的建模都跟統計息息相關, 然
後都是用隨機過程與期望值...所以看這些領域相關的論文都很痛苦, 為什麼不能像分析
與代數領域的數學一樣定義, 假設, 推論都很明確, 統計這領域卻帶給我很多模糊的感覺
...當然隨機過程的嚴格定義用抽象測度空間很明確沒錯, 但是面臨論文證明或是文字解
釋時又會充斥著: 樣本空間不重要, w不重要, X_n(w)的c.d.f.才重要(通常會用假設的方
式去說他有某個c.d.f., 可是你根本無法驗證你的x_n是否是這個c.d.f取出來的, 比如un
iform distribution也是有可能都抽出一樣的點, 只是機率非常低)...等等這些似是而非
的詞
以上是我的困擾與看法, 再請有涉獵的人分享一下是不是我被卡在某個盲點或是有什麼re
ference可以解決我的問題, 非常感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.255.31 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Math/M.1631330310.A.116.html
1F:→ recorriendo : 因為你讀的是論文 不是書09/11 13:08
2F:→ recorriendo : 論文就是要展現新的成果 不是慢慢來從基礎建立理論 09/11 13:09
3F:推 recorriendo : 想要懂理論請去找statistical signal processing 09/11 13:11
4F:→ recorriendo : 的書看 09/11 13:11
我知道論文會把理論當已知, 而因為在業界了所以學習的方向變成缺什麼再從那個關鍵字
決定要補什麼, 但是我就是很常遇到用論文的關鍵字所搜尋到的東西跟論文對不起來
比如某式推得某式是因為大數定理, 那我就去查大數定理的嚴格敘述, 而光是要把論文的
符號跟嚴格數學定理的符號對上就要猜不少時間(比如x, X, x_n, X_n), 更甚者其實那些
定理的條件都不少, 我等於是要幫論文去下註解說他假設滿足這些條件
即便以上事情都順了, 還是無法解決我原文的問題:
1. 如果不符合條件呢, 怎麼驗證符不符合條件? 因為我們無法"檢驗"隨機變數是否滿足
條件, 因為拿到的資料都已經是取樣後的值
2. 不用隨機過程/變數的話可以嗎?
總之我相信全部都有嚴格定義跟假設下當然是對的, 只是論文在引用或書寫時以及聲稱用
某個演算法能夠達到他的定理時, 我往往都對的很辛苦最後也是無法完美對上
補充: 關於符號混亂這件事, 這邊有個例子是我以前詢問的
https://moptt.tw/p/Math.M.1516676320.A.723
花了好多時間在猜他是x還是X還是p(x)還是p(w), 然後因為有Radon Nikodym定理所以感
覺換來換去也有道理, 但是此定理需要絕對連續的測度之類的條件, 我也沒看到論文有這
些條件
等於是說, 我只能假設論文是基於"everything behaves well"然後什麼定理都可以用...
而最後在實作的部分, 不管他寫的理論到底對還錯, 只要"聲稱"我這個演算法在實作那些
理論, 並且實驗起來有效果, 那就是有效果, 可是我就是無法"證明"他的演算法取limit
會是理論值
※ 編輯: znmkhxrw (111.255.239.106 臺灣), 09/11/2021 13:32:43
5F:推 cuylerLin : 這個就是理論與實務(至少在臺灣)巨大的差距,實務 09/11 14:38
6F:→ cuylerLin : 上在意的是一個東西「堪不堪用」(i.e., 在大多數情09/11 14:39
7F:→ cuylerLin : 況它都是對的,且業界其他人也都是這樣用的話,儘管09/11 14:39
8F:→ cuylerLin : 它跟理論有所出入也會被接受,甚至開始脫離理論的嚴09/11 14:39
9F:→ cuylerLin : 謹度),所以對這些人來說發表新論文的方法就是不斷09/11 14:39
10F:→ cuylerLin : 地引用前人的成果、調整一些參數達到「更好的」表現 09/11 14:39
11F:→ cuylerLin : ,基本上不會有人在意當出錯的時候該怎麼辦?這不是 09/11 14:39
12F:→ cuylerLin : 主流實務導向的人會在意的問題。如果你真的要有什麼09/11 14:39
13F:→ cuylerLin : 完備或系統化的訓練,且最終目標是「真正創造出新的09/11 14:39
14F:→ cuylerLin : 東西」的話,就是要從高等微積分、測度高等機率、隨09/11 14:39
15F:→ cuylerLin : 機過程、訊號處理、小波分析等地方出發了解,再慢慢09/11 14:39
16F:→ cuylerLin : 堆疊一定成熟的能力。09/11 14:39
17F:推 maplefff : 因為方便啊 09/11 20:11
18F:→ mantour : 我覺得可以想成如果要發表一個實用的演算法, 最重要 09/11 21:23
19F:→ mantour : 的點應該是他在某些情況比現在已知的演算法表現好09/11 21:23
20F:→ mantour : 理論只是用來解釋怎麼想到要這樣算的, 即使這個演算09/11 21:24
21F:→ mantour : 法的極限, 可以證明跟理論值之間有誤差, 也就是有 09/11 21:26
22F:→ mantour : 理論上的bias, 只要在它的應用範圍內這個bias不重要09/11 21:26
23F:→ mantour : 人家一點也不會在意 09/11 21:26
24F:→ recorriendo : 嚴格的條件是數學證明上有用 實務上不會一個一個驗 09/11 22:59
25F:→ recorriendo : 證 統計信號處理基本上統計的部分就是noise model09/11 22:59
26F:→ recorriendo : 暴力的驗證法就是直接量真實的noise和用假設的noi09/11 22:59
27F:→ recorriendo : se model模擬出來的理論noise比對機率分佈 09/11 22:59
28F:→ recorriendo : 不暴力的驗證法通常是針對特定性質的test 例如最基09/11 22:59
29F:→ recorriendo : 本的stationary就有好幾種tests可供選擇09/11 22:59
謝謝cu, ma, re三位分享, 綜合起來我覺得我太在意他的理論跟他的實作"一定要對的上"
了, 或許中間的橋樑就是在"作者默認實際訊號會符合他的假設 & 演算法能逼近他的理論
"
至於到底有沒有辦法就是實驗結果了, 只是實驗不可能test all patterns, 所以當有不
對的地方就是讓算法更進一步的空間了
※ 編輯: znmkhxrw (111.255.239.106 臺灣), 09/14/2021 00:11:38
30F:推 cuylerLin : 來講一個曾經作過的夢XD 很多寫論文的人,特別是( 09/14 14:24
31F:→ cuylerLin : 但不限於)工科方面,基本上都是先有實驗數據與結果 09/14 14:24
32F:→ cuylerLin : 出來後,才開始回頭引用各種相關文獻,再把會用到的 09/14 14:24
33F:→ cuylerLin : 方法剪剪貼貼。所以很多時候這些人其實根本不知道自 09/14 14:24
34F:→ cuylerLin : 己真正在用什麼,只是為了讓論文有一個數學理論的「 09/14 14:24
35F:→ cuylerLin : 樣子」在那邊而已~甚至數學符號經常前後出入XD 09/14 14:24
36F:→ cuylerLin : 個人因本身背景出身的關係,覺得這樣的操作相當危險 09/14 14:24
37F:→ cuylerLin : (precarious),而原PO有探究理論與實務如何橋接的 09/14 14:24
38F:→ cuylerLin : 學習心態實屬難得,但真正想要解決這個 gap、真正創 09/14 14:24
39F:→ cuylerLin : 造出新的東西,在面對「當實務上出錯時該怎麼辦」的 09/14 14:24
40F:→ cuylerLin : 問題時,最後還是要回到理論發展本身,我們還是需要 09/14 14:24
41F:→ cuylerLin : 具備一定成熟度的數學能力與工具~ 09/14 14:24
謝謝你的鼓勵~我再繼續努力, 感恩!
※ 編輯: znmkhxrw (42.74.113.69 臺灣), 09/14/2021 16:00:22