12章モデル選択

レシピ12.0 はじめに

 機械学習とは、訓練アルゴリズムを用いて、何らかのロス関数が最小になるようなモデルパラメータを学習することだ。しかし、多くの学習アルゴリズム(例えばサポートベクタマシンやランダムフォレスト)では、これらのパラメータ以外に、学習プロセスの外で定義しなければならないハイパーパラメータがある。例えば、ランダムフォレストは決定木の集合(だからフォレスト(森)と呼ばれている)だが、フォレストの中の決定木の数はアルゴリズムで学習するものではなく、訓練の前に指定しなければならない。この過程をハイパーパラメータチューニングハイパーパラメータ最適化もしくはモデル選択などと呼ぶ。さらには、複数の学習アルゴリズムを試してみて、良い方を採用したい場合もあるだろう。例えばサポートベクタクラス分類木とランダムフォレストの両方を試して、よりよい結果が得られる方を使うことが考えられる。

 この分野ではさまざまな用語が使われているが、本書では、最良の学習アルゴリズムを選択することと、最良のハイパーパラメータを選択することの両方を、モデル選択と呼ぶ。理由は簡単だ。サポートベクタクラス分類器に10通りのハイパーパラメータ設定があり、ランダムフォレストクラス分類器にも10通りのハイパーパラメータ設定があるとしよう。この場合、結局20通りの候補モデルから最良のモデルを選ぶことになるからだ。本章では、候補の中から最良のモデルを選択するための効率的な手法について説明する。

 本章では、例えばC(正則化の強度の逆数)などの、いくつかの特定のハイパーパラメータを取り上げる。そのハイパーパラメータの意味がわからなくても、後ろの章で解説するので心配する必要はない。ここでは、ハイパーパラメータとは、訓練を開始する前に選択する必要がある学習アルゴリズムの設定である、とだけ理解しておいてほしい。 ...

Get Python機械学習クックブック now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.