群 組 分 類 線 性 迴 歸 與 最 小 平 方 法 last modified July 22, 2008 本 單 元 討 論 Supervised Learning 中 屬 於 類 別 ( 即 輸 出 變 數 Y 是 類 別 型 的 資 料 ) 資 料 的 群 組 分 辨, 並 且 著 重 在 最 簡 單 的 兩 群 組 (two classes) 資 料 判 別 透 過 幾 個 簡 單 典 型 的 方 法, 實 際 去 做 群 組 的 鑑 別 過 程 中 對 Matlab 程 式 設 計 的 技 巧 資 料 的 產 生 及 圖 形 的 繪 製 都 有 進 一 步 的 延 伸, 也 是 本 課 程 真 正 的 目 的 本 章 將 學 到 關 於 程 式 設 計 群 組 資 料 的 繪 製 技 巧 排 序 資 料 的 索 引 技 巧 及 最 小 平 方 法 的 矩 陣 計 算 方 式 本 章 關 於 MATLAB 的 指 令 與 語 法 指 令 :sort, set, gscatter, mvnrnd 1
1 背 景 介 紹 許 多 應 用 科 學 牽 涉 到 從 資 料 (data) 中 分 析 出 所 需 要 ( 含 ) 的 資 訊 (information) 希 望 從 已 知 的 資 料 中 瞭 解 問 題 的 本 質, 進 而 能 控 制 或 做 出 預 測 這 些 資 料 通 常 有 兩 種 型 態 ; 其 一, 包 含 特 性 (features) 資 料 及 結 果 (outcome) 資 料, 從 收 集 或 量 測 問 題 的 特 性 ( 或 特 徵 ) 資 料 及 相 對 的 結 果 資 料 分 析 出 兩 者 的 關 係, 並 進 一 步 計 算 相 關 的 參 數, 最 後 確 立 模 型 當 給 予 新 的 特 徵 資 料 時, 便 可 以 根 據 這 個 確 立 的 模 型 產 生 結 果 做 為 預 測 由 於 有 結 果 資 料 做 為 模 型 建 立 的 根 據, 這 些 問 題 歸 類 為 Supervised Learning 譬 如 圖 1 的 示 意 圖, 未 知 模 型 的 輸 入 變 數 X 1, X 2 代 表 特 徵 值, 輸 出 變 數 Y 代 表 對 應 的 組 別 圖 1: supervised Learning 其 二, 只 有 特 徵 資 料, 不 知 其 群 組 屬 性 由 於 沒 有 明 確 的 輸 出 結 果 做 為 對 照, 這 類 問 題 相 對 的 困 難, 稱 為 Unsupervised Learning, 通 常 要 先 從 特 徵 資 料 裡 去 找 出 隱 藏 的 群 組 關 係, 一 般 也 稱 為 Clustering 本 單 元 討 論 Supervised Learning 中 屬 於 類 別 ( 即 輸 出 變 數 Y 是 類 別 型 的 資 料 ) 資 料 的 群 組 分 辨, 1 並 且 著 重 在 最 簡 單 的 兩 群 組 (two classes) 資 料 判 別 透 過 幾 個 簡 單 典 型 的 方 法, 實 際 去 做 群 組 的 鑑 別 過 程 中 對 Matlab 程 式 設 計 的 技 巧 資 料 的 產 生 及 圖 形 的 繪 製 都 有 進 一 步 的 延 伸, 也 是 本 課 程 真 正 的 目 的 1 輸 出 資 料 概 分 兩 種 :quantitative 及 qualitative, 歸 類 問 題 的 屬 性 時 常 以 此 為 分 別 當 輸 出 是 quantitative 型 的 資 料, 屬 於 迴 歸 分 析 (regression) 的 範 疇, 當 輸 出 是 qualitative, 叫 做 分 類 (classification) 或 分 群 輸 入 資 料 當 然 也 有 不 同 的 類 型, 不 過 應 用 的 方 法 上 差 別 比 較 小 Regression 與 classification 在 方 法 上 也 有 許 多 類 似 之 處, 因 為 在 qualitative 資 料 的 表 達 上, 通 常 會 以 數 字 來 代 表, 譬 如 1 代 表 成 功, 0 代 表 失 敗 這 樣 一 來 兩 者 的 差 距 變 模 糊 了, regression 的 方 法 也 可 以 用 在 qualitative 的 資 料 上 2
為 求 簡 單 起 見, 假 設 輸 入 資 料 具 兩 個 維 度, 即 具 X 1, X 2 的 兩 個 特 徵 值, 且 每 一 筆 已 知 資 料 的 群 組 別 也 是 已 知 譬 如 圖 2 顯 示 200 筆 已 知 資 料, 包 含 輸 入 (X 1, X 2 ) 與 輸 出 ( 不 同 的 圖 示 及 顏 色 代 表 不 同 的 組 別 ), 其 關 係 亦 如 圖 1 所 示 而 面 臨 的 問 題 是, 當 給 予 一 組 未 知 群 組 別 的 資 料 時, 如 何 預 測 其 組 別? 圖 2: 每 群 各 有 100 筆 資 料 的 兩 個 群 組 圖 2 的 200 筆 資 料 明 顯 的 將 所 在 的 平 面 空 間 分 成 兩 半, 左 半 邊 屬 於 群 組 1, 右 半 邊 屬 群 組 2 當 一 筆 新 的 資 料 需 要 判 別 其 群 組 屬 性 時, 只 要 看 它 落 在 平 面 上 的 哪 一 邊, 即 可 判 定 但 問 題 是, 分 割 平 面 空 間 的 界 線 (separate line) 如 何 界 定? 這 條 線 將 做 為 資 料 群 組 預 測 的 根 據, 但 從 圖 3 來 看, 這 條 分 界 線 似 有 無 限 可 能, 不 同 的 方 法 形 成 的 分 隔 線 也 不 同, 將 如 何 判 斷 其 優 劣 呢? 要 在 兩 群 組 的 資 料 間 劃 上 一 條 適 當 的 分 界 線, 有 一 些 簡 單 的 方 法 要 在 這 個 單 元 介 紹, 並 以 理 論 與 實 作 並 進 的 方 式 逐 步 完 成 程 式 的 設 計 之 後 的 單 元 接 陸 續 介 紹 其 他 方 法 做 群 組 的 鑑 別, 本 單 元 介 紹 線 性 迴 歸 模 型 與 最 小 平 方 法 在 群 組 分 析 上 的 應 用 假 設 圖 1 的 輸 入 輸 出 關 係 為 線 性 迴 歸 模 式, 雖 然 輸 出 資 料 屬 於 類 別 資 料 (Class 1 及 3
圖 3: 兩 個 群 組 的 可 能 分 界 線 Class 2), 我 們 仍 可 以 假 設 當 輸 入 資 料 屬 於 群 組 1 (Class 1) 時, 輸 出 變 數 以 數 字 表 示, 譬 如 :Y = 0, 另 一 個 群 組 則 為 Y = 1 將 類 別 資 料 量 化 之 後 的 問 題, 便 可 以 直 接 套 入 以 下 的 線 性 迴 歸 模 式 (Linear Regression Model) 來 分 析, Y = β 0 + β 1 X 1 + β 2 X 2 (1) 根 據 N 筆 已 知 的 輸 入 輸 出 資 料, 迴 歸 係 數 β 0, β 1, β 2 以 最 小 平 方 法 求 得 的 最 佳 解 為 其 中 ˆβ = (X T X) 1 X T y (2) 4
ˆβ = ˆβ 0 ˆβ 1 ˆβ 2, X = 1 x 1 (1) x 2 (1) 1 x 1 (2) x 2 (2)... 1 x 1 (N) x 2 (N), y = y(1) y(2). y(n) (3) 分 別 代 表 迴 歸 模 型 模 型 的 參 數 估 計 輸 入 及 輸 出 資 料 式 (2) 假 設 (X T X) 1 存 在, 而 每 個 輸 出 值 y(k) 根 據 其 類 別, 非 0 即 1 群 組 判 別 : 當 給 予 一 個 新 的 輸 入 資 料 x = (x 1, x 2 ), 根 據 迴 歸 模 型 (1), 其 輸 出 ( 擬 合 值 ) 為 : Ŷ = x T ˆβ (4) 其 中 x T = [1 x 1 x 2 ] 如 何 從 這 個 輸 出 值 判 斷 資 料 得 群 組 屬 性 呢? 在 迴 歸 模 型 下 的 擬 合 值 不 一 定 剛 好 是 0 或 1, 它 可 以 是 任 何 數 值, 但 作 為 類 別 判 斷 時, 可 以 依 下 列 規 則 判 別 : 假 設 G 代 表 判 定 的 類 別 : CLASS1 if Ŷ 0.5 G = CLASS2 if Ŷ > 0.5 換 句 話 說, 以 Ŷ = x T ˆβ = 0.5 做 為 平 面 空 間 中 兩 個 群 組 的 分 界 線, 將 R 2 平 面 一 分 為 二, 線 的 一 邊 表 示 為 集 合 {x x T ˆβ 0.5} 為 CLASS1, 另 一 邊 則 為 CLASS2 很 明 顯 的, 這 條 分 界 線 的 形 成 受 到 下 列 因 素 的 影 響 : 已 知 資 料 X 與 y 迴 歸 模 式 (1) 最 小 平 方 法 ( ˆβ 的 估 計 ) 以 下 練 習 協 助 初 學 者 如 何 計 算 ˆβ 值 與 畫 出 群 組 分 佈 圖 及 分 界 線 5
2 練 習 舉 兩 組 資 料 為 例 ( 從 網 頁 下 載 la 1.txt, mix.mat 兩 組 資 料 ), 如 圖 4 所 示 (a) (b) 圖 4: 群 組 資 料 在 計 算 出 分 界 線 之 前, 通 常 會 先 將 資 料 畫 出 來 觀 察 其 群 組 關 係 當 然 這 僅 限 於 兩 個 輸 入 變 數 以 下 的 情 況 左 邊 的 資 料 (la 1.txt) 是 模 擬 出 來 的, 右 邊 (mix.mat) 則 來 自 參 考 文 獻 [1] 的 提 供 的 資 料 以 下 練 習 可 以 協 助 畫 出 上 面 的 圖 範 例 1: 根 據 輸 出 資 料 Y 的 類 別, 在 X1-X2 平 面 上 以 不 同 顏 色 或 符 號 描 繪 出 群 組 的 樣 子, 如 上 面 看 到 的 兩 張 圖 在 實 際 的 應 用 上, 資 料 的 來 源 常 不 是 自 己 可 以 控 制 的, 因 此 必 要 的 時 候 必 須 做 調 整, 才 能 讓 寫 好 的 程 式 順 利 執 行 這 裡 特 別 設 計 不 同 的 資 料 la 1.txt mix.mat 對 輸 出 類 別 資 料 的 安 排 不 一 樣, 程 式 的 寫 作 也 因 之 有 所 不 同 mix.mat 的 資 料 已 經 按 類 別 排 序 好, 內 含 兩 個 變 數 資 料 共 200 筆 資 料, 分 別 是 輸 入 的 特 徵 資 料 x 與 輸 出 的 群 組 資 料 y, 其 中 y 前 100 筆 值 為 0 代 表 群 組 1, 後 100 筆 值 為 1 代 表 群 組 2 下 列 指 令 以 散 佈 圖 的 方 式 畫 出 圖 4(b) 6
load mix x1=x(:,1); x2=x(:,2); plot(x1(1:100),x2(1:100), * ) hold on plot(x1(101:200),x2(101:200), or ) hold off 第 2 個 plot 指 令 的 第 三 個 參 數 or 代 表 以 紅 色 (r) 英 文 字 母 o 為 符 號 描 點 另 外, 圖 4(a) 呈 現 模 擬 資 料 la 1.txt 的 散 佈 圖 資 料 la 1.txt 是 一 個 200 4 的 矩 陣, 前 兩 行 代 表 兩 個 輸 入 的 特 徵 值, 後 兩 行 代 表 輸 出 的 群 組 值 由 於 la 1.txt 資 料 不 按 輸 出 類 別 資 料 排 序, 作 圖 時 可 以 1. 先 根 據 類 別 排 序 ( 指 令 :[Y,I]=sort(y)), 記 得 輸 入 資 料 x1,x2 也 必 須 跟 著 排 序 ( 程 式 第 3 行 ), 譬 如 D =load( la 1.txt ); [ Y,I ]=sort(d(:,3)); % 按 第 3 行 排 序, 由 小 到 大 D=D(I,:); % 根 據 排 序 的 索 引 值 I, 重 新 排 列 原 資 料 矩 陣 x1=d(:,1); % 排 列 後 的 輸 入 資 料 x2=d(:,2); plot(x1(1:100),x2(1:100), * ) hold on plot(x1(101:200),x2(101:200), or ) hold off 2. 完 全 不 排 序, 根 據 輸 入 的 群 組 別, 直 接 寫 一 個 迴 圈 將 每 一 筆 資 料 畫 上 去 繪 製 如 圖 4 的 散 佈 圖, 方 式 很 多, 主 要 是 藉 由 不 同 的 符 號 或 顏 色 來 區 分 群 組 若 要 呈 現 如 (a) 圖 有 顏 色 的 數 字, 可 以 利 用 text 指 令 取 代 plot 7
axis([min(x1)-1 max(x1)+1 min(x2)-1 max(x2)-1]) H=text(x1(1:100),x2(1:100), 1 ); set(h, color, blue ) H=text(x1(101:200),x2(101:200), 2 ); set(h, color, red ) 指 令 text 適 用 在 圖 形 上 做 標 記 或 文 字 說 明, 不 能 單 獨 使 用, 因 此 第 一 行 的 axis 指 令 用 來 產 生 空 白 圖 形, 方 便 text 的 使 用 指 令 axis 的 四 個 參 數 分 別 設 定 X 軸 與 Y 軸 的 範 圍 有 了 空 白 圖 形, text 根 據 前 兩 個 參 數 (x1, x2) 代 表 的 平 面 的 座 標 位 置, 印 出 第 三 個 參 數 的 文 字, 譬 如 1 當 x1,x2 是 1 N 或 N 1 的 向 量 變 數 時, 可 以 同 時 在 N 個 座 標 位 置 根 據 第 三 個 參 數 印 上 相 同 或 不 同 的 文 字 指 令 中 的 H 代 表 圖 形 上 的 物 件 (Object Handle), 利 用 set 指 令 可 以 改 變 其 外 觀, 尚 有 更 多 的 外 觀 選 項 可 以 參 考 該 指 令 的 說 明 MATLAB 也 提 供 了 一 個 方 便 的 指 令 gscatter(d(:,1),d(:,2),d(:,3), br, *o ) 這 個 指 令 畫 出 兩 組 資 料 的 散 佈 圖, 其 參 數 的 順 序 與 意 義 分 別 是 : 前 兩 個 參 數 代 表 資 料 第 三 個 參 數 以 0, 1 代 表 每 筆 資 料 不 同 的 群 組, 第 四 個 參 數 代 表 兩 個 顏 色, 第 五 個 參 數 則 是 散 佈 圖 的 兩 個 符 號 gscatter 簡 單 明 瞭, 符 合 一 般 的 需 求, 是 MATLAB 使 用 者 第 一 個 選 擇 範 例 2: 根 據 範 例 1 的 資 料, 計 算 迴 歸 模 型 的 參 數 (2) 並 畫 出 式 (4) 中, Ŷ = 0.5 的 迴 歸 線, 也 就 是 兩 群 組 間 的 分 界 線 計 算 式 (2) 的 ˆβ 比 較 簡 單, 先 從 原 始 資 料 建 構 資 料 矩 陣 X 與 y, 再 套 入 反 矩 陣 的 指 令 inv 即 可 接 續 之 前 的 指 令, ˆβ 的 估 計 可 以 寫 成 X=[ones(N,1);D(:,1:2)]; y=d(:,3); beta hat=inv(x *X)*X *y; 8
要 畫 出 兩 群 組 間 的 分 界 線 Ŷ = 0.5, 需 要 琢 磨 一 下 這 條 分 界 線 的 方 程 式 可 以 表 示 為 為 繪 圖 方 便, 可 以 轉 換 為 ˆβ 0 + ˆβ 1 x 1 + ˆβ 2 x 2 = 0.5 x 2 = 0.5 ˆβ 0 ˆβ 2 ˆβ 1 ˆβ 2 x 1 再 來 就 是 直 線 繪 圖 的 問 題 了 圖 5 展 示 這 兩 組 資 料 的 迴 歸 分 界 線 (a) (b) 圖 5: 群 組 分 界 線 3 觀 察 1. 當 分 界 線 劃 上 去 之 後, 有 多 少 資 料 被 錯 置 組 別 呢? 錯 置 的 資 料 愈 多, 代 表 什 麼 意 義? 當 兩 個 群 組 部 分 交 錯 時, 資 料 的 錯 置 是 否 不 可 避 免? 有 更 好 的 分 界 線 可 以 讓 錯 置 的 情 況 降 低 嗎? 2. 使 用 已 知 的 資 料 做 出 一 條 分 界 線, 企 圖 將 原 母 體 在 空 間 中 的 範 圍 切 割 出 來 這 個 切 割 的 好 壞 當 然 取 決 於 已 知 資 料 的 品 質 及 分 界 線 的 決 定 方 式 試 試 看 給 予 一 些 新 的 資 料 ( 從 原 母 體 去 產 生 ), 測 試 一 下 這 條 分 割 線 能 否 對 新 的 資 料 做 出 正 確 的 組 別 判 斷? 譬 如 100 個 新 資 料 有 多 少 比 率 被 正 確 辨 別? 3. 由 於 資 料 的 取 得 誤 差 或 樣 本 數 不 夠, 群 組 的 區 隔 有 時 候 不 是 很 明 顯, 當 然 也 可 能 是 群 組 本 身 就 非 常 靠 近 圖 5(a) 的 資 料 看 起 來 分 離 的 很 好, 直 覺 上 比 較 容 易 作 9
區 域 的 切 割, 如 中 間 的 那 一 條 分 界 線 而 圖 5(b) 的 兩 個 群 組 相 對 緊 密, 即 使 能 劃 上 一 條 分 隔 線, 也 可 能 必 須 選 擇 曲 線 比 較 能 滿 足 現 有 資 料 能 提 供 的 訊 息 而 根 據 有 限 的 資 料 做 出 最 好 的 判 斷, 就 是 這 門 學 問 的 精 神 所 在 嗎 4. 當 群 組 數 量 大 於 2 時, 分 界 線 將 如 何 切 割? 想 一 想 手 癢 的 話 就 動 手 做 看 看 吧! 5. 本 單 元 的 資 料 模 擬 自 Bivariate Normal Data, 而 且 兩 個 變 數 是 獨 立 的 如 果 變 數 間 有 相 依 性, 本 單 元 的 方 法 還 是 可 行 嗎? 如 何 去 模 擬 具 相 依 性 的 資 料 呢? 參 考 MATLAB 關 於 多 變 量 常 態 亂 數 產 生 器 mvnrnd 的 使 用 方 式 4 作 業 1. 證 明 式 (2) 是 迴 歸 模 型 (1) 的 最 小 平 方 法 解, 即 2. 畫 出 範 例 2 的 分 界 線 ˆβ. = min β Xβ y 2 3. 同 上 題, 決 定 出 分 界 線 後, 寫 一 段 程 式 判 斷 一 筆 新 的 資 料 該 屬 於 那 個 群 組? 新 資 料 的 輸 入 方 式 以 指 令 input 在 程 式 執 行 時 取 得 4. 同 上 題, 寫 一 支 程 式 計 算 分 界 線 錯 置 群 組 的 比 例 譬 如 圖 5(a) 做 出 分 界 線 後, 劃 定 右 方 為 群 組 1 的 區 域, 但 仍 有 部 分 屬 於 群 組 2 的 資 料 落 於 分 界 線 的 右 邊, 換 句 話 說, 這 條 分 界 線 並 不 能 完 全 隔 離 這 兩 個 群 組 的 資 料, 本 題 所 謂 錯 置 群 組 的 比 例 便 是 計 算 這 些 原 本 該 屬 於 群 組 1(2) 的 資 料, 卻 被 分 界 線 劃 定 在 群 組 2(1) 的 區 域, 佔 原 群 組 的 比 例 5. 將 式 (1) 的 迴 歸 模 型, 擴 展 為 所 謂 的 Augmented Regression Model, Y = β 0 + β 1 X 1 + β 2 X 2 + β 3 X 1 X 2 + β 4 X 2 1 + β 5 X 2 2 (5) 同 樣 利 用 如 式 (2) 的 最 小 平 方 法 解, 其 分 界 線 可 以 表 示 為 { (X 1, X 2 ) ˆβ 0 + ˆβ 1 X 1 + ˆβ 2 X 2 + ˆβ 3 X 1 X 2 + ˆβ 4 X1 2 + ˆβ } 5 X2 2 = 0.5 10
在 X 1 X 2 平 面 上 這 是 一 條 如 圖 6 所 示 的 曲 線 繪 製 這 條 曲 線 的 技 巧, 可 以 將 下 列 的 雙 變 量 方 程 式, 以 等 高 線 圖 繪 製 高 度 0.5 的 這 條 線, 即 Z = ˆβ 0 + ˆβ 1 X 1 + ˆβ 2 X 2 + ˆβ 3 X 1 X 2 + ˆβ 4 X 2 1 + ˆβ 5 X 2 2 繪 製 Z = 0.5 的 等 高 線 即 為 分 界 線 指 令 如 contour(x1,x2,z,[0.5 0.5]) 圖 6: Augmented Regression Model 群 組 分 界 線 參 考 文 獻 [1] T. Hastie, R. Tibshirani, J. Friedman, The Elements of Statistical Learning:Data Mining, Inference, and Prediction, Springer. [2] A.G. Rencher, Multivariate Statistical Inference and Applications, John Wiely & Sons, INC. 11