Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PU (Positive-Unlabeled) Learning

PU (Positive-Unlabeled) Learning

研究室の日本語輪読会で発表したスライドです。
内容に問題や不備がある場合は、お手数ですが hellorusk1998 [at] gmail.com までご連絡お願いいたします。

Kaito Sugimoto

April 19, 2021
Tweet

More Decks by Kaito Sugimoto

Other Decks in Research

Transcript

  1. PU (Positive-Unlabeled) Learning とは? 通常の二値分類: Positive (P) と Negative (N)

    のいずれかにラベル付けされたデータに対 し, Positive (P) と Negative (N) を上手く分類できるようなルールを 学ぶ PU (Positive-Unlabeled) Learning: Positive (P) にラベル付けされたデータとラベルの付いていないデー タだけから、Positive (P) と Negative (N) を上手く分類できるような ルールを学ぶ 3 / 19
  2. 原理 ここでは, 多く引用されている (Elkan and Noto, 2008) の手法を紹介 データ: x,

    正解データであるか否か: y ∈ 0, 1 データにラベルがついているか否か: s ∈ 0, 1 PU 学習における設定 p(s = 1|x, y = 0) = 0 (1) あるデータ x について, それが負例であれば, ラベルがついているこ とはない 6 / 19
  3. 原理 PU 学習における仮定 p(s = 1|x, y = 1) =

    p(s = 1|y = 1) = c (2) 正例データにラベルがついている確率はデータによらず一定値 c (0 ≤ c ≤ 1) を取る ここから大きく分けて 2 種類の方法がある 7 / 19
  4. 手法(1 つ目) 以下が導出される p(s = 1|x) = p(y = 1

    ∧ s = 1|x) = p(y = 1|x)p(s = 1|x, y = 1) = c · p(y = 1|x) ∴ p(y = 1|x) = p(s = 1|x) c 8 / 19
  5. 手法(1 つ目) p(y = 1|x) = p(s = 1|x) c

    p(y = 1|x) は, 求めたい「あるデータ x に対してそれが正解であるか 否か」であり, これは 1 「あるデータ x に対してそれがラベル付きであるか否か」 p(s = 1|x) を通常の分類器で推定する 2 正例データにラベルがついている確率 c をデータから推定する ことにより推定できる c はどのように推定するか? 9 / 19
  6. 手法(1 つ目) 「あるデータ x に対してそれがラベル付きであるか否か」p(s = 1|x) を, 訓練データに対して分類器で学習する(学習結果を g(x)

    と表記) 訓練データと同質の, n 個のデータからなる validation データ V のう ち、ラベルが付いている集合 P に対して g(x) を適用し, 分類器によ りラベルが付いていると判定された個数の割合 1 n ∑ x∈P g(x) を c の推 定値とする (これは, 分類器 g(x) が p(s = 1|x) を正しく学習できている場合, x ∈ P において g(x) = p(s = 1|y = 1) でもあることが導けるため) 10 / 19
  7. 手法(2 つ目) 先ほどまでの 1 つ目の手法は、ラベル付きか否かの学習器 g(x) を直 接 c で割ることにより調整した

    一方, c を用いて, ラベルの付いていないデータが「どれほど正例に近 いか」の確率(重み)を割り当て、改めて学習を行うという手法も考 えられる (weighting unlabeled examples) つまり w(x) = p(y = 1|x, s = 0) を計算する 11 / 19
  8. 手法(2 つ目) w(x) = p(y = 1|x, s = 0)

    = p(s = 0|x, y = 1)p(y = 1|x) p(s = 0|x) = (1 − c)p(s=1|x) c 1 − p(s = 1|x) = 1 − c c p(s = 1|x) 1 − p(s = 1|x) と表せるので, 前の手法と同様に p(s = 1|x) を分類器 g(x) として学習 することにより, 計算できる 12 / 19
  9. 手法(2 つ目)に関する注意点 1 つ目の手法よりも実験的に精度が良いのでよく用いられるが, • 分類器が「データがクラスに属する確率」を出力できなければい けない(SVM であれば出力が 0 から

    1 になるようにスケーリン グする必要がある) • 理論的に正しく境界を定めるためには, 誤差関数を(SVM でよく 使われる hinge loss のような convex loss ではなく) non-convex loss にしなければならないなど, 理論的に難しい面もある 1 12010 年代に杉山研が相次いで PU 学習に関する論文を発表しており, 理論的な研究が進んでいる 15 / 19
  10. PU Learning の NLP への応用例 • Sentiment Lexicon Expansion Based

    on Neural PU Learning, Double Dictionary Lookup, and Polarity Association (EMNLP 2017) • SNS などで多く見られる辞書に載っていない新語から感情分析 に役立つ語彙を抽出する • Learning Word Embeddings for Low-resource Languages by PU Learning (NAACL-HLT 2018) • 共起していない単語対を負例ではなく Unlabeled とみなすことで 単語埋め込みを学習する 17 / 19
  11. PU Learning の NLP への応用例 • Distantly Supervised Named Entity

    Recognition using Positive-Unlabeled Learning (ACL 2019) • Annotation のついていないテキストと Entity の辞書のみから固有 表現抽出を行う • Claim Check-Worthiness Detection as Positive Unlabelled Learning (EMNLP 2020) • ラベルのついていない Wikipedia や Twitter の文章群から Check-Worthiness (ファクトチェッキングを行うべきもの) を判定 する 18 / 19
  12. 参考文献 • 機械学習の現状とこれから (機械学習工学研究会 (2018) 基調講 演) https://www.slideshare.net/MLSE/ss-97568525 • Learning

    Classifiers from Only Positive and Unlabeled Data (KDD 2008) https://cseweb.ucsd.edu/~elkan/posonly.pdf • Analysis of Learning from Positive and Unlabeled Data (NIPS 2014) https://papers.nips.cc/paper/2014/file/ 35051070e572e47d2c26c241ab88307f-Paper.pdf • Semi-Supervised Classification Based on Classification from Positive and Unlabeled Data (ICML 2017) https://arxiv.org/abs/1605.06955 • Classification from Positive, Unlabeled and Biased Negative Data (ICML 2019) https://arxiv.org/abs/1810.00846 19 / 19