機械学習スタートアップシリーズ ゼロからつくるPython機械学習プログラミング入門 (KS情報科学専門書)
- 作者:八谷 大岳
- 発売日: 2020/08/31
- メディア: 単行本(ソフトカバー)
目次
- 目次
- 目的
- 参考文献
- 1. ラベル付けとはなんのためにするのか
- 2. どんなラベルを用意するべきか
- 3. 「その他」ラベルが存在している場合の対処法
- 4. どれくらいのラベル数を用意するべきか
- 5. ラベル付けは何人で行うべきか?
- 6. どのように2人で作業するのか?
- 7. ラベルが不一致だった場合の対処法を決めておく
- 8. ラベル付け作業をどうやって評価するのか
目的
機械学習について基礎的な部分を勉強し始めたのですが、まずは「教師あり学習」で必要不可欠になる「ラベル付け」という作業について勉強したので、そのメモを書きます。
参考文献
今回は以下の資料がとても分かりやすくまとめられていたので、その中でポイントになる部分をピックアップしてみました。
www.slideshare.net1. ラベル付けとはなんのためにするのか
学習させるデータが何なのかをシステムが判断できるようにするための作業。それに基づいて分類モデルを構築し、ラベルなしのデータをその分類モデルに入力することで、それが何かを予測させる。
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以上なら「とても良い」と言える。