支撐超平面(supporting hyperplane)
把一把平直的尺靠在圓的外側。它恰好在一點觸碰,而整個圓都落在尺的同一側——尺從不切進圓盤裡。把一塊平板靠在任何凸團塊上,同樣的事情會發生:它親吻著邊界,同時讓整個團塊保持在一側。那塊觸碰的平面就是支撐超平面。在二維中它是支撐「線」,在三維中是支撐「平面」,而在更高維中一般用語是超平面。
精確地說:一個超平面 H 在凸集 C 的邊界點 P 處支撐 C,若 P 落在 H 上「且」C 的全部都落在 H 所界定的兩個閉半空間之一。換言之 H 觸碰 C(在 P,也許沿著一整個平面的面),但從不切過它的內部;C 完全坐在一側。核心定理——支撐超平面定理——保證凸集的「每一個」邊界點都至少有一個支撐超平面。在平滑的邊界點它是唯一的(即切線),但在角點(如正方形的頂點),則有無窮多條支撐線扇形地穿過那個角,這完全是被允許的。與之密切相關的是分離超平面定理:兩個不相交的凸集總能被一個超平面乾淨地分開,各佔一側。
這是一系列驚人結果背後的幾何引擎。在最佳化中,最佳解處的支撐超平面替約束「定價」(即拉格朗日乘子與對偶的語言);在機器學習中,分離超平面正是支援向量機為了分開兩類資料而尋找的東西;在經濟學中它支撐著第二福利定理。誠實的提醒:支撐超平面是「凸」集所特有的特徵。在非凸形狀的凹陷處,這種從外側觸碰的平面並不存在,因為任何穿過凹邊界點的平面都必然切進區域裡——這又是凸性如此受珍視的一個理由。
取單位圓盤 x^2 + y^2 <= 1 及其邊界點 (1, 0)。鉛直線 x = 1 支撐它:點 (1, 0) 落在這條線上,而圓盤的每一點都有 x <= 1,所以整個圓盤都在一側。在這個平滑的邊界,這條支撐線是唯一的。但取單位正方形的角 (1, 1):許多不同斜率的線都穿過那個角而正方形在一側,所以那裡的支撐線遠非唯一。
平滑的邊界點有唯一一個支撐超平面;角點則有一整扇面的支撐超平面。
唯有凸集,才在每一個邊界點都有支撐超平面。在非凸形狀的凹陷處試試看就會失敗——任何穿過凹點的平面都會切進集合裡,這正是為什麼這些定理需要凸性。