千葉までマッツ・ミケルセンとツーショットを撮りに行っていたら投稿が遅れてしまいました…これから頑張って取り返します。
この記事の目的
ML開発のパイプラインについてざっくりと知る
パイプラインとは
モデルの開発からデプロイ、運用までの一連のプロセスを自動化するための仕組み。
主な工程は以下の通り。
データ収集
モデル開発のためのデータを収集するプロセス。
画像を読み込んで犬か猫か、を判別するモデルを作るとしたら、犬と猫の画像を集めている段階。
探索的データ分析 (EDA)
探索的データ分析(EDA)とは、データサイエンティストがデータセットを分析・調査して、その主な特徴をまとめる際に用いるもので、多くの場合、データの可視化手法を使用しています。
引用元様:
https://www.ibm.com/jp-ja/topics/exploratory-data-analysis
データの前処理を行う前に、問題を見つけておくこと。
対処法は次の「データの前処理」で決める。
データの前処理
データをモデルに適した形式に変換すること。
データが重複していたり、平均と大きく異なる値(外れ値)に対して削除や修正などの処理をして学習を助ける。
特徴量エンジニアリング
データから重要な特徴量を抽出・生成すること。
特徴量(とくちょうりょう)とは、モデルが生成する予測の手掛かりになる変数のこと。犬、猫を判別するモデルの場合「犬のしっぽの長さ」とか「猫の髭の長さ」とかがそれにあたる。
不動産物件の価格を予想するモデルの場合は「築年数」や「面積」
価格を予想するにあたり「家の色」や「持ち主の性別」はあまり関係ないため特徴量とは呼ばない。
One-Hot エンコーディング
機械学習は数値でしかデータを処理できないため、あらかじめ特徴量を数値に変換しておく必要があるが、単純に「男=1、女=2、その他=3」のような形にすると機械が数字をそのまま優先順位と勘違いする可能性があるため、1と0で表現する。
たとえば男性1人、女性1人、その他1人を表すときは以下の図のようになる。
(1が当てはまるからone-hot、みたいな覚え方)
男性 | 女性 | その他 |
---|---|---|
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 1 |
ビン分割 (Binning)
連続的な数値データをいくつかの範囲(「ビン」または「区間」とも呼ばれる)に分割して、カテゴリデータとして扱えるようにする方法。
パフォーマンスが向上するが、細かい情報が消える可能性がある。
ラベルエンコーディング
1つのカテゴリが1つの数値に当てはまるようにマッピングすること。
男性=1,女性=2,その他=3,のように数字を割り振る手法。
One-Hot エンコーディングで書いた通り、数値をそのまま優先順位と勘違いする可能性があるが実装が簡単でメモリ消費が少ない。
欠損値処理
データの抜けている個所を置き換えること。
アンケートのデータで、任意回答項目が空欄のデータに対し、その空欄のどういう数値で埋めるか考えること。
基本的に削除するか平均値で保管するか。
または過去の数値からそこに入りそうな値を予測していれる。(回帰補完)
モデルトレーニング
トレーニングデータを使ってモデルを学習させること。
詳しくは下記参照。
https://qiita.com/ei_540/items/289f8ab20f48eac48e20
ハイパーパラメータのチューニング
モデルの性能を最適化するため、ハイパーパラメータを調整すること。
ハイパーパラメータとは、人間が設定する変数のこと。K-means法のKの部分とか。
評価
テストデータを使用してモデルの性能を評価すること。いろいろな指標がある。
モデルパフォーマンスメトリクス
モデルの精度を図るメトリクスのこと。
混同行列
こちらのこと。F1スコアも指標となる。
https://qiita.com/ei_540/items/b5a49d463345ac972cb7
ROC曲線
ROC曲線下面積のこと。AUCともいう。
AUCは0から1の値であり、1に近いほど精度の高いモデルになっている。
分類問題で、クラスの不均衡がある場合に使える。
ROUGE
自然言語処理の生成を評価する指標。
文章を要約するタスクで使用される。
BLEU
自然言語処理の生成を評価する指標。
文章を翻訳するタスクで使用される。
BERTScore
自然言語処理の生成を評価する指標。
文書生成全般に適用。高度なタスクで使用される。
ビジネスメトリクス
ビジネス的な観点におけるメトリクスのこと。導入の結果や改善をはかる。
ユーザーあたりのコスト
モデルを利用するユーザー1人あたりに発生するコストのこと。
開発コスト
モデルの開発およびメンテナンスにかかった総費用のこと。インフラ維持費とか、ソフトウェアを使っているならライセンス料とか。
顧客からのフィードバック
モデルの予測や働きにたいする顧客の満足度や反応のこと。
投資収益率 (ROI)
モデルの導入によって得られた収益に対する投資の割合。
つまり、モデルを導入することで得られたメリットのこと。
デプロイ
学習済みモデルを本番環境に配置し、推論が行える状態にすること。
モニタリング
本番環境でのモデルの性能を監視すること。
劣化が見られた場合は再トレーニングを行う。
データドリフト
機械学習モデルの学習に使用したデータセットと実際の運用環境で扱うデータセットの間に統計的性質の乖離が生じる現象のこと。
コンセプトドリフト
機械学習モデルが学習した概念自体が時間の経過とともに変化してしまう現象のこと。
モデルバイアス
モデルが特定のグループや特性に対して不公平な予測を行ってしまうこと
関連AWSサービス
SageMaker Model Monitor
デプロイされたモデルの状況をリアルタイムで追跡して、ドリフト等を検出してくれる。
閾値を下回った場合、CloudWatchアラームを鳴らす。
SageMaker Clarify
指定した属性を調べることで、潜在的なバイアスを検出する(性別、年齢)
特徴量の重要度グラフを作ってくれる。
SageMaker Model Monitorと統合されており、CloudWatchアラームを設定できる。
SageMakerStudio内で使える。
Amazon Manager Service for Apache Flink(旧:Amazon Kinesis Data Analytics)
リアルタイムのストリーミングデータを変換および分析できる。リアルタイムというのが大事。
自動的にスケールしてくれる。