(文:劉雪峰)
我經常去學校的自提櫃拿快遞。
(文:劉雪峰)
我經常去學校的自提櫃拿快遞。
有經驗的同學都知道,自提櫃是這麼一套操作流程:
• 快遞到了之後,物流系統會給你發一個提貨碼,例如D333EA。
• 你在自提櫃的屏幕上輸入提貨碼,則對應的儲物盒會打開。
• 你拿到快遞。
這套流程很好理解,但是,你有沒有想過一個問題:
一排自提櫃有好幾百個,如果我在自提櫃前反覆輸入嘗試,或者,我按自提碼時,按錯了幾個數字,那麼我會不會碰巧打開別人的櫃子?
不會!
為什麼呢?
概率分析
假設,這個自提櫃有1000個櫃子,每個櫃子有一個6位密碼。
密碼的每一位只包含數字0~9或字母A~Z。
假設,你隨機亂按,那麼,
你按多少次,可以打開一個櫃子呢?
這是一個概率問題。
首先,6位密碼,每位的可能性有36種,那麼,胡亂按一次,按中的概率為:
(文:劉雪峰)
我經常去學校的自提櫃拿快遞。
有經驗的同學都知道,自提櫃是這麼一套操作流程:
• 快遞到了之後,物流系統會給你發一個提貨碼,例如D333EA。
• 你在自提櫃的屏幕上輸入提貨碼,則對應的儲物盒會打開。
• 你拿到快遞。
這套流程很好理解,但是,你有沒有想過一個問題:
一排自提櫃有好幾百個,如果我在自提櫃前反覆輸入嘗試,或者,我按自提碼時,按錯了幾個數字,那麼我會不會碰巧打開別人的櫃子?
不會!
為什麼呢?
概率分析
假設,這個自提櫃有1000個櫃子,每個櫃子有一個6位密碼。
密碼的每一位只包含數字0~9或字母A~Z。
假設,你隨機亂按,那麼,
你按多少次,可以打開一個櫃子呢?
這是一個概率問題。
首先,6位密碼,每位的可能性有36種,那麼,胡亂按一次,按中的概率為:
那麼,一次能打開1000個櫃子中一個的概率為:
(文:劉雪峰)
我經常去學校的自提櫃拿快遞。
有經驗的同學都知道,自提櫃是這麼一套操作流程:
• 快遞到了之後,物流系統會給你發一個提貨碼,例如D333EA。
• 你在自提櫃的屏幕上輸入提貨碼,則對應的儲物盒會打開。
• 你拿到快遞。
這套流程很好理解,但是,你有沒有想過一個問題:
一排自提櫃有好幾百個,如果我在自提櫃前反覆輸入嘗試,或者,我按自提碼時,按錯了幾個數字,那麼我會不會碰巧打開別人的櫃子?
不會!
為什麼呢?
概率分析
假設,這個自提櫃有1000個櫃子,每個櫃子有一個6位密碼。
密碼的每一位只包含數字0~9或字母A~Z。
假設,你隨機亂按,那麼,
你按多少次,可以打開一個櫃子呢?
這是一個概率問題。
首先,6位密碼,每位的可能性有36種,那麼,胡亂按一次,按中的概率為:
那麼,一次能打開1000個櫃子中一個的概率為:
現在我們來計算一下,需要按多少次,你才可以有10%的概率打開其中一個櫃子。
這個次數n的計算公式是這樣的的:
(文:劉雪峰)
我經常去學校的自提櫃拿快遞。
有經驗的同學都知道,自提櫃是這麼一套操作流程:
• 快遞到了之後,物流系統會給你發一個提貨碼,例如D333EA。
• 你在自提櫃的屏幕上輸入提貨碼,則對應的儲物盒會打開。
• 你拿到快遞。
這套流程很好理解,但是,你有沒有想過一個問題:
一排自提櫃有好幾百個,如果我在自提櫃前反覆輸入嘗試,或者,我按自提碼時,按錯了幾個數字,那麼我會不會碰巧打開別人的櫃子?
不會!
為什麼呢?
概率分析
假設,這個自提櫃有1000個櫃子,每個櫃子有一個6位密碼。
密碼的每一位只包含數字0~9或字母A~Z。
假設,你隨機亂按,那麼,
你按多少次,可以打開一個櫃子呢?
這是一個概率問題。
首先,6位密碼,每位的可能性有36種,那麼,胡亂按一次,按中的概率為:
那麼,一次能打開1000個櫃子中一個的概率為:
現在我們來計算一下,需要按多少次,你才可以有10%的概率打開其中一個櫃子。
這個次數n的計算公式是這樣的的:
計算得,
n ≈ 210720
大概是二十一萬次。
假設小明10秒鐘按完一次,那麼,小明就是不吃不喝,得在那按超過一年半,
還只是達到10%的概率。
稀疏性是什麼
我們拋開上面的複雜計算,來重新思考一下:
為什麼概率這麼低呢?
從向量空間的角度來看,提取櫃6位的提取碼,是6維空間中的一個點。
這1000個提取櫃的提取碼,是這6維空間中的1000個點。
這6維空間的所有的可能的點,我們是完全知道的(無非就是10個數字和26個字母的組合,這1000個點都逃不出這個空間。
但之所以難試出來,就是因為空間太大,而這1000個點太稀疏了。
可謂是滄海一粟。
稀疏性,就是提取碼可靠的關鍵。
其實,稀疏性無處不在。
中國有一句古話,叫,
大道至簡;
還有一句話叫,
道生一,一生二,三生萬物。
這些思想都是說:
很多看起來複雜現象的背後,其規律,是稀疏而簡單的。
大家聽說過歐氏幾何吧,就是我們中學接觸的相似三角形、射影定理之類的理論。
歐氏幾何一共有五條公設和五個公理,這其實是歐幾里得的硬性規定。
然後,他的整個幾何世界和所有定理,都是從這幾條公設和公理中推導出來的。
就這麼幾條公理,竟能一路推推推,推出厚厚的前六卷《幾何原本》來。幾何世界千變萬化,大自然中的幾何圖形更是無窮無盡,都逃不過上面這簡單的幾句話。
還有我們學過的牛頓三定律。
牛頓的力學定律非常簡單,就三句話,初中生就能學會。但是,這簡單的三句話,卻可以解釋小到一塊石子、大到一顆星球的運動規律,而且,以當時的觀測條件,理論計算的結果很精確。
圖像處理
關於圖像的稀疏性,我來舉個例子。
如果我們要存儲很多高清圖片,而又想節約存儲設備,那麼,我們可以:
對圖像進行奇異值分解。
然後,在儘可能保證圖像可被識別的前提下,只保留奇異值較大的若干項,捨去奇異值較小的項即可。
比如,這個小女孩的灰度圖的例子,
(文:劉雪峰)
我經常去學校的自提櫃拿快遞。
有經驗的同學都知道,自提櫃是這麼一套操作流程:
• 快遞到了之後,物流系統會給你發一個提貨碼,例如D333EA。
• 你在自提櫃的屏幕上輸入提貨碼,則對應的儲物盒會打開。
• 你拿到快遞。
這套流程很好理解,但是,你有沒有想過一個問題:
一排自提櫃有好幾百個,如果我在自提櫃前反覆輸入嘗試,或者,我按自提碼時,按錯了幾個數字,那麼我會不會碰巧打開別人的櫃子?
不會!
為什麼呢?
概率分析
假設,這個自提櫃有1000個櫃子,每個櫃子有一個6位密碼。
密碼的每一位只包含數字0~9或字母A~Z。
假設,你隨機亂按,那麼,
你按多少次,可以打開一個櫃子呢?
這是一個概率問題。
首先,6位密碼,每位的可能性有36種,那麼,胡亂按一次,按中的概率為:
那麼,一次能打開1000個櫃子中一個的概率為:
現在我們來計算一下,需要按多少次,你才可以有10%的概率打開其中一個櫃子。
這個次數n的計算公式是這樣的的:
計算得,
n ≈ 210720
大概是二十一萬次。
假設小明10秒鐘按完一次,那麼,小明就是不吃不喝,得在那按超過一年半,
還只是達到10%的概率。
稀疏性是什麼
我們拋開上面的複雜計算,來重新思考一下:
為什麼概率這麼低呢?
從向量空間的角度來看,提取櫃6位的提取碼,是6維空間中的一個點。
這1000個提取櫃的提取碼,是這6維空間中的1000個點。
這6維空間的所有的可能的點,我們是完全知道的(無非就是10個數字和26個字母的組合,這1000個點都逃不出這個空間。
但之所以難試出來,就是因為空間太大,而這1000個點太稀疏了。
可謂是滄海一粟。
稀疏性,就是提取碼可靠的關鍵。
其實,稀疏性無處不在。
中國有一句古話,叫,
大道至簡;
還有一句話叫,
道生一,一生二,三生萬物。
這些思想都是說:
很多看起來複雜現象的背後,其規律,是稀疏而簡單的。
大家聽說過歐氏幾何吧,就是我們中學接觸的相似三角形、射影定理之類的理論。
歐氏幾何一共有五條公設和五個公理,這其實是歐幾里得的硬性規定。
然後,他的整個幾何世界和所有定理,都是從這幾條公設和公理中推導出來的。
就這麼幾條公理,竟能一路推推推,推出厚厚的前六卷《幾何原本》來。幾何世界千變萬化,大自然中的幾何圖形更是無窮無盡,都逃不過上面這簡單的幾句話。
還有我們學過的牛頓三定律。
牛頓的力學定律非常簡單,就三句話,初中生就能學會。但是,這簡單的三句話,卻可以解釋小到一塊石子、大到一顆星球的運動規律,而且,以當時的觀測條件,理論計算的結果很精確。
圖像處理
關於圖像的稀疏性,我來舉個例子。
如果我們要存儲很多高清圖片,而又想節約存儲設備,那麼,我們可以:
對圖像進行奇異值分解。
然後,在儘可能保證圖像可被識別的前提下,只保留奇異值較大的若干項,捨去奇異值較小的項即可。
比如,這個小女孩的灰度圖的例子,
該照片原始文件的分辨率為1600*1200(文中展示的並非原始文件),如果直接存儲,則我們需要一個1600*1200的矩陣,消耗的存儲容量為1600*1200,接近200萬個格子。
而如果我們只保留奇異值分解的前100項,那麼,需要存儲的元素僅為,
100*( 1600+1200)
僅相當於直接存儲所需容量的15%。
這就是奇異值分解在圖像壓縮中的一個應用。
而圖像(照片)之所以能夠被壓縮,是因為圖像本身的模式,也是稀疏的。