AWS Certified Machine Learning - Specialty対策用 雑多メモ

AWS Certified Machine Learning - Specialty(MLS)を受験することになりました。全然馴染みがなかった分野なので、用語も何もわからず。日本語での参考書っぽいものも見当たらなかったので、個人的に勉強した内容のことを以下にまとめます。

この記事では機械学習の各種用語について。

分類/回帰

  • 分類は、データが属するクラスを予測する。
  • 回帰は、連続する数値から今後の数値の変化を予測する。

学習率

パラメータ(重みやバイアス)をどれぐらい変化させるかを表すハイパーパラメータ。

  • 学習率の値が大きすぎると学習のスピードは上がるが最適解に収束しない(振動する or 発散する)
  • 学習率の値が小さすぎると収束しやすいが、収束までに時間がかかる

オーバーフィッティングとその対処

学習データに対して絵記号しすぎてしまい、未知のデータに対しては期待する精度が出ない状態になること。対処方法として、以下のことを実施する。

  • 正則化の制約を増やす
  • ドロップアウトを増やす
  • 次元圧縮
  • レイヤーを減らして単純なモデルにする
  • 学習率を小さくする

歪んだデータへの対処方法

  • 対数変換
  • ビニング
    • 1つの特徴量を一定間隔に分割して、それぞれの区間を違う特徴量とみなして重回帰をする

混合行列

- 実データ・正 実データ・負
予測・正 真陽性(TP) 偽陽性(FP)
予測・負 偽陰性(FN) 真陰性(TN)

正や負がそれぞれ正解/不正解を常に表現しているとは限らないことに注意。モデルにより検出したいほうを陽性と表現することが多い。

評価指標として、以下のものを認識しておく

  • リコール(再現性、真陽性率)= TP / (TP + FN)
    • 実際に陽性のデータのうち、どれだけ正しく陽性と判定されたか
    • 病気検出やスパム検出など検出漏れを減らす場合に活用
  • 適合率(精度) = TP/(TP + FP)
    • 陽性と予測した中で、本当に陽性の割合
    • 詐欺検出など誤検知を減らす場合に活用

リコールと適合率の調和平均を表すF1値を活用することが多い(リコールと精度はトレードオフになるため)

tech.ledge.co.jp

オーバーサンプリング/アンダーサンプリング

  • オーバーサンプリングは、件数が少ないデータを増やすこと
    • 手法の一つにSMOTE(Synthetic Minority Over-sampling TEchnique)がある。k-NNアルゴリズムを用いる
  • アンダーサンプリングは、件数が多いデータを減らすこと

アルゴリズムの整理

アルゴリズム 教師あり/なし 分類/回帰 簡単な説明 ユースケース
因数分解機(Factorization Machines) 教師あり 分類・回帰 疎なデータを扱える線形モデルで、行列分解を用いて特徴間の相互作用を学習 推薦システム、広告クリック予測
K最近傍(K-Nearest Neighbors, KNN) 教師あり 分類・回帰 新しいデータポイントが既存データのどの近隣グループに属するかを判定 画像認識、異常検知
線形学習(Linear Learner) 教師あり 分類・回帰 線形回帰・ロジスティック回帰を並列最適化で高速に学習 売上予測、顧客離脱予測
XGBoost 教師あり 分類・回帰 勾配ブースティング決定木(GBDT)を用いた高精度なモデル クレジットスコアリング、詐欺検出
Object2Vec 教師あり - 単語やアイテムを埋め込みベクトルに変換し、類似度を学習 文書分類、ユーザー行動予測
DeepAR 教師あり 回帰 時系列予測のためのRNNベースのアルゴリズム 需要予測、売上予測
PCA(主成分分析) 教師なし - 高次元データを低次元に圧縮し、データの特徴を保持 異常検知、データ可視化
K-Means 教師なし - データをK個のクラスタに分類 顧客セグメンテーション、画像圧縮
ランダムカットフォレスト(Random Cut Forest, RCF) 教師なし - 異常スコアを算出し、異常検知を行う ネットワーク侵入検知、不正検知
BlazingText 教師あり 分類 Word2Vecを活用した自然言語処理モデル テキスト分類、チャットボット
seq2seq(Sequence to Sequence) 教師あり - エンコーダ・デコーダを使った系列変換モデル 機械翻訳、要約生成
潜在的ディリクレ配分(LDA) 教師なし - 文書をトピックに分類する手法 ニュース記事分類、トピックモデリング
ランダムフォレスト(Random Forest) 教師あり 分類・回帰 複数の決定木を用いたアンサンブル学習 医療診断、金融リスク分析
ロジスティック回帰(Logistic Regression) 教師あり 分類 2値または多値分類に適した線形モデル スパムメール分類、マーケティング分析
CNN(畳み込みニューラルネットワーク 教師あり 分類 画像データを解析する畳み込み構造を持つニューラルネットワーク 画像認識、医療画像解析
RNN(再帰ニューラルネットワーク 教師あり 分類・回帰 時系列データや文章のパターンを学習 音声認識、感情分析
T-SNE 教師なし - 高次元データを2次元・3次元に可視化する手法 データクラスタリングの可視化
サポートベクターマシンSVM 教師あり 分類・回帰 超平面を用いてデータを分類する手法 画像分類、バイオインフォマティクス

Kinesisシリーズのまとめ

サービス名 特徴 主なユースケース
Amazon Kinesis Data Streams スループットのリアルタイムデータストリーム処理を提供する ログ分析、IoTデータ処理、リアルタイム分析
Amazon Kinesis Data Firehose ストリーミングデータをS3、Redshift、Elasticsearch、Splunkにバッチ処理で自動送信 ログ収集、データレイク統合、ETL処理
Amazon Managed Service for Apache Flink(旧Amazon Kinesis Data Analytics) SQLを使用してKinesis Data StreamsやFirehoseのストリーミングデータをリアルタイムに分析 ストリーミングデータの集約、異常検知、ダッシュボード作成
Amazon Kinesis Video Streams ライブ動画ストリーミングデータを処理・保存できる 監視カメラ映像のストリーミング、機械学習を用いた画像解析