A Day in the Life

いくらご飯ウマい / 2021年2月21日

ごはんにそのままのせるだけおいしい選手権でトップを争う、いくらご飯ウマい。これもふるさと納税返礼品。

今日は夕方でも19度ととても暖かい。春の陽気にみんな距離を取りつつも楽しそうだ。


機械学習学習日記 - 20日目

5.2 グリッドサーチでは、最適なパラメータをグリッドサーチによって見つける。

5.2.1 の単純なグリッドサーチは、for ループで手動入力したパラメータを総当りグリッドサーチで最良スコアを調べる。

5.2.2 パラメータの過剰適合の危険性と検証セットでは、訓練セットとテストセットだけに分けるのではなく、訓練セットと検証セット、そしてテストセットに分割しないとスコアを読み間違えることの危険性について。モデル評価には、独立したデータセットが必要。

5.2.3 では グリッドサーチした結果を交差検証する、GridSearchCV を使い最適なスコアが出るパラメータを求める。なおGridSearchCVは、Estimatorを組み合わせて作られていて、これらのEstimatorはmeta-estimatorと呼ぶ。

また、GridSearchCV でのパラメータレンジが適切に検討できていたか、ヒートマップを用い適切だった場合と適切ではなかった場合を視覚的に表すことで、どのパラメータが影響している・してない・無関係などを検討する。

GridSearchCV のオプションには dict 型も渡せて、細かくパラメータを分けながらのサーチも行える。またcvオプションにも分割器クラスを渡す事ができる。

ネストした交差検証では、GridSearchCV の外側にさらに cross_val_score を適用してスコアを見ることで、予測モデルをつくるというよりは交差検証の性能評価を行うことができる。ただ、ネストしてるだけあってされに計算機コストがかかる。その場合は独立して完全に計算できる単純並列の場合、n_jobsオプションで実行速度を高めたり、独立できない場合は分散実行(joblib-sparkなどでのクラスタなど)を使うとよいだろう。

ここまでで書籍の76%を読了。あとこのペースだとどれぐらいで読み終わるか、単純な線形回帰として計算する。せっかくなので Jupyter Notebook で書いて gist へと貼り付け。

係数3.45, 切片4.02でトータルで27.83日かかる予想。あと7-8日。グラフだとこんな感じ。matplotlib の結果は png(base64) と svg として、ipynb ファイルの中に埋め込まれるのかぁ。

graph

撮影機材E-M1 Mark III/α7C/LEICA DG SUMMILUX 25/F1.4 II/Jupiter-12 35mm F2.8