How to Win a Data Science Competition (Week1-3)
Kaggle 機械学習
Published: 2019-05-18

はじめに

Coursera の 「How to Win a Data Science Competition」 のメモです。

英語字幕しかなかったので、翻訳の意味が分からないところがあるかもしれません。

Introduction & Recap

学習目標

  • Describe competition mechanics
  • Compare real life applications and competitions
  • Summarize reasons to participate in data science competitions
  • Describe main types of ML algorithms
  • Describe typical hardware and software requirements
  • Analyze decision boundries of different classifiers
  • Use standard ML libraries

Recap of main ML algorithms

機械学習のアルゴリズム

線形モデル

  • ロジスティック回帰
  • SVM

特徴

  • 線で空間を分ける
  • 高次元データに適している
  • それぞれ、異なる損失関数を持つ
  • 線形モデルの限界として、輪を形成している点は分離できない
  • ほとんどの機械学習ライブラリに実装されている (scikit-learnなど)
  • Vowpal Wabbit (大きいデータセットを扱うように設計されている)
樹木モデル

  • ランダムフォレスト (RF)
  • 勾配ブースティング (GBDT: Gradient Boosted Decision Trees)

特徴

  • 決定木 (decision tree)
  • 分割統治法を利用して、分割し続ける
  • コンペの勝者はほぼ使う
  • 表形式データへのアプローチに良い
  • 線形の依存関係を捉えることは難しい
  • 境界線の付近で不正確になる可能性がある
  • ほとんどの機械学習ライブラリに実装されている (scikit-learnなど)
  • XGBoost, LightGBM は高速で正確なライブラリ

k近傍法 (k-nearest neighbor)

特徴

  • ニューラルネットワークとは異なる
  • 互いに近い点が同様のラベルと仮定している
  • 近いオブジェクトを探すために2乗距離を使うが、画像ではあまり意味がない
  • ほとんどの機械学習ライブラリに実装されている
    • scikit-learn がおすすめ(事前定義の距離を使うことができる)
    • 自前の距離関数も実装できる

ニューラルネットワーク

※ このコースでは扱わない

  • TensorFlow
  • Keras
  • MXNet
  • PyTorch
  • Lasagne

特徴

  • 一般的にはブラックボックスで、滑らかな境界線を作る
  • 画像、音、テキスト、シーケンスに適しているものがある

ノーフリーランチ定理

すべてのタスクに対して、他の全ての方法を上回るパフォーマンスを出す方法はない。

参考