機械学習に関する専門的な書籍や記事を読んでいると、「ハイパーパラメータ」という見慣れない単語を目にすることがありますよね。パラメータの一つに間違いは無いのですが、ハイパーは「極超」という意味、パラメータは変数という意味なので直訳すると「極超変数」となって全然意味がわかりません 汗。
今回は、ハイパーパラメータって何?という方に向けて、ハイパーパラメータについて解説していきます。
一言で言うと「ハイパーパラメータ」とは・・・
機械学習アルゴリズムの設定すべき変数「ハイパーパラメータ」
機械学習アルゴリズム(機械学習の処理のやり方)には様々な種類がありますが、それぞれが変数を持っています。例えば決定木(けっていぎ)という機械学習アルゴリズムがあります。
決定木とは、例えば名前のわからない犬の名前を「これ何犬?」と尋ねると「〇〇犬!」と教えてくれるAI(機械学習)をつくろうとした場合、決定木のモデルは次のように段階的に犬の特徴を見つけていくイメージになります。
もっと階層を増やせばこんな風に犬の画像を判定するために必要な特徴が増えていく。
このように、決定木モデルは階層がどんどん深くなっていくにつれて犬の細かな特徴(犬を分類しやすい特徴)を段階的に見つけていくので、これはつまり階層が増えるほど、決定木モデルがごちゃごちゃして複雑になっていくということなんです。
※モデル:ある事象を簡略化して本質を表したもの(パターンやルールを数式で表現したもの)
そして、この時の木の深さが「ハイパーパラメーター」の1つです。つまり階層の深さを変更することで、モデルの複雑さを調整でき、こうしたパラメータは人が手を加えて調整をしないといけないものなので、このようなパラメータをハイパーパラメータと呼びます。
ハイパーパラメータの違いによってモデルの複雑さが変わり、その結果モデルの性能が変わるため適切な値を設定することが重要なのは間違いありません。代表的な設定方法については、交差検証やグリッドサーチといった手法があります。
※交差検証:モデルの学習用に使う開発データを、学習用に使う「学習データ」とモデルの性能を評価するために使う「検証データ」の2つに分けることで、過学習を防ぐ方法とのこと
※グリッドサーチ:グリッドサーチは、ハイパーパラメータの「最適な」組み合わせをコンピュータが自動で見つけ出すことによってモデルの性能をさらに改善することに役立つ手法です。
ハイパーパラメータの調整についてもっと詳しく知りたい方はこちら↓
まとめ
つまり、ハイパーパラメータとは
・Sebastian Raschka(2015). Python Machine Learning. Packt Publishing. (株式会社クイープ、福島真太朗(訳)) (2016). 『Python機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)』
AI(人工知能)って「なにそれ美味しいの?」ってレベルだった僕が、AIエンジニアを目指してステップを踏んだり踏まれたりしている記事を書いてます。よかったら読んでみてください(実話)。
コメントをどうぞ