dotnet / dotnet/machinelearning-modelbuilder

[AutoML,CLI,ModelBuilder] Exploration Time vs Epochs + Loss/AUC (Enhancement)

オープン
#699 コメント 4 件 リアクション 3 件 担当者 0 名 GitHub で見る
Feature request
主要言語
Dockerfile
スター
285
フォーク
66
PR マージ指標
30日以内にマージされた PR はありません

説明

This is more of a feature enhancement rather than an issue. Please let me know if this is the correct venue to submit this to.

In both the Model Builder GUI and the CLI for AutoML, the only option to customize training time is through the **max exploration time** setting. Example of CLI options:

![image](https://user-images.githubusercontent.com/12853868/57419929-a7d2a880-71b9-11e9-908e-1ce2d41e84e2.png)

This is a really neat way of changing things around instead of using epochs, using a time-based approach. But this could lead to undertraining a data set fairly easily, especially large ones, or produce a model that due to the fact that it hasn't been trained long enough (through several epochs throughout the entire dataset) didn't produce a good accuracy rate as expected.

I'm going to take a wild guess (can't find documentation for this) that the time based approach takes into account AUC or Loss as a criteria (or another common metric) to stop the training, is that correct? In other words if I have a small dataset and I set a training time of 4 hours, but the AUC or Loss didn't improve over X iterations it calls it a day and gives me the best result, is that correct?

It would be nice if the AutoML function (Model Builder, CLI and API) provided a way to (in addition to the time-based approach, or as an alternative to):

1. Set epochs for training rather than time based approach.
2. Set metric to look for when stopping a training, i.e.: auc, loss, etc.
3. Set thresholds of metrics to stop a training. i.e.: if after X number of epochs it doesn't improve, call it a day.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

まず、Model Builder GUI、CLI、API が公開している AutoML のトレーニング制御を確認し、次に、現在 max exploration time によってどのように停止が決定されているか、また AUC と loss のどちらが使用されているかを検証します。エポック数の上限、停止メトリクス、メトリクスのしきい値に対する期待される動作を定義し、拡張を完了と見なす前に各サーフェスのカバレッジを追加します。

索引モデルが issue の本文から書いたものです。

評価

領域
api, cli, machine-learning
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。