如何根據圖像分辨率計算特徵數量?
剛剛介紹了 Andrew Ng 的神經網絡非線性假設,我們有一個多項選擇題,用於確定分辨率為 100x100 灰度強度的圖像的特徵數量。
答案是五千萬,X
但是,之前是 50 x 50 像素的灰度圖像。特徵數量為 50x50 (2500)
為什麼會這樣X代替?
然而,他確實說包括所有二次項() 作為特徵
假設您正在學習從 100×100 像素圖像(灰度,而不是 RGB)中識別汽車。讓特徵是像素強度值。如果您訓練包含所有二次項的邏輯回歸 () 作為功能,您將擁有多少功能?
在前面關於 100x100 的幻燈片中,二次特徵 (X) = 300 萬個特徵,但我仍然無法確定連接。
也許一個更簡單的案例會讓事情變得更清楚。假設我們選擇 1x2 像素樣本而不是 100x100。
從圖像中採樣像素
+----+----+ | x1 | x2 | +----+----+
想像一下,在繪製我們的訓練集時,我們注意到它不能用線性模型輕易分離,因此我們選擇添加多項式項以更好地擬合數據。
比方說,我們決定通過包含所有像素強度以及可以從它們形成的所有可能的倍數來構造我們的多項式。
由於我們的矩陣很小,讓我們枚舉它們:
解讀上面的特徵序列可以看出是有規律的。前兩項,即第 1 組,是僅由其像素強度組成的特徵。之後的以下兩項,即第 2 組,是由其強度平方組成的特徵。最後兩項,第 3 組,是所有成對(兩個)像素強度組合的乘積。
第一組:
第 2 組:
第 3 組:
但是等等,有一個問題。如果您查看序列中的第 3 組項 (和) 你會注意到它們是相等的。記住我們的住房例子。想像一下,對於同一個房子有兩個特徵 x1 = 平方英尺和 x2 = 平方英尺……這沒有任何意義!好的,所以我們需要擺脫重複的特徵,讓我們隨意說. 現在我們可以將第三組特徵的列表重寫為:
第 3 組:
我們計算所有三組中的特徵並得到 5。
但這是一個玩具示例。讓我們推導出一個計算特徵數量的通用公式。讓我們使用我們最初的特徵組作為起點。
啊! 但是我們必須去掉第 3 組中的重複產品。
因此,為了正確計算第 3 組的特徵,我們需要一種方法來計算矩陣中所有唯一的成對產品。這可以通過二項式係數來完成,這是一種從大小為 n 的相等或更大的組中計算所有可能的大小為 k 的唯一子組的方法。因此,要正確計算第 3 組中的特徵,請計算.
所以我們的通用公式是:
讓我們用它來計算我們玩具示例中的特徵數量:
而已!