$30 off During Our Annual Pro Sale. View Details »

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
    杉本 海人
    Aizawa Lab. M1
    2021/04/19
    1 / 19

    View Slide

  2. 内容
    • PU Learning の紹介
    • PU Learning の NLP への応用例
    2 / 19

    View Slide

  3. PU (Positive-Unlabeled) Learning とは?
    通常の二値分類:
    Positive (P) と Negative (N) のいずれかにラベル付けされたデータに対
    し, Positive (P) と Negative (N) を上手く分類できるようなルールを
    学ぶ
    PU (Positive-Unlabeled) Learning:
    Positive (P) にラベル付けされたデータとラベルの付いていないデー
    タだけから、Positive (P) と Negative (N) を上手く分類できるような
    ルールを学ぶ
    3 / 19

    View Slide

  4. PU (Positive-Unlabeled) Learning とは?
    出典: 機械学習の現状とこれから (機械学習工学研究会 (2018) 基調
    講演) 4 / 19

    View Slide

  5. PU (Positive-Unlabeled) Learning とは?
    モチベーション・メリット:
    「??である」データセットに比べて「??でない」データセットをきち
    んと作るのは難しいので実用的に嬉しい
    他の従来の(生成モデルにもとづく)半教師付き手法と違って, デー
    タ分布を仮定する必要がない
    SVM のような識別に特化した手法と容易に組み合わせることができる
    5 / 19

    View Slide

  6. 原理
    ここでは, 多く引用されている (Elkan and Noto, 2008) の手法を紹介
    データ: x, 正解データであるか否か: y ∈ 0, 1
    データにラベルがついているか否か: s ∈ 0, 1
    PU 学習における設定
    p(s = 1|x, y = 0) = 0 (1)
    あるデータ x について, それが負例であれば, ラベルがついているこ
    とはない
    6 / 19

    View Slide

  7. 原理
    PU 学習における仮定
    p(s = 1|x, y = 1) = p(s = 1|y = 1) = c (2)
    正例データにラベルがついている確率はデータによらず一定値
    c (0 ≤ c ≤ 1) を取る
    ここから大きく分けて 2 種類の方法がある
    7 / 19

    View Slide

  8. 手法(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

    View Slide

  9. 手法(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

    View Slide

  10. 手法(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

    View Slide

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

    View Slide

  12. 手法(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

    View Slide

  13. 手法(1 つ目)のイメージ図
    13 / 19

    View Slide

  14. 手法(2 つ目)のイメージ図
    重みを計算した上でもう一度分類 14 / 19

    View Slide

  15. 手法(2 つ目)に関する注意点
    1 つ目の手法よりも実験的に精度が良いのでよく用いられるが,
    • 分類器が「データがクラスに属する確率」を出力できなければい
    けない(SVM であれば出力が 0 から 1 になるようにスケーリン
    グする必要がある)
    • 理論的に正しく境界を定めるためには, 誤差関数を(SVM でよく
    使われる hinge loss のような convex loss ではなく) non-convex
    loss にしなければならないなど, 理論的に難しい面もある 1
    12010 年代に杉山研が相次いで PU 学習に関する論文を発表しており, 理論的な研究が進んでいる
    15 / 19

    View Slide

  16. pulearn ライブラリ
    scikit-learn と手軽に組み合わせることができる
    16 / 19

    View Slide

  17. 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

    View Slide

  18. 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

    View Slide

  19. 参考文献
    • 機械学習の現状とこれから (機械学習工学研究会 (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

    View Slide