Definition:step function
ステップ関数とは、定義域を有限個の区間に分割し、それぞれの区間上で一定値をとる関数である。すなわち、有限閉区間 $[a, b]$ 上のある分割
\[a = a_0 < a_1 < \cdots < a_n = b\]
と定数列 $\{c_k\}_{k=1}^n$ に対して、関数 $f:[a,b] \to \mathbb{R}$ が
\[f(x) = c_k \quad \text{for } x \in [a_{k-1}, a_k)\]
の形で表されるとき、$f$ をステップ関数という。この定義は $\mathbb{R}$ 全体に自然に拡張でき、有限個の分割点の外では定数値をとるとして定義されることも多い。
特に重要な例として、単位ステップ関数(Heaviside関数)$H(x)$ があり、
\[H(x) =\begin{cases}0 & x < 0 \\1 & x \ge 0\end{cases}\]
で定義される。なお、$x=0$ における値については $H(0)=\tfrac{1}{2}$ とする流儀もあり、文脈に応じて使い分けられる。
ステップ関数は区分的に定数であるため、ほとんど至る所で連続であり、有限個の不連続点(ジャンプ不連続)を持つ。不連続点 $x=a_k$ においては、左右極限が存在し、
\[\lim_{x \to a_k^-} f(x) \neq \lim_{x \to a_k^+} f(x)\]
となる場合がある。
また、ステップ関数はリーマン積分可能であり、その積分は各区間の長さと値の積の総和として計算される:
\[\int_a^b f(x)\,dx = \sum_{k=1}^n c_k (a_k - a_{k-1})\]
測度論において、ステップ関数は単関数(simple function)の一種として位置付けられる。すなわち、可測集合 $A_k$ に対して
\[f(x) = \sum_{k=1}^n c_k \mathbf{1}_{A_k}(x)\]
と表現される関数である($\mathbf{1}_{A_k}$ は指示関数)。
単関数はルベーグ積分の定義の基礎となり、任意の非負可測関数は単関数の単調増大列によって各点収束の意味で近似できる:
\[f(x) = \lim_{n \to \infty} f_n(x) \quad (\text{各点収束、}f_n \nearrow f)\]
ここで $\{f_n\}$ は $f_n \le f_{n+1}$ を満たす単調増大列の単関数である。一般の可測関数については、正部分 $f^+ = \max(f, 0)$ と負部分 $f^- = \max(-f, 0)$ への分解 $f = f^+ - f^-$ を通じてこの近似が拡張される。
ステップ関数は、$1 \le p < \infty$ のとき $L^p(\mathbb{R})$ において稠密である。すなわち、任意の $f \in L^p(\mathbb{R})$ に対して、ステップ関数列 $\{f_n\}$ が存在し、
\[\|f - f_n\|_p \to 0\]
が成り立つ。なお、$p = \infty$ の場合はこの稠密性は一般に成立しない。この性質により、ステップ関数は関数空間の近似基底として重要である。
単位ステップ関数は、信号処理においてスイッチングや入力のオン・オフを表現する基本関数である。また、デルタ関数との関係として、
\[\frac{d}{dx} H(x) = \delta(x)\]
が分布(超関数)の意味で成立する。すなわち、任意のテスト関数 $\varphi \in C_c^\infty(\mathbb{R})$ に対して $\int H(x)\varphi'(x)\,dx = -\varphi(0)$ が成り立つことによって定義される関係である。
機械学習においては、パーセプトロンの活性化関数としてステップ関数が用いられる:
\[\text{Activation}(z) =\begin{cases}1 & z \ge 0 \\0 & z < 0\end{cases}\]
これは線形分離に基づく分類を実現するが、不連続であるため勾配に基づく最適化(誤差逆伝播法)には適さない。この欠点を克服するため、現代の深層学習では ReLU やシグモイド関数などの連続・微分可能な活性化関数が広く用いられている。
ステップ関数の概念は、19世紀の解析学の発展とともに現れた。特にリーマン積分の定式化において、区分的に定数な関数は積分可能関数の基本例として重要視された。
工学分野では、19世紀末にオリバー・ヘヴィサイドが電気回路の過渡解析において単位ステップ関数を導入し、これが信号処理における解析の基礎として広く用いられるようになった。
その後、20世紀初頭(1902年)にアンリ・ルベーグが測度論とルベーグ積分を構築する際、単関数(ステップ関数)は積分の定義の出発点として用いられた。すなわち、より一般の関数を単関数で近似することで積分を拡張する枠組みが確立された。
20世紀中盤には、パーセプトロンの登場により、ステップ関数は人工ニューロンの活性化関数として採用され、機械学習の初期モデルにおいて中心的役割を果たした。
Input: Real value or vector $x$
$\text{condition} = (x \ge 0)$ // Boolean evaluation
$\text{output} = \text{condition} \cdot 1$ // Cast True→1, False→0 via multiplication
Output: $\hat{y} \in \{0,1\}$ such that $\hat{y} = 1$ if $x \ge 0$, otherwise $0$

Mathematics is the language with which God has written the universe.