封存 Archive
封存 Archive
科普系列 - 數學與圖像修復(五)
- 取得連結
- X
- 電子郵件
- 其他應用程式
上面提到,這個函數f所定義的並不是找出一個最接近這個數值集的數字。如果我們真的想找出距離,我們就必須要把每一個項目裏面的平方拿走。可是,拿走後如何可以保持距離都是正數的特性呢?簡單的方法,就是取絕對值。所以我們可以去定義一個新的函數
\[ g(x)=|a(1)-x|+ |a(2)-x|+…+ |a(m)-x| \]
要優化這個函數,我們就沒有辦法使用微積分的方式。主要是由於絕對值這個函數在x=0的地方「起了角」(這裏不是數學課,所以容許我只簡單地用直覺的方式講解一下就算),所以他並不是一個可微分的函數。雖然如此,要優化這個函數,我們有一個更簡單的辦法。舉一個簡單的例子,假設我們只有五個已知數(m=5),而且他們是按着由小自大的排列,a(1) < a(2) < … < a(5)。根據這個函數知的定義,g所輸出的值就是等於5段線段長度的和。所以去解決上面那個優化問題,我們就只需要不斷改變函數g的輸入值,然後看看5段線段的總長度,再找出一個輸入值令到總長度最短。我們說現在考慮兩個給予g不同的輸入值,一個在a(1)的左手邊(假設這點叫y),另一個等於a(1)。我們可以發現
g(y) = |a(1)-y| + |a(2)-y|+ … + |a(5)-y|
= |a(1)-y|+ |a(2)-a(1)| + |a(1)-y| + … + |a(5)-a(1)| + |a(1)-y|
= g(a(1)) + 5|a(1)-y|
> g(a(1))
所以我們可以發現,如果我們將函數的輸入值從a(1)左手邊向a(1)移動,函數的書出席就會相對減少。如果你不喜歡這個代數的證明,另外一個可以看見這現象的方法,可以直接從數線上看到。我們可以看見當輸入值從a(1)左手邊移動到a(1),線的總長度會少了五小段。同樣道理,我們可以發現如果輸入值從a(1)往右面移動到a(2), 線的總長度可以再少了三小段。當我們把輸入點逐漸往a(3)靠近,我們會發現線段總長度還是會一直減少。可是,一直到輸入點超越了a(3),我們就會發現線段的總長度會慢慢又開始增加起來。從這個方法,我們就很簡單地找到一個決定函數g最小值的答案,就是當我們的輸入值是等於a(3)的時候, 5段線段的總長度就會是最短。聰明的讀者就會發現,要優化這個函數g,我們就只需要將輸入值調校到這五個數目字的中位數。
上面我們討論過的兩個函數,一個是取相差的平方(就是絕對值的2次方),另外一個是取相差的絕對值(也就是絕對值的1次方)。第三個我們要討論的函數,有些奇怪,我們是取相差的零次方(絕對值的0次方)。零次方這個函數有點奇怪,尤其是在我們這個討論裏面,函數的輸入值有可能令到我們需要計算零的零次方。而這個計算的定義實在有點模糊。所以仔細一點,容許我定義
\[ {|x|}^0=\lim_{\varepsilon\rightarrow0^+}{{|x|}^\varepsilon} \]
當x越來越接近(趨向 approach to)0時,我們就會得到零。如果當x不等於0時,這個值就等於1。有了這個奇怪的定義,我們就可以考慮以下的優化問題。首先,我們定於一個用零次方做的函數
\[ h(x) = |a(1)-x|^0 + |a(2)-x|^0 + … + |a(m)-x|^0 \]
這個函數一共有m項,無論這個函數h的輸入值是什麼,函數的每一個項目要不是給我0就是給我1。所以,如果我們想找到這個函數的最小值,我就希望越多的數項給我數值0越好。那如何可以得到更多項的數值是零呢?我就需要將x調到在所有的已知數值裏面出現最多次的一個。那這個答案是什麼呢?沒有錯,這就是所有已知數裏面的眾數。
所以綜合上面的討論,統計學裏面眾數、中位數和平均值三個找出一個數目集代表的方法,其實可以把問題化成優化問題處理。
返回一些比較複雜的圖像修復問題。如果我們現在有一片區域需要修復,而又希望運用一個比較像眾數或是中位數的修復方法,我們就可以將那些非線性的方程組,寫成一個高維的函數,裏面是很多項的和,而每一項都是與相鄰差異絕對值的0或者1次方。然後修復的圖像就可以用來優化這個函數。
有趣的是,當我們要修復的區域越來越大,這些相鄰差異的計算,其實跟數值分析裏面用有限差分法(Finite Difference Method)找導數的近似值非常相似。我們甚至可以將他變成一個泛函數(Functional)的優化問題。上面所講的函數,輸入的都是一個數值。所謂泛函數,就是說我們的輸入即是一個函數。如果我們使用絕對值的1次方去定義這個泛函數,我們可以得到
\[ \min_{u} \int_{\Omega} \| \nabla u \|^1 \]
這個要優化的泛函數,是叫做函數u的總變差(Total Variation, 簡稱TV)。在圖像處理裏面是一個很重要的概念。其中一個最重要的原因,是因為這個計算跟中位數的修復方式有關。而中位數修復方式可以保持修復出來的影像清晰,而不會好像平均值一樣得到一張蒙蒙朧朧的照片。而且,相比起零次方(就是眾數)的解決方法,解決TV優化直問題的方法已經非常成熟。你可以在Google Scholar上面找一下,Total Variation這個關鍵字可以很簡單給你超過5百萬篇學術文章。
- 取得連結
- X
- 電子郵件
- 其他應用程式
留言
發佈留言