EurekaMoments

新米エンジニアが一人前を目指す修行の日々を記していくブログです。

機械学習におけるラベル付けについての勉強メモ

背景・目的

機械学習について基礎的な部分を勉強し始めたのですが、まずは「教師あり学習」で必要不可欠になる「ラベル付け」という作業について勉強したので、そのメモを書きます。

参考文献

今回は以下の資料がとても分かりやすくまとめられていたので、その中でポイントになる部分をピックアップしてみました。

www.slideshare.net

1. ラベル付けとはなんのためにするのか

学習させるデータが何なのかをシステムが判断できるようにするための作業。それに基づいて分類モデルを構築し、ラベルなしのデータをその分類モデルに入力することで、それが何かを予測させる。

2. どんなラベルを用意するべきか

「誰が見ても同じ基準で分類できる」ラベル体系が理想。人間が見て曖昧なラベルは機械でも解けない。

3. 「その他」ラベルが存在している場合の対処法

「その他ラベル」があるなら問題を分割する方が良い。「その他」or Notを判断するための分類器を用意する。まずは、機械が判断することに対して「関係ある」データと「関係ない」データに分けることから始める。

4. どれくらいのラベル数を用意するべきか

「出来る限り少なくする」のが理想。ラベルが3以上になるとモデルの難易度が高くなるため、思うような精度が出なくなる。こういう時は、各分類器を階層化して、一つ一つの分類器が分類する数を少なくする。

5. ラベル付けは何人で行うべきか?

最低でも2人で同じラベル付けを行うようにする。2人で手分けをするという意味ではなく、2人で全てのデータにラベル付けするという意味。
ラベル付けが属人的なものであり、信用できないという意見を防ぐためである。2人以上であれば、「出来る限り普遍的なラベルである」と言える。

6. どのように2人で作業するのか?

「ラベル付け→認識確認」を最低でも1回は行う。
6-1. サンプリング: 100データくらいをサンプリングする
6-2. トライアル: サンプリングしたデータにラベル付け
6-3. 認識確認: ラベル付けデータを確認。不一致なら「ルール再確認」or「ルール追加」。不一致が多すぎるなら「ラベル体系」の見直し
6-4. 本番のラベル付け: 本格的にラベル付けを開始。全てのデータをやり直す。

7. ラベルが不一致だった場合の対処法を決めておく

パターン1: 不一致なら捨てる
パターン2: 不一致なら全て協議する
パターン1のメリット: 問題が簡単になる
パターン1のデメリット: 学習用のデータが少なくなる
パターン2のメリット: 学習用のデータが確保できる
パターン2のデメリット: 問題が難しくなる、協議に時間が掛かる
「わからない」ラベルを導入しておくと良い

8. ラベル付け作業をどうやって評価するのか

研究上では、論文で「ラベル付け一致度」の報告が義務になっている。それがなければ受理されない。「データを捨てる」「協議して一致させる」の前に、「カッパ係数」を計算しておく。
「カッパ係数」とは、「2つ以上のデータの一致度」を調べる数値。0.81以上なら「とても良い」と言える。

最近読んだ or 読みたい書籍の紹介

機械学習入門 ボルツマン機械学習から深層学習まで

機械学習入門 ボルツマン機械学習から深層学習まで