12章モデル選択
レシピ12.0 はじめに
機械学習とは、学習アルゴリズムを用いて、何らかのロス関数が最小になるようなモデルパラメータを学習することだ。しかし、多くの学習アルゴリズム(例えばサポートベクタマシンやランダムフォレスト)では、これらのパラメータ以外に、学習プロセスの外で定義しなければならないハイパーパラメータがある。ハイパーパラメータはユーザによって定義され、モデルのパラメータ学習に影響する。すでに説明したように、パラメータ(モデルの重み)は訓練の過程でモデルが学習する。これに対して、ハイパーパラメータは我々ユーザが与えるものだ。
例えば、ランダムフォレストは決定木の集合(だからフォレスト(森)と呼ばれている)だが、フォレストの中の決定木の数はアルゴリズムで学習するものではなく、訓練の前に指定しなければならない。この過程をハイパーパラメータチューニング、ハイパーパラメータ最適化もしくはモデル選択などと呼ぶ。さらには、複数の学習アルゴリズムを試してみて、良いほうを採用したい場合もあるだろう。例えばサポートベクタクラス分類木とランダムフォレストの両方を試して、よりよい結果が得られるほうを使うことが考えられる。
この分野ではさまざまな用語が使われているが、本書では、最良の学習アルゴリズムを選択することと、最良のハイパーパラメータを選択することの両方を、モデル選択と呼ぶ。理由は簡単だ。サポートベクタクラス分類器に10通りのハイパーパラメータ設定があり、ランダムフォレストクラス分類器にも10通りのハイパーパラメータ設定があるとしよう。この場合、結局20通りの候補モデルから最良のモデルを選ぶことになるからだ。本章では、候補の中から最良のモデルを選択するための効率的な手法について説明する。 ...
Get Python機械学習クックブック 第2版 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.