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

論文読んだ「Learning Classifiers from Only Positive a...

論文読んだ「Learning Classifiers from Only Positive and Unlabeled Data」

ELKAN, Charles; NOTO, Keith. Learning classifiers from only positive and unlabeled data. In: Proceedings of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2008. p. 213-220.

Avatar for Shinichi Takayanagi

Shinichi Takayanagi

April 26, 2018
Tweet

More Decks by Shinichi Takayanagi

Other Decks in Technology

Transcript

  1. Learning Classifiers from Only Positive and Unlabeled Data Charles Elkan,

    Keith Noto 高柳慎一 @_stakaya 論文読んだ
  2. やってみる 10 # 適当なデータの作成 positive <- matrix(rnorm( 500*2, mean=2), ncol=2)

    negative <- matrix(rnorm(1000*2), ncol=2) # 本当は500個あるPositiveデータのうち100個(20%)しか見えないとする n <- 100 is <- sample(1:500, n) # ラベル付き&ラベルなしでの学習 m1 <- glm(y ~.,family=binomial(link='logit'), data=make_data(positive[is,], rbind(positive[(1:500)[-is],], negative))) # (本当は見えない)真のデータでの学習 m2 <- glm(y ~.,family=binomial(link='logit'), data=make_data(positive, negative)) p1 <- predict(m1, type="response") p2 <- predict(m2, type="response") # 論文のc、20%=100/500に近い(0.1727) sum(p1[1:n])/n # モデルから出した確率の補正(これもc0.2008) sum(p1[1:n])/sum(p2[1:n])
  3. 雑なデータ生成部分 11 # モデル用のデータ生成コード make_data <- function(p, n) { df

    <- data.frame(rbind( cbind(1, p), cbind(0, n) )) colnames(df) <- c("y", "x1", "x2") df$x12 <- (df$x1)^2 df$x22 <- (df$x2)^2 df } • 特徴量は論文にあわせてある(2乗の項)