機械学習テストの復習

Python, ML10 February 2021

以下、個人的に咀嚼して完全に回答のできなかった用語集

DBSCAN

  • 教師なし学習のハードクラスタリングにおけるモデルの1つ
  • 密度を指標においている
    • ちなみによく使用されるkmeansは距離を指標にしている
  • コア、ボーダー、ノイズの3つの観点が存在する
    • コア: 自身から半径ε以内に指定個数minPts以上の隣接点がある点
    • ボーダー: 自身から半径ε以内の隣接点がminPts未満だが、コア点の半径εに位置する点
    • ノイズ: 上記以外の点
  • パラメータ感度が高い

SMOTE

  • オーバーサンプリングの手法の1つ
    • 不均衡データに対して、正例を増やすこと
  • SMOTEでは完全にランダムに増やすのではなく、既存のデータからいい感じに合成して正例を増やす

訓練誤差と検証誤差(汎化誤差)

  • 訓練誤差はトレーニングが足りずに正解と誤差が出ること
  • 検証誤差(汎化誤差)は過学習により、訓練データ以外のデータで誤差が出ること
  • これら二つはオフトレードの関係にあるので、丁度いいラインを探す必要がある
  • バイアスとバリアンスに近い

ラッソ回帰

  • 重回帰分析において、重みのL1ノルムをペナルティ加えて正則化すること
  • 過学習を抑制する
  • 基本的に重みが大きいとか学習する傾向が高い
    • 出力が大きく振れるので
  • L1正則化にはスパース(0乗算で特徴量が消えること)が多くなると言う特典がつく

リッジ回帰

  • 重回帰分析において、重みのL2ノルムをペナルティ加えて正則化すること
  • スパース以外は同上
  • 正則化項の強さを大きくしすぎると、検証誤差は大きくなる
    • 正則化項では各パラメータの2乗総和を取るので重みが大きいとみなせる(過学習)
    • 回帰係数の絶対値の総和はゼロに近づく

ROCとAUC

  • 2値分類における評価指標
  • ROC曲線は横軸に「偽陽性率」縦軸に「真陽性率」をとる
    • ちなみに真陽性率はrecall(再現率)と同値で、本当に陽性のもののうち、どれだけ陽性と判断できたか
  • ROCは本来人が決める「閾値(どの確率以上を正例とするか)」を可変にし、プロットしたもの
    • 人の判断による閾値がなくなるので、より客観的な評価ができる
  • AUCはROU曲線の描くスコア
    • プロットしたラインから下の範囲の面積がスコアになるので、最大値は1となる

KNN(K近傍法)

  • 分類で使用される
    • 今はあまり使われないがシンプル
  • 予測したい点からK個の最も近い点を確認し、K個のうち正例が多ければ正例、負例が多ければ負例とするモデル

PCA(主成分分析)

  • 多数の特徴量の軸をずらし、特徴量を削減する(主成分を捉える)
  • 実際には、元データと固有ベクトルの積でデータ変換をしている
  • 主成分分析は教師なし学習のタスクとして考えられる
    • 正解ラベルが必要なく、次元を削減できる

nested cross validation

  • 複数のモデルのハイパーパラメータ調整をしながら検証する

tags: Python, ML