$30 off During Our Annual Pro Sale. View Details »

AutoML はお好きですか? / 8th place solution of AutoWSL 2019

Kon
November 30, 2019

AutoML はお好きですか? / 8th place solution of AutoWSL 2019

Kon

November 30, 2019
Tweet

More Decks by Kon

Other Decks in Science

Transcript

  1. AutoML はお好きですか?
    分析コンペ LT 会
    Nov 30, 2019

    View Slide

  2. Yu Ohori (a.k.a. Kon)
    NS Solutions Corporation (Apr 2017 - )
    ● Researcher
    ● Data Science & Infrastructure Technologies
    ● System Research & Development Center
    ● Technology Bureau
    @Y_oHr_N
    @Y-oHr-N
    #SemiSupervisedLearning #AnomalyDetection #DataOps

    View Slide

  3. 約 2 週間,同僚 3 名と以下の大会に参加した
    3
    弱教師あり学習に関する
    AutoML の大会
    Sep 24, 2019 - Nov 6, 2019
    http://www.4paradigm.com/competition/autowsl2019

    View Slide

  4. AutoML (Automated Machine Learning) とは?
    4
    DataRobot
    Cloud AutoML
    (Google)
    Autopilot
    (Amazon)
    Driverless AI
    (H2O.ai)
    機械学習を自動化する技術
    ● 欠損値補完
    ● 外れ値除去
    ● 特徴抽出
    ● 特徴選択
    ● data augmentation
    ● モデル選択
    ● 超パラメータ探索
    ● メタ学習
    ● 等
    dotData
    (NEC)
    Prediction One
    (Sony)
    2014
    2020

    View Slide

  5. AutoML frameworks (04/22/2020)
    Name Languages Lisence GitHub stars First release date Claasification Regression Clustering Backend
    Auto-WEKA Java GPL v3 252 02/03/2013 tabular tabular weka
    TPOT Python LGPL v3 6,964 11/14/2015 tabular tabular sklearn, xgb
    auto-sklearn Python BSD 4,428 05/09/2016 tabular tabular sklearn
    auto_ml Python MIT 1,437 08/27/2016 tabular tabular sklearn, xgb, lgb, tf
    MLBox Python BSD 1,062 07/10/2017 tabular tabular sklearn, lgb, tf
    AutoKeras Python MIT 6,898 12/01/2017 tabular, image, text tabular, image, text tf
    hyperopt-sklearn Python BSD 1,014 12/03/2017 tabular tabular sklearn, xgb, lgb
    ATM Python MIT 478 04/21/2018 tabular sklearn
    H2O AutoML Python, R Apache v2 4,733 05/25/2018 tabular tabular h2o
    PyCaret Python MIT 356 11/30/2019 tabular tabular tabular sklearn, xgb, lgb, cb
    AutoGluon Python Apache v2 2,186 12/07/2019 tabular, image, text tabular sklearn, lgb, cb, mx
    5
    sklearn=scikit-learn, xgb=xgboost, lgb=lightgbm, cb=catboost, mx=mxnet

    View Slide

  6. 今年は AutoML competition が豊作らしい
    大会名 学会名 日程 データセット 参加チーム数
    AutoML5 KDD 19/04/01-19/07/20 表形式(複数表) 161
    AutoCV IJCNN 19/04/29-19/06/29 画像 102
    AutoCV2 ECML PKDD 19/07/02-19/08/20 動画 34
    AutoNLP WAIC 19/08/01-19/08/31 自然言語 66
    AutoSpeech ACML 19/09/16-19/10/25 音声 33
    AutoWSL ACML 19/09/24-19/11/06 表形式(弱教師有) 26
    AutoSeries WSDM 19/11/21-20/01/06 表形式 45
    AutoDL NeurIPS 19/12/14-20/02/14 全て ?
    6

    View Slide

  7. 通常の大会(kaggle, SIGNATE 等)との違いは?
    7
    kaggle, SIGNATE 等 AutoML Competition
    1 つのデータセット 入力 複数のデータセット
    未実施 匿名加工 実施
    予測結果(CSV ファイル) 提出物 学習・予測を行うコード
    無 制約 計算資源・計算時間制約有
    予測精度 評価方法 予測精度,計算時間

    View Slide

  8. 本大会の内容は?
    入力
    ● 5 つの表形式データセット
    ● スキーマ等が記載されたファイル(右図)
    提出物
    ● 学習,予測を行うコード
    制約
    ● 計算資源:4 vCPUs (16 GB Memory)
    ● 計算時間:数十分程度
    評価指標
    ● AUROC
    8

    View Slide

  9. 本大会の課題は?
    9
    PU Learning Learning with Noisy Labels
    3 つの問題を扱う必要がある
    Semi-Supervised Learning

    View Slide

  10. 結果は?
    26 チーム中 8 位
    10

    View Slide

  11. 我々の解法は?
    PUClassifier
    ● bagging
    ● NoisyClassifier
    NoisyClassifier
    ● OptGBM (TSS)
    SSLClassifier
    ● self training
    ● NoisyClassifier
    Engineer
    ● num: clip
    ● cat, mvc: pass
    ● time: drop
    11
    TSS: TimeSeriesSplit

    View Slide

  12. SSLClassifier
    12
    制限時間まで以下を繰り返し実施
    ● ラベル付きデータのみを用いて(再)学習
    ● ラベルなしデータのラベルを予測
    ● 特に確信度の高いラベルなしデータをラベル付きデータに追加
    反復の過程で誤ってラベルを付ける可能性有
    ● NoisyClassifier を利用

    View Slide

  13. PUClassifier
    13
    制限時間まで以下を繰り返し実施 [Mordelet & Vert, 2014]
    ● ラベルなしデータを負例と見なし,正例と同じ数だけ無作為に抽出
    ● 正例と抽出したラベルなしデータを用いて学習
    ● モデルをリストに追加
    負例と見なしたラベルなしデータの中に正例も存在
    ● NoisyClassifier を利用

    View Slide

  14. NoisyClassifier
    14
    boosting は noisy label に敏感 [Natarajan+, 2013]
    ● 探索空間に RF を追加
    noisy label を多く含む場合,AUROC は不正確
    ● SCE [Wang+, 2019] の利用を検討,断念
    noisy label を多く含む場合,クラスバランスは不明
    ● 不均衡データは未対処
    SCE: Symmetric Cross Entroppy

    View Slide

  15. OptGBM = Optuna + LightGBM
    15
    Optuna 1.0.0 (LihgtGBMTuner) OptGBM 0.4.0
    training API API scikit-learn API
    single model Model fold averaging
    not reproducible Reproducibility reproducible
    holdout Validation cross validation
    step-wise algorithm Sampling TPE alogorithm
    impossible Pruning possible
    impossible Resuming possible
    https://github.com/Y-oHr-N/OptGBM

    View Slide

  16. 上位解法は?
    16
    Rank Team name Models URL
    1 DeepWisdom Hyperopt + LightGBM
    https://github.com/Deep
    Wisdom/AutoWSL2019
    2 autowsl Hyperopt + LightGBM
    https://github.com/Meta
    Learners/AutoWSL-of-Ne
    urIPS-2019-AutoDL-Chall
    enge
    3 lhd1992 Hyperopt + LightGBM
    https://github.com/Inspur
    -AutoWSL/AutoWSL-ACM
    L2019

    View Slide

  17. 17
    NeurIPS 参戦!!

    View Slide

  18. 参考文献
    18
    Mordelet, F., and Vert, J. P.,
    "A bagging SVM to learn from positive and unlabeled examples."
    Pattern Recognition Letters, 37, pp. 201-209, 2014.
    Natarajan, N., Dhillon, I. S., Ravikumar, P. K., and Tewari, A.,
    "Learning with noisy labels."
    In Advances in neural information processing systems, pp. 1196-1204, 2013.
    Wang, Y. and Ma, X. and Chen, Z. and Luo, Y. and Yi, J. and Bailey, J.,
    "Symmetric Cross Entropy for Robust Learning With Noisy Labels."
    The IEEE International Conference on Computer Vision, pp. 322-330, 2019.

    View Slide