本文試圖談一談類神經網路的感知機。簡單感知機網路模型即統計的線型判別模型,是多個輸入變數,經線性組合,結果以閥值 b 為分界。統計上來說,有隨機變數 X_1, ..., X_k, 

若 w_1 X_1 + ... + w_k x_k ≧ b 則歸第一類;
若 w_1 X_1 + ... + w_k x_k < b 則歸第二類。

統計上判別分析首先是 R. A. Fisher (1936) 提出的,判別分析與一些其他統計方法有些關係:首先是集群分析 (cluster analysis),這種分析對資料中的每一個記錄,或說一筆資料(有些人會把一組整體資料如一次調查的祺料稱為一筆資料,筆者把後者稱一組資料或一個資料集。換言之,一筆資料就是資料集中的一個 record,而一組資料除非特別說明否則等於一個 data set 或 file)並沒有事先歸類,而是各筆資料間有一距離或相似度的量度,運用一些準則將距離比較接近或相似度比較高的放在一起歸為同一類(群),最後全部資料被分成若干類(群)。在判別分析,整個資料集各筆資料已預先被歸類,所以重點在分辨不同類別間其他資料項(變數)的數值有什麼不同特徵,這些變數就是本文一開始說的 X_1, ..., X_k,而所屬類別可用 Y 來表示,因此諸 X_j 和 Y 之間可建立迴歸模型,如 Y 是二元反應時的邏輯斯迴歸模型 (logistic regression model) 或稱輯值模型 (logit model),也可以考慮其他迴歸模型如機率值模型 (probit model),兩者只是 p = f(x'β) 其中轉換函數 f 不同。在迴歸模型,p 的值是「理論反應」,如果 p 可以解釋為機率,那就是反應變數 Y 屬於某一類的機率,例如 Y = 1 或 0,而 p = P[Y=1]。不過,在整組資料隨機抽自同一群體(內含兩類別或多類別),或各類別樣本資料來自從各類隨機抽樣的情況,並非 p > 1/2 就表示 Y 是對應的那一類,因此泱定切割點 p_0 在 p > p_0 時判定 Y = 1 否則 Y = 0,是另一個 logistic 迴歸或類似迴歸模型需要解決的問題。另外,多變量變異數分析 (MANOVA) 把類別 Y 當成組別,而 X = [X_1 ... X_k]' 視為反應變數,在各組 X_{ij}, j = 1, ..., m, i = 1, ..., n_j 來自多變量常態群體及有共同共變矩陣的條件下,可以檢定兩組或多組資料是否「來自同一群體」或說他們的平均值向量是否相等。判別分析與 MANOVA 的不同很顯然,前者是已知兩組或多組資料是不同的,目的是要把每一觀測值 x_{ij} 分到正確組別 j 中;而 MANOVA 並不對個別觀測值重新分類,它關心的是整體的模樣,是否類組間整體而言可認為屬於不同群體。

類神經網路的簡單感知機或感知器 (perceptron) 如同判別分析,感知機的訓練或學習就是判別函數的配適 (fitting),而感知機的實際運作,即由輸入資料 x_i 產生輸出 y_i 則是判別分析的預測。判別分析可以考慮多分類的削別;感知機則常是用多個輸出變數 y = [Y_1 ... Y_p]' 來表現,可以再透過集合的運算,將 2^m 種可能的 值組合歸為所要的類別。

假設單一 X 變數,對應的 Y 值是 1, 0,可以看成是有兩個群體,對應的隨機變數是 X1, X0。給予一個資料 x,不知是來看群體 j = 1 或 0,我們希望做個判定。很多昤後 X1, X0 是沒有範圍界限的,那怎麼判定?這在形式上有點像檢定問題,但又不同,在統計檢定問題的古典思考有一個預設的假說是 H0,就好像這裡說 X 來自某個特定的群體 j = 1 或 0,把資料可能來自另一個群體當對立假說。判別分析並沒有預設資料 X 來自哪個群體,需要考慮的是錯誤分類的損失;或以貝氏觀點_事先知道 X 有 p(j) 的機會來自群體 j, j = 1 或 0,對資料 X,則可評估其來自群體 j 的後驗機率 (posterior probability) 。假設群體 1 錯誤歸類為群體 0 的損失是 C_1,群體 0 錯誤歸類為群體 1 的損失是 C_0。如果要減少群體 1 誤判為群體 0 的損失,就要縮小判定 X 來自群體 0 的區域,也就提高了群體 0 誤判為群體 1 的機率;反之,欲降低群體 0 誤判為群體 1 的機率及損失,就要縮小判定 X 來自群體 1 的區域。這就像在假說檢定,欲減少型Ⅰ誤的機率,就會増大型Ⅱ誤機率;欲減少型Ⅱ誤的機率,就會増大型Ⅰ誤機率。當然這不是絕對的,因為不同區域對兩群體的代價不同,有些區域判歸群體 0 對群體 1 而言損失(機率)小而對群體 0 而言收效大。這也像投資,有些投資本小而利大,有些則本大而利小。所以為追求損失最小化,應使用概度比 (likelihood ratio) 來決定區域歸屬:

假設 Xj 有機率密度或質量 f_j,則存在 k,使
    f_1(x)/f_0(x) > k 時 x 歸於 j = 1,或說 x 屬於 A1;
    f_1(x)/f_0(x) < k 時 x 歸於 j = 0,或說 x 屬於 A0。
當 f_1(x)/f_0(x) = k 時則依隨機方法,使
    P[X0 in A1]/P[X1 in A0] = C1/C0

這意思是:判別的決策,k 的決定及概度比恰為 k 時如何隨機化決定歸屬,將使兩種損失達到平衡,因為在概度比決定歸屬分類之外,沒有其他方式更適當了,不管就真實情況如何,捨棄概度比較低的意味在滿足另一情況的要求時犯錯的機會最小,損失因而最低。而群體 1 和群體 0 既是相同地位,沒有理由讓哪一種情形(資料來自群體 1 或 0)錯誤歸類的損失較大,

C0 P[X0 in A1] = C1 P[X1 in A0]

換個方式思考:在 x 點或連同其附近一微小區域,對群體 1 而言機率是 f_1(x) 或 f_1(x) dx,dx 表示微小區域面積;對群體 0 而言機率是 f_2(x) 或 f_2(x) dx。則

判別之損失
事實歸類 群體 1 群體 0
群體 1 0 C1 f1(x)
群體 0 C0 f0(x) 0

以決策理論的概念,決策「群體1」可能 0 損失也可能有 C0 f_0(x) (dx) 的損失;決策「群體0」可能 0 損失也可能有 C1 f_1(x) (dx) 的損失。大中取小決策準則 (minimax decision rule) 說:我們要在兩者之中取較小的,也就是說:

若 C1 f_1(x) < C0 f_0(x) 即 f_1(x)/f_0(x) < C0/C1 則判定是群體 0;
若 C0 f_0(x) < C1 f_1(x) 即 f_1(x)/f_0(x) > C0/C1 則判定是群體 1;
若 C0 f_0(x) = C1 f_1(x) 即 f_1(x)/f_0(x) = C0/C1 則皆可。

真實的情形無由得知,決策者只能從「做此決策我將有什麼損失」去思考,因此大中取小的決策法則並不要求在兩種可能的真實情況有相等的期望損失。

古典方法是把 X 在所有 Y = j, j = 1, ..., m, 的範圍分割成 m 個部分,每部分,Aj 對應 Y = j,即 X = x 來自類別(子群體) j。我們以 m = 3 為例,Y = j = 1 或 2 或 3,則決策損失表如下

判別之損失
事實歸類 群體 1 群體 2 群體 3
群體 1 0 C2|1 f1(x) C3|1 f1(x)
群體 2 C1|2 f2(x) 0 C3|2 f2(x)
群體 3 C1|3 f3(x) C2|2 f3(x) 0

同樣,以大中取小準則,

資料 x 判定為類別 j 若且唯若

max_i C{j|i} f_i(x) = min_j' max_i C{j'|i} f_i(x)

式中 i 與 j' 的範圍都是 1, ..., m, 分類變數 Y 的範圍。

如果採用貝氏方法,先驗機率 (prior probabilities) 在二分類依此處設定是 π_j = P[Y = j],而給定 Y = j,X 的條件 p.d.f./p.m.f. 是 f_j(x),故給定 X = x 則 Y = j 的條件機率,所謂後驗機率

P[Y = j| X = x] = π_j f_j(x)/(π_0 f_0(x) + π_1 f_1(x))

在多分類的情形,分母只是改為加更多項罷了。用貝氏方法,可以逐筆更新後驗機率:

P[Y = j| X = x_{n+1}]
   = P[Y = j| X = x_{n}] f_j(x_{n+1})/Σ_j' (P[Y = j'| X = x_{n}] f_j'(x_{n+1}))

前面都假設群體變數 X 是單變旺而且分布已知,但概度比的方法,單點或微小區域決策損失的想法其實直接可套用到多變量。假設資料變數 X 在分類變數 Y = j 時用 Xj 表示,有分布 MVN(μ_j, Σ),在兩分類問題,概度比方法看

e^{-(1/2)(μ_1)' Σ^{-1} (μ_1)}/e^{-(1/2)(μ_0)' Σ^{-1} (μ_0)}
  = e^{ (μ _1 - μ_0)' Σ^{-1} x - (1/2)(μ'_1 Σ^{-1} μ_1 - μ'_0 Σ^{-1} μ_0)
  = e^{ (μ _1 - μ_0)' Σ^{-1} [x - (μ _1 + μ_0)/2]}

的高低,相當於看 (μ _1 - μ_0)' Σ^{-1} x 的大小,此值愈大概度比也愈大,嚴格遞增關係。令 a Σ^{-1}  (μ _1 - μ_0),則 a' x 的分布:

如果 Y = 1 則為 N(a' μ_1, (μ_1 - μ_0)' Σ^{-1) (μ_1 - μ_0));
如果 Y = 0 則為 N(a' μ_0, (μ_1 - μ_0)' Σ^{-1) (μ_1 - μ_0))。

單變量兩群體中心1的差距是

δ = (μ_1 - μ_0)' Σ^{-1) (μ_1 - μ_0)

這是 μ_1 與 μ_0 的 Mahalanobis 距離,也正好是 a' x 在兩個群體的共同變異數。古典方法判別是要看兩種損失平衡,設

a'x > c 時判決 x 屬群體 1; 否則屬群體 0

式中 a 定義如前。判決屬群體 1 時如有錯,表示正確分布應是 N(a' μ_0, δ),其期望損失為

C0 P[ a' x > c) = C0 Φ((a' μ_0 - c)/√δ)

式中 Φ 為標準常態分布的分布函數。另一方面,判決屬群體 0 時如有錯,實際群體是群體 1,其期望損失是

C0 P[ a' x  < c) = C1 Φ((c - a' μ_1)/√δ)

則切割點 c 要滿足方程式

C0 Φ((a' μ_0 - c)/√δ)= C1 Φ((c - a' μ_1)/√δ)

顯然左邊是 c 的減函數,從 C0 到 0;右邊是 c 的增函數,從 0 到 C1。因此可解得唯一的 c 使等式成立;當然若 C1 = C0,則其解就是 a'(μ _1 + μ_0)/2,即兩群體中間點(線性變換後)。

線性函數式 a'是怎樣的函數? a Σ^{-1}  (μ _1 - μ_0), 當 Σ 是一個純量矩陣 σ^2 I 時, a =  σ^2 (μ _1 - μ_0),超平面 a'= 0 是 X 空間(x 所在的空間)上所有與 μ _1 - μ_0 垂直的 x,也 就是說 μ _1 - μ_0 是該超平面的法向量。當 Σ 不是純量矩陣,令 R = Σ^{-1/2}, x* = R x,則 x* 在群體 1 和 0 的期望值向量分別為為 R μ_1 和 R μ_0,共同的共變異矩陣是單位矩陣 I。則

(R μ_1 - R μ_0)' x* =  (μ _1 - μ_0)' R'R x =  (μ _1 - μ_0)' Σ^{-1} x

也就是說,在 X 空間的超平面 a'x = 0 相當於在轉換後,可標示為 X* 空間把兩期望值向量差當法向量的超平面。如果我們在 X 空間定義內積為

<ab> = a' Σ^{-1} b

則 a'x = 0 就是以 μ _1 - μ_0 為法向量的一個超平面。而超平面

每一個方程式 a'= d 是 X 空間(x 所在的空間)上的一個超平面,d = 0 對應的超平面 a'x = 0 與 a'x = d 的差別只是一個平移 a'(x-ο) = 0 其中  a'ο = d。

決策方法中的大中取小解則較簡單: 

ax > (μ _1 + μ_0)/2 + ㏑(C0/C1) 則判定 x 屬於群體 1;
ax < (μ _1 + μ_0)/2 + ㏑(C0/C1) 則判定 x 屬於群體 0。

也就是用一個超平面把空間做區隔,一半空間歸為群體 1,另一半空間歸屬群體 0。兩群體本來在整個空間都可出現,但因需要明定一個判別準則,所以如上用一個超平面做區分

如果不只兩分類,以三個群體為例,由前面的分析可知:判定 j = 1 的情形是

 max{C{1|2}f_2(x), C{1|3}f_3(x)}
       ≦ min{max{C{2|1}f_1(x), C{2|3}f_3(x)}, max{C{3|1}f_1(x), C{3|2}f_2(x)}}

雖然一個式子就能表示大中取小解,甚至更多分類也一樣,不過它卻包括 4 個必須同時成立的條件:

f_2(x)/f_1(x) < C{2|1}/C{1|2} 或 f_2(x)/f_3(x) < C{2|3}/C{1|2}
f_2(x)/f_1(x) < C{3|1}/C{1|2} 或 C{1|2} < C{3|2}
f_3(x)/f_1(x) < C{2/1}/C{1|3} 或 C{1|3} < C{2|3}
f_3(x)/f_1(x) < C{3|1}/C{1|3} 或 f_3(x)/f_2(x) < C{3|2}/C{1|3}

在三個群體都是常態且有相同共變異矩陣的情形,就是兩兩之間用超平面隔開,超平面隨不同錯誤損失比而平行調整:

(μ _1 - μ_2)' Σ^{-1} [x - (μ _1 + μ_2)/2] > ㏑(C{1|2}/C{2|1})
    或  (μ _2 - μ_3)' Σ^{-1} [x - (μ _2 + μ_3)/2] < ㏑(C{2|3}/C{1|2})
(μ _1 - μ_2)' Σ^{-1} [x - (μ _1 + μ_2)/2] > ㏑(C{1|2}/C{3|1})
    或  C{1|2} < C{3|2}
(μ _1 - μ_3)' Σ^{-1} [x - (μ _1 + μ_3)/2] > ㏑(C{1|2}/C{3|1})
    或  C{1|3} < C{2|3}
(μ _1 - μ_3)' Σ^{-1} [x - (μ _1 + μ_3)/2] > ㏑(C{1|3}/C{3|1})
    或  (μ _2 - μ_3)' Σ^{-1} [x - (μ _2 + μ_3)/2] > ㏑(C{1|3}/C{3|2})

這些條件涉及三個線性函數,它們其中只有兩個是「線性獨立」的

(μ _2 - μ_3)' Σ^{-1} [x - (μ _2 + μ_3)/2] 
       = (μ _1 - μ_3)' Σ^{-1} [x - (μ _1 + μ_3)/2]
                - (μ _1 - μ_2)' Σ^{-1} [x - (μ _1 + μ_2)/2]

一般 m 類別判別問題涉及 m(m-1)/2 個線性函數,但僅 m-1 個是線性獨立的。可發現僅回原問題,如果前面三分類判別問題不同類型誤判的損失都相同,則 x 歸入第一類的條件只剩下

(μ _1 - μ_2)' Σ^{-1} [x - (μ _1 + μ_2)/2] ≧ ㏑(C{1|2}/C{2|1})
(μ _1 - μ_3)' Σ^{-1} [x - (μ _1 + μ_3)/2] ≧ ㏑(C{1|3}/C{3|1})

至於一般情形,

(μ _1 - μ_2)' Σ^{-1} [x - (μ _1 + μ_2)/2] > ㏑(C{1|2}/C{2|1})
    或  (μ _2 - μ_3)' Σ^{-1} [x - (μ _2 + μ_3)/2] < ㏑(C{2|3}/C{1|2})
(μ _1 - μ_2)' Σ^{-1} [x - (μ _1 + μ_2)/2] > ㏑(C{1|2}/C{3|1})
    或  C{1|2} < C{3|2}

當 C{1|2} < C{3|2} 時需要第 1, 2 兩類相比比較偏向第 1 類,或第 2, 3 兩類相比則比較偏向第 3 類;但同時

(μ _1 - μ_3)' Σ^{-1} [x - (μ _1 + μ_3)/2] > ㏑(C{1|2}/C{3|1})
    或  C{1|3} < C{2|3}
(μ _1 - μ_3)' Σ^{-1} [x - (μ _1 + μ_3)/2] > ㏑(C{1|3}/C{3|1})
    或  (μ _2 - μ_3)' Σ^{-1} [x - (μ _2 + μ_3)/2] > ㏑(C{1|3}/C{3|2})

表示:若 C{1|3} < C{2|3} 則若第 1, 3 兩類相比比較偏向第 1 類,或第 2, 3 兩類相比則比較偏向第 2 類。但第 2, 3 兩類相比上述結果只能出現一種,即總合順序為

1  .> 3 .> 2  或  1 .> 2 .> 3

至於  C{1|2} ≧ C{3|2} 或  C{1|3} ≧ C{2|3} 其實最終仍是

第 1, 2 兩類相比比較偏向第 1 類  &  第 1, 3 兩類相比比較偏向第 1 類

不過在判定時所用的界限有些不同而已,例如前一條件使得勿須

(μ _1 - μ_2)' Σ^{-1} [x - (μ _1 + μ_2)/2] > ㏑(C{1|2}/C{2|1})
    或  (μ _2 - μ_3)' Σ^{-1} [x - (μ _2 + μ_3)/2] < ㏑(C{2|3}/C{1|2})
(μ _1 - μ_2)' Σ^{-1} [x - (μ _1 + μ_2)/2] > ㏑(C{1|2}/C{3|1})

只是說明必須「第 1, 2 兩類相比時比較偏向第 1 類」是必要的最終仍是前述兩種順序之一種成立。

上述兩兩比較方式很煩瑣,唯一好處是用線型函數做比較。但決策損失表中非零損失都是正值,如果將其取對數,並去掉相同項,則

資料 x 判定為類別 j 若且唯若

max_{i≠j} [㏑(C{j|i}) + μ'_i Σ^{-1} (x - μ _i/2)]
    = min_j' max_{i≠j'} [㏑(C{j'|i}) + μ'_i Σ^{-1} (x - μ_i/2)]

以先前的決策損失表表示:

判別損失之對數差量
事實\歸類 群體 1 群體 2 群體 3
群體 1 * (C2|1)+μ1'Σ-1(x-μ1/2) (C3|1)+μ1'Σ-1(x-μ1/2)
群體 2 (C1|2)+μ2'Σ-1(x-μ2/2) * (C3|2)+μ2'Σ-1(x-μ2/2)
群體 3 (C1|3)+μ3'Σ-1(x-μ3/2) (C2|3)+μ3'Σ-1(x-μ3/2) *

上表的「損失之對數差量」是把決策損失取對數後,拿掉共同的 x 的二次項;至於決策正確無損失則不必理會。大中取小準則是每一行(一項決策)考慮最大可能損失,而後選取其中最小的。取對數並不改變大小順序;而 x 的二次項和群體是哪個無關,更和決策無關,因此根據上表找的大中取小決策和根據前面損失表做決策是完全相同的。

上列各群體皆多元常態且共變異矩陣相同,才得到線型分類函數;若各群體共變異矩陣不等,或甚至非多變量常態群體,則古典方法和大中取小的判別方法並不等價於利用線型函數做判別。不過,等共變異矩陣多元常態分布的例子倒也給我們一個啟示:能否直接考慮線型的判別函數?若是兩分類,直接用一個超平面分隔兩類;若是 m 分類,則以 m(m-1) 個線型函數做兩兩區隔,這 m(m-1)/2 個線型區隔函數其實只有 m-1 個線性獨立。首先,考慮兩分類問題,假設資料 x 在兩群體(類)的期望值向量 μ_j 及共變異矩陣 Σj 均已知,但不知其分布,如何判別資料 x 來自哪一類(群體)?又如果我們決定採用其線型函數 a' x 映射到實數線上,如何尋找最適當的線型映射?一個想法,可能是 Fisher 的想法,是僅量擴大轉換後兩群體平均數差異,相對於變數本身的變異(如標準差)。

在群體 1,a' x ~ (a' μ_1, a' Σ_1 a);
在群體 0,a' x ~ (a' μ_0, a' Σ_0 a)。

則可以考慮

Maximize [a' (μ_1 - μ_0) (μ_1 - μ_0)' a]/[a' (Σ_1 + Σ_0 ) a]

欲極大化的目標函數是 a 的 0 階齊次函數,意謂 a 乘以任意倍數,函數值不變,因此也可將問題改成

Maximize a' (μ_1 - μ_0) (μ_1 - μ_0)' a
Subject to: a' (Σ_1 + Σ_0 ) a = 1

用 Lagrange 解法,得

 (μ_1 - μ_0) (μ_1 - μ_0)' a = λ (Σ_1 + Σ_0 ) a

故 a 是 (Σ_1 + Σ_0)^{-1} (μ_1 - μ_0) (μ_1 - μ_0)' 的特徵向量,而 λ 是其特徵值,也是目標函數的值。對形如 Abb'a = λa 的方程式,可以將 a 表示成 ,結果得  = tAb

= t (Σ_1 + Σ_0)^{-1} (μ_1 - μ_0)

代入 a' (Σ_1 + Σ_0 ) a = 1 可解得 t,但此限制條件其實不必要,或者說等於 1  的條件以任意值代替皆可,因此 t 也可以設為 1 或任意其他值。故 Fisher 的最適線型判別函數為

L(x) = (μ _1 - μ_0)' (Σ_1 + Σ_0)^{-1} x

線型判別函數在群體 j 之期望值 η_j 與變異數 σ^2_j 為

η_j = (μ _1 - μ_0)' (Σ_1 + Σ_0)^{-1} μ_j

σ^2_j = (μ _1 - μ_0)' (Σ_1 + Σ_0)^{-1} Σ_j  (Σ_1 + Σ_0)^{-1} (μ _1 - μ_0)

兩分布的中心絕對差距是

δ = η_1 - η_0 = (μ_1 - μ_0)' (Σ_1 + Σ_0)^{-1) (μ_1 - μ_0)

並且 σ^_1 + σ^2_0 也是 δ,所以 δ 也就是前面的 λ。當 σ^_1 = σ^2_0 時,可能以

c = (η_1 + η_0)/2 = (μ _1 - μ_0)' (Σ_1 + Σ_0)^{-1} [(μ_1 + μ_0)/2]

為切割點尚稱合理,但若 σ^_1 ≠ σ^2_0,似可考慮:

c = (η_1/σ_1 + η_0/σ_0)/(1/σ_1 + 1/σ_0)

為切割點,(η_1 - c)/σ_1 = (c - η_0)/σ_0, 即切割點至各群體平均值有相同標準化距離。

對多分類的問題,如果各類(各群體)共變異矩陣相同,Fisher 判別方法可以考慮

Maximize [a' Σj (μ_j - μ.) (μ_j - μ.)' a]/[a' Σ a]

即 Σj (η_j - η.)^2/σ^2,式中符號 Σj 只是對註標 j 的加總,μ. 是對諸 μ_j 的平均,η_j = aμ_j 而 η. 是諸 η_j 的平均,Σ 是 x 在各群體的共同共變異矩陣,σ^2 = a'Σa 是 a'x  在各群體的共同變異數。以上是假設不加權,必要時也可對第 j 群體賦予權量 w_j,而 μ. 與 η. 也相應地採取加權平均。則

Σj (μ_j - μ.) (μ_j - μ.)' a = λ Σ a

把 Σj (μ_j - μ.) (μ_j - μ.)' 用 B 表示,則 a 為 Σ^{-1} B 的特徵向量而 λ 為其特徵值。對應特徵值 λ 及特徵向量 a,目標函數值為

aB a/a' Σ a = a' Σ Σ^{-1} B a/a' Σ a = a' Σ λa/a' Σ a = λ

特徵值如果是 0,則對目標函數無貢獻,也就是說此時 a'x 不管在哪個群體其平均數都相同,變異數也相同,無法判別。而由 B 之定義,其秩 (rank) 是 k 或 m-1 兩者之最小,k 是 x 的維度,m 是群體數即類別數,這表示可以取最多 m-1 個典型變數

Zi = a'_i x,   i = 1, ..., min{k, m-1}

而後可利用諸 Zi 之值將 x 歸到 m 類之一。不過,把 x 轉換成諸典型變數 Zi 對分類而言似乎助益不大,甚至諸 Zi 可能不是相互正交(零相關)。如果在 m 分類的情形採兩兩比較的方式用

(μ _i - μ_j)' Σ^{-1} [(μ_i + μ_j)/2]

的正負來判定群體 i 與 j 相比較偏向哪個,這就像在各群體都是有相同共變異矩陣的多變量常態的情形而決策錯誤損失 C(j|i) 是常數的情形,

arg min_j max_{i≠j} μ'_i Σ^{-1} (x - μ_i/2)
   = arg max_j μ'_j Σ^{-1} (x - μ_j/2)

大中取小是上式左邊,它的決策等於右邊,看 m 個直線函數值最大的。例如左邊決策是類別 j = 1 表示左式中若 j ≠ 1 則 i 包含 1,而在 j = 1 時 i 不含 1, 結果其最大值比 i 含 1 時小,可見第一個函數值是最大的,所以右式得 1。反‵方向,從右式選擇結果是 1 時也可得左邊是 1。決策結果 j 是其他值時也一樣。換言之,即使沒有多元常態分布的假設,似乎仍可考慮依多元常態群體的方法,因此在 C(j|i) 各有不同時,是否也可取

j* = arg min_j max_{i≠j'} [㏑(C{j|i}) + μ'_i Σ^{-1} (x - μ_i/2)]

為決策(判定 x 落入 j*)。

如果各群體的共變異矩陣並不相等,Fisher 判別方法似可以考慮

Maximize [a' Σj (μ_j - μ.) (μ_j - μ.)' a]/[a' Σj (Σ_j )a]

或兩兩比較

Maximize [a' (μ_i - μ_j) (μ_i - μ_j)' a]/[a' (Σ_i + Σ_j ) a]

全部 m 個群體的類別間差異與類別內差異,如同 Σ_j 相同時的情形,可以化為特徵值與特徵向量問題,可以得到最多 m-1 個線性獨立之有效線型函數,但它們卻難以直接用來做判定。兩兩比較的方法可以直接用於判定兩兩比較的話資料 x 較適士歸為 i 或 j 類,但這樣的判定卻不一定符合遞移性 (transitivity),也就是說群體 i 與 j 比,比較像是應歸入群體 i;群體 j 與 r 比,比較像是應歸入群體 j;那麼依遞移律,群體 i 與 r 比時,依遞移律 比較像是應歸入群體 i,但在實際情形可能不一定。不過,這_其實也不難解決,只須制定一個規則,或者依各類在 m(m-1)/2 組兩兩比較中優先組數判定;或依其他優先規則判定即可。或者,將各群體的分布當成 MVN(μ_j, Σ_j) 進行分類。

以上所談各種判別方式,都假設資料 x 在各群體的機率分布為已知,或知其期望值向量 μ_j 與共變異矩陣 Σ_j,但實際情形這可能是未知的。像這種情形,我們需要所謂的訓練樣本:用來估計各群體平均數向量和共變異數矩陣的樣本資料。適合判別分析的訓練樣本為從兩個或多個多變量群體獨立隨機抽樣,得樣本 X_{ij}, i = 1, ..., n_j, j = 1, ..., m,獨立指的是 {X_{i1}: i = 1, ..., n_1}, {X_{i2}: i = 1, ..., n_2} 和 {X_{im}: i = 1, ..., n_m} 相互獨立,隨機抽樣指 X_{1j}, ..., X_{n_j,j} 是 i.i.d.。諸群體各有平均值向量 μ_1, μ_2, . . ., 共變異矩陣 Σ_1, Σ2, . . .,由於是多變量,很難像單變量那樣從樣本資料判斷各群體的分布,不過如多變量常態性的檢定倒是存在。

可能用來當訓練資料的除了前一段所述由控制 Y = j 對 X 抽樣之外,也可能對 (X, Y) 聯合抽樣,意即抽出樣本個案,同時觀察 X 和 Y。這樣的樣本可以做判別分析的訓練樣本,也可以對 Y (二元變數)做普通邏輯值 (logit) 分析,或(多分類變數)做多元邏輯值 (multi-logits) 分析。邏輯值模型,也就是邏輯斯迴歸模型,將它用於判別分析,也就是將配適的邏輯值取一個切割點,將邏輯值較高的歸為一類,較低的歸為另一類。可用於進行邏輯值分析的資料也可以是選擇不同 Xi 資料點,在這些點對 Y 做抽樣,得值二元或多類別變數 Yi,可以 Yi 對 Xi 做普通邏輯值或多元邏輯值分析。值得注意的是,固定 Y = j 對 X 抽樣的資料亦有用邏輯斯迴歸分析的,這等於人為決定 Y 的邊際分布。如前面說的,我們可能抽取樣本個案同時觀察 (X, Y),這是把 (X, Y) 放在同一個機率空間,判別分析是在給定 X 的值之下預測 Y,用的卻是 f(X = x | Y = j) 條件分布;邏輯值模型或邏輯斯迴歸分析是在估計 P[Y = j | X = x] 並依此條件機率分布而可做 Y = j 的判定,也就是判別分析的目的。因此,固定 Y = j 對 X 抽樣的樣本,適合判別分析;而用於做邏輯值分析等於人為限定了 P[Y = j],不像同時觀察 (X, Y) 是由樣本可以估計 Y 的邊際分布。另方面,固定不同 Xi 資料點對 Y 做抽樣,可以估計 P[Y = j | X = x] 但不能估計 Y 的邊際分布,也不能估計 X 的邊際(聯合)分布和條件分布 f(X = x | Y = j)。因此,如果是固定不同 Xi 資料點的抽樣資料卻採用判別分析方法,則只能做形式的計算,無法用機率分布的想法來解釋判別的邏輯。

感知機 (Perceptron) 模型,Rosenblatt (1957) 提出的一種類神經網路,如同判別分析,也是輸入 x 資料而後判定其歸類,Y = j。兩者的基本差異是統計的判別分析可能更注意資料的機率特性。單層感知機的模型是

f(x) = 1  if  w.x - b > 0;   = 0  else

用訓練樣本決定權量 w 和閥值 b,寫成矩陣運算符號,就是 w'x > b 時歸為某一類,否則歸為另一類。閥值 b 也可以如統計的線性迴歸模型或廣義線性模型的線性預測子一般,併到 w 中,故 f(x) = 1 的條件可以直接寫成 w'x > 0。另一種 活化函數(傳遞函數)f 是把分類結果標識為 1 和 -1,如果忽略 w'x = 0 的可能,則可寫

f(x) = sgn(w'x - b) 或表示成  sgn(w'x)

式中 sgn(.) 是標準數學函數之一的符號函數 (signum function)。

假設訓練資料是 (x_i, y_i), i = 1, ..., n,其中 y_i 值為 1 或 -1。為決定「最適」權量 w(含 b), 需要一個準則函數或損失函數,Rosenblatt 提出的準則函數是

E(w) = - Σ_{i: sgn(w'x_i)≠y_i} y_i(w'x_i)

從幾何上來看,E: w'x - b = 0 是 (x, y) 空間上的一個超平面,平面上的點到此超平面的(垂直)距離是

d((x, y), E) = |w'x - b|/||w||

權量 w(不含常數項 -b)是此超平面的法向量,如果取 w 為單位向量,||w|| = 1,則

當分類錯誤,即 sgn(w'x_i) ≠ y_i 時,

|w'x_i - b| = -y_i(w'x_i - b)

是點 (x_i, y_i) 到超平面 w'x_i = b 的距離。

所以前列準則函數就是錯誤分類之距離和。但前列準則函數的加總範圍是不固定的,只挑錯誤分類的點;而錯誤分類有兩種:

y_i = 1 而 w'x_i < b,距離 = (-1)(w'x_i - b) = - y_i (w'x_i - b);

y_i = -1 而 w'x_i > b,距離 = (1)(w'x_i - b) = - y_i (w'x_i - b).

可以統一寫成一個式子

[(sgn(w'x_i - b) - y_i)/2] (w'x_i - b)

沒有分類錯誤時 sgn(w'x_i - b) 與 y_i 是一致的,兩者相減是 0;分類錯誤時,y_i = 1 兩者相減是 (-1) - 1 = -2,折半得 -1 = - y_i;另一種分類錯誤則是 y_i = -1, 相減得 1 - (-1) = 2,折半成 1 = - y_i。因此,

E(w) = Σ_i [(sgn(w'x_i - b) - y_i)/2] (w'x_i - b)

實際計算沒有改變,只是數學式單一化了;不過由於 sgn 函數的不連續性,梯度法並不很適合用來解決極小化 E(w) 的問題。但如果 w(含 b)的變動不影響 sgn(w'x_i),則

ΔE(w) = E(ww) - E(w) =  Σ_i [(sgn(w'x_i) - y_i)/2] (Δw)'x_i

換言之,梯度為 ▽E(w) = Σ_i [(sgn(w'x_i) - y_i)/2] x_i,故 w 以下列計算式更新

Δw = η Σ_i [(y_i - sgn(w'x_i))/2] x_i = η Σ_{i: sgn(w'x_i)≠y_i} y_i x_i

這是邏輯斯型類神經網路的一個替代,在該模型,準則,即損失函數為

Q(w) =  (1/2) Σ_i (y_i - f(w'x_i))^2

其中 y_i 取值 1 和 0,而 f 為邏輯斯曲線 f(u) = 1/(1+e^{-u}),「邏輯斯網路模型之最適權量問題」有討論最適權量之 Newton-Raphson 迭代解法,及梯度下降之機器學習法。不過,如果以感知機本來目標,損失函數應取

D(w) = Σ_i [(y_i - sgn(w'x_i))^2]/4 = Σ_i |y_i - sgn(w'x_i)|/2

式中 y_i 取值 1 和 -1,但此準則看來完全無法藉用梯度做 w 之調整。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 等死的老賊 的頭像
    等死的老賊

    劉應興的部落格

    等死的老賊 發表在 痞客邦 留言(0) 人氣()