勉強を進めていて,機械学習あるいは組み合わせ最適化における基本的な原理であるノーフリーランチ定理(no free lunch theorem)を知りました.文献[2]によるとそれぞれ別のものとして考えるようです.機械学習におけるそれがどのようなものかについて,文献[4]から引用します.
ノーフリーランチ定理:全ての分類問題を考えたとき,どのようなアルゴリズムも平均的には,その汎化誤差に関して事前の差はない
この記述のいいかえとして,以下の記述があります.
あるアルゴリズム A がある予測問題で,アルゴリズム B より汎化誤差に関して性能が良かったとしても,アルゴリズム B が A より良くなるような別の予測問題が存在する
上記二つの記述は直感的にはわかりやすいですが,具体的に数式で理解したいところです.本記事では二値分類におけるノーフリーランチ定理に着目し,文献[1]をベースにして定理と証明をまとめます.なお文献[3]にも類似した別バージョンの記述があります.
=================================================================================
は が真のとき ,そうでないとき となる関数とします.
任意の集合 の 個の直積集合を以下のように書くことにします.
可算集合 を変数 の空間, をラベル空間とします( の方が一般的かもしれませんが,便宜上こちらを採用します).確率変数の組 の(同時)確率分布 の確率を ,その期待値を , の試行を独立に 回行うときの確率分布を ,その確率を ,その期待値を とします. に従うサンプルを , に従うサンプルを とします.
サンプル から(二値)分類器 を決定する手続きを数式で表すと であり( は集合 から集合 への写像の集合です),決定した分類器は関数 です.
二値分類の目的は以下の誤差 を小さくする関数 を見つけることです.
(1)
以下の二値分類におけるノーフリーランチ定理は,固定した 個のサンプル(確率変数) についての誤差(1)の期待値(汎化誤差)をあらゆる(離散)確率分布について( よりも)小さくする分類器を得ることが不可能である,ということを主張する定理です. は集合の要素数です.
定理 3.1 (No free lunch)
とする.任意の分類器 について,以下の1.2.をみたすような確率分布 が存在する.
1. となる が存在する.
2. が成り立つ.
証明.
を となる集合とする.関数 を考える. である. 上の確率分布 を以下で定義する.
すると以下が成り立つので は分類器 について1.を満たす確率分布である.
上の確率分布 を以下で定義する.
からサンプル をドローすることは からサンプル をドローし とすることと等価である. の半数の要素を からドローした集合を以下のように定義する.
からサンプル をドローすることは からサンプル をドローし として を得ることと等価であるので,以下が成り立つ. をある分類器とする.
これを用いて以下を得る.
(※)
ある について以下が成り立つ.
以下のような を定義する.
と について以下が成り立つ,
これらを用いて以下を得る.
これと(※)より以下を得る.
したがって
成り立つので,これを満たす は 2.を満たす確率分布である.(証明終わり)
=================================================================================
以上,二値分類におけるノーフリーランチ定理を証明しました.
参考文献
[1] Ben-Gurion University of the Negev Sivan Sabato先生のノート https://www.cs.bgu.ac.il/~inl162/wiki.files/interactive2016_1.pdf
[2] No Free Lunch Theoremsのページ http://no-free-lunch.org/
[3] An Interactive Journey into Machine Learning http://mlweb.loria.fr/book/en/nofreelunch.html
[4] 産業技術総合研究所 神嶌敏弘先生のノート http://www.kamishima.net/archive/mldm-overview.pdf