ロジスティック回帰とSVMの比較

Python で学ぶ線形分類器

Michael (Mike) Gelbart

Instructor, The University of British Columbia

ロジスティック回帰:

  • 線形分類器である
  • カーネルと組み合わせ可能だが低速
  • 意味のある確率を出力する
  • 多クラスに拡張可能
  • すべてのデータ点がフィットに影響する
  • L2またはL1正則化

サポートベクターマシン(SVM):

  • 線形分類器である
  • カーネルと組み合わせ可能かつ高速
  • 確率を自然に出力しない
  • 多クラスに拡張可能
  • 「サポートベクター」のみがフィットに影響する
  • 通常はL2正則化のみ
Python で学ぶ線形分類器

scikit-learnでの使用

sklearnのロジスティック回帰:

  • linear_model.LogisticRegression

sklearnの主なハイパーパラメータ:

  • C(正則化強度の逆数)
  • penalty(正則化の種類)
  • multi_class(多クラスの種類)

sklearnのSVM:

  • svm.LinearSVCsvm.SVC
Python で学ぶ線形分類器

scikit-learnでの使用(続き)

sklearnの主なハイパーパラメータ:

  • C(正則化強度の逆数)
  • kernel(カーネルの種類)
  • gamma(RBF平滑化の逆数)
Python で学ぶ線形分類器

SGDClassifier

SGDClassifier:大規模データセットに対してスケールしやすい

from sklearn.linear_model import SGDClassifier

logreg = SGDClassifier(loss='log_loss')

linsvm = SGDClassifier(loss='hinge')
  • SGDClassifierのハイパーパラメータalpha1/Cに相当する
Python で学ぶ線形分類器

練習しましょう!

Python で学ぶ線形分類器

Preparing Video For Download...