はじめに
青春は、やさしいだけじゃない。痛いだけでもない。1 nikkieです🍨
機械学習モデルの評価についての論文を読み始めました。
まだ読んでいる途中ではありますが、アウトプットしていきます。
『Python機械学習プログラミング』を書かれたrasbt氏(Sebastian Raschka)が機械学習におけるモデルの評価を論じた論文を黙々と読む(4章中1章読了)。https://t.co/GQHMe3dk1c
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年9月10日
1章はholdoutとどういった問題があるかということが分からされます。
雰囲気でやっていたのでガチ勢に理論で殴られる感じ
目次
- はじめに
- 目次
- 論文「Model Evaluation, Model Selection, and Algorithm Selection in Machine Learning」
- なぜ読んでいるの?
- 再度、論文「Model Evaluation, Model Selection, and Algorithm Selection in Machine Learning」
- 大まかに伝えると
- 終わりに
論文「Model Evaluation, Model Selection, and Algorithm Selection in Machine Learning」
Sebastian Raschka氏が2018年に発表した論文です。
タイトルを訳してみると「機械学習におけるモデル評価、モデル選択、アルゴリズム選択」。
PDFは全49ページで、機械学習モデルの評価について詳細に書かれています。
なぜ読んでいるの?
きっかけのツイート
この論文の存在を知ったきっかけは以下のツイート2。
You should always work on improving your model evaluation skills.
— Mark Tenenholtz (@marktenenholtz) 2022年2月4日
Model evaluation is the worst taught skill in machine learning, and I believe the best way of improving is through practice.
But, this paper from @rasbt is by far my favorite single written resource: pic.twitter.com/XZMgkTYMCz
機械学習モデルの評価について、「この論文は私の断然お気に入りの単体で書かれた資料」と紹介されています(this paper from rasbt is by far my favorite single written resource)
『Python機械学習プログラミング』の著者!
この論文の著者のSebastian Raschka氏はrasbt
というアカウント名で知られます。
氏の実績を1つ紹介すると、日本でも3版まで翻訳されている『Python機械学習プログラミング』の著者です!
この本には過去に情報量で圧倒された経験があり、「rasbtさんの書いたモデル評価についての50ページに渡る論文、読んでみたい!」と即決でした。
再度、論文「Model Evaluation, Model Selection, and Algorithm Selection in Machine Learning」
結論を示す図
Figure 23(画像は後述するrasbt氏ブログのPart IV記事より引用しています)
ブログバージョンもあります
rasbt氏のブログ4編をもとに、この論文が書かれたそうです。
ブログと論文は一言一句同じではありません。
今回は論文だけを読んでいます。
大まかに伝えると
論じるタスクは3つ
機械学習モデルの性能の評価について3つのサブタスクを導入します(1.1)。
- We want to estimate the generalization performance, the predictive performance of our model on future (unseen) data.
- 大雑把な訳「汎化性能(未知のデータについてのモデルの予測の性能)を見積もりたい」
- タイトルのModel Evaluationのことと理解しました
- We want to increase the predictive performance by tweaking the learning algorithm and selecting the best performing model from a given hypothesis space.
- 大雑把な訳「学習アルゴリズム(のハイパーパラメタ)を調整し、最良の性能のモデルを選択することで、予測性能を高めたい」
- タイトルのModel Selectionのことと理解しました
- we want to compare different algorithms, selecting the best-performing one as well as the best performing model from the algorithm’s hypothesis space.
- 大雑把な訳「最良の性能のモデルを選択するために、異なるアルゴリズムを比較したい」
- タイトルのAlgorithm Selectionのことと理解しました
これら3つのサブタスクは異なるアプローチを要求すると続きます(they all require different approaches)(1.1)。
論文の構成は4セクション
上記3つのサブタスクについて全4セクションで論じられます。
- Introduction: Essential Model Evaluation Terms and Techniques
- Bootstrapping and Uncertainties
- ホールドアウト法の欠点を克服する他の評価方法を紹介
- 感想:ブートストラップの種々の方法は初めて知りました
- Cross-validation and Hyperparameter Optimization
- 交差検証について、モデル評価・モデル選択2つの観点から論じられます
- 感想:交差検証って機械学習の入門書ではわずかなページ数だと思いますが、これは奥が深い!
- Algorithm Comparison(※これから読みます)
終わりに
rasbt氏の機械学習モデルの評価についての論文、これは理論に殴られる体験でした。
いろいろ分からされました、こてんぱんにされています。
書籍でキャッチアップして来た身ですが、モデル評価のやり方で「なんでだろう?」と思っていたところがこの論文でだいぶつかめてきました。
- ホールドアウト法でtrain/testに分けた後、train+testでモデルを訓練するのはどういう意味なのか
- 交差検証、データの前処理(例:自然言語処理におけるベクトル化)は各Foldで都度行う? それともまとめて1回だけ行う?
- 交差検証ってこの手順でやるのか!(trainのFoldをtrainとvalidationに分けて進めるのですが、最後にtrain+validation+testで訓練します3)
今回は全体感についてのアウトプットにとどまりますが、セクションレベルで今後アウトプットできたらと思っています。
評価にあんまり自信持てていなかったのですが、今回のインプットはよかったです。
ボコボコにされた分、めちゃ学びがありました!4