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以上なら「とても良い」と言える。