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

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

論文読んだ「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.

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乗の項)