gepuroの日記

2012-06-02

[][] Zansa第7回勉強会で発表してきました!




予想以上に質問等の発言が多くて、盛り上がりました。

2012-05-19

[] "言語処理のための機械学習入門"の一章を読んで


本書の一章では、機会学習を学んでいくにあたって必要な数学の知識が記されている。節としては、

がある。記述されている言葉は、平易で読みやすく書かれていて、この分野の数学を初めて学ぶ人であっても、理解しやすいと思った。
また、例題や練習問題が数多く掲載されていて、実際に手を動かしながら、読み進めていくこともできる。例題の解説では、数式の展開が目で追っていける程度に細かく書かれていた。

少し駆け足気味で読んでいったが、一章を読むのに90分ほどかかった。(章末問題は解いていない)
これからは、時間のある時にこの本を少しずつ読んでいこうと思う。

2012-05-14

[][] 第22回R勉強会@東京(#TokyoR)に参加&LTしてきました。


今回は、「らくがき!」というタイトルで緩い発表をしました。LT時間は5分でありましたが、3分程度しか場が持ちませんでした。後の懇親会では、発表の仕方のアドバイスなどを頂き、感謝です。



以下、汚いRのコード

basyo <- function(x,y){
if( y <= -0.5 * x && y >= 0.5 * x){
return(1)
}
if( y <= -0.5 * x && y <= 0.5 * x){
return(2)
}
if( y >= -0.5 * x && y <= 0.5 * x){
return(3)
}
if( y >= -0.5 * x && y >= 0.5 * x){
return(4)
}
}

plot(0,0,type="n",ylim=c(-1,1),xlim=c(-1,1))
iro=rainbow(100)
for( i in 1:20000){
points(runif(1,min=-1,max=1),runif(1,min=-1,max=1),pch=16,col=iro[sample(1:100,1)])
}


a <- locator(1)
ataix <- c(a$x)
ataiy <- c(a$y)
for( i in 1:18){
b <- locator(1)
ataix <- c(ataix,b$x)
ataiy <- c(ataiy,b$y)

lines(c(a$x,b$x),c(a$y,b$y),col="white",lwd=8)

katamuki = (b$y-a$y)/(b$x-a$x)
seppen = b$y - katamuki * b$x

s <- ifelse(a$x > b$x, b$x, a$x)
e <- ifelse(a$x > b$x, a$x, b$x)
print(b)
print(basyo(x=b$x, y=b$y))

if( basyo(x=b$x,y=b$y) == 1){
 for( ii in seq(s, e, 0.0001) ){
  lines(c(-1,ii-0.001), c(katamuki*ii + seppen, katamuki*ii + seppen), col="blue")
 }
}

if( basyo(x=b$x,y=b$y) == 2 ){
 for( ii in seq(s, e, 0.0001) ){
  lines(c(ii,ii), c(-1, katamuki*ii + seppen - 0.001), col="blue")
 }
}

if( basyo(x=b$x,y=b$y) == 3){
 for( ii in seq(s, e, 0.0001) ){
  lines(c(ii - 0.001 ,1), c(katamuki*ii + seppen, katamuki*ii + seppen), col="blue")
 }
}

if( basyo(x=b$x,y=b$y) == 4 ){
 for( ii in seq(s, e, 0.0001) ){
  lines(c(ii,ii), c(katamuki*ii + seppen - 0.001, 1), col="blue")
 }
}

a <- b
}

source("http://aoki2.si.gunma-u.ac.jp/R/src/plot.R", encoding="euc-jp")

a <- locator(1)
for( i in seq(0,0.06,0.0001)){
plot.circle(a$x,a$y,r=i,col="white")
}
a <- locator(1)
for( i in seq(0,0.06,0.0001)){
plot.circle(a$x,a$y,r=i,col="white")
}


for(i in seq(-1,min(ataix),0.001)){
lines(c(i,i),c(-1,1),col="blue",lwd=6)
}
for(i in seq(max(ataix),1,0.001)){
lines(c(i,i),c(-1,1),col="blue",lwd=6)
}
for(i in seq(-1,min(ataiy),0.001)){
lines(c(-1,1),c(i,i),col="blue",lwd=6)
}
for(i in seq(max(ataiy),1,0.001)){
lines(c(-1,1),c(i,i),col="blue",lwd=6)
}

2012-04-18

[] 他大学の研究室ゼミ資料でお勉強


茨城大学新納浩幸のホームページに、研究室で行ってるゼミの資料が公開されていたので、
僕もその資料を読んで、こっそりと勉強をさせてもらおうと思う。

今年度に読んでいる本が2冊あるようで、Rで学ぶベイズ統計学入門(ゼミ資料)と、カーネル多変量解析(ゼミ資料)が公開されている。

余裕があったら、過去のゼミ資料も読みたいと思う。

2012-04-16

[] ベイズの定理


はてダで数式を書く練習も兼ねて、ベイズの定理の証明を。
条件付き確率は、
P(E_i|F) = ¥frac{P(E_i ¥cap F)}{P(F)}
と定義されている。
定義より、
P(E_i ¥cap F) = P(E_i) ¥times P(F|E_i)
であり、
P(F) = ¥sum_{j=1}^{¥inf} P(E_j ¥cap F) ¥¥ = ¥sum_{j=1}^{¥infty} P(E_j) ¥times P(F|E_j)
より、
P(E_i|F) = ¥frac{E_i ¥times P(F|E_j)}{¥sum_{j=1}^{¥infty} P(E_j) ¥times P(F|E_j)}
が成り立つ。