構造的表現 Structure and Space

Download Report

Transcript 構造的表現 Structure and Space

構造的表現 Structure and Space
似ている 似ていない
Alike, not alike
実数直線
(Real) number line
2項目で距離を定める
k項目で距離を定める
距離
Distance
• L(A,B)
• 2つのものA,Bの間に定められる量
• A value is defined between two items, A and B
•
•
•
•
L(A,B)>=0
L(A,B) = L(B,A)
L(A,A) = 0
L(A,B) <= L(A,C) + L(B,C)
• 三角不等式 Triangle inequality
三角不等式
Triangle inequality
次を解け Solve
a=y+z; b=z+x; c=x+y.
ペアワイズ Pair-wise
• L(A,B)
• 2つのものA,Bの間に定められる量
• A value is defined between two items, A and B
• N*(N-1)/2
近隣結合法
Neighbor-Joining method
• 三角不等式を用いて木を描く
• Draw a tree using triangle inequality
NJ法 NJ method
R4-2.R
• #サンプル数Ns=5が5次元のデータを持っているようなデータセットを作
成
• Ns<-5;k<-5;x <- matrix(rnorm(Ns*k), nrow=Ns)
• dist(x,method="euclidean") # ユークリッド距離の距離行列
• library(ape) # 木を作る関数nj()を持つパッケージapeの読み込み
• treu<-nj(dist(x,method="euclidean")) # apeの近隣結合法関数njにより木
を作る
• par(mfcol=c(2,3))
• plot(treu) # 木の表示
• plot(treu, type="p")
• plot(treu, "c")
• plot(treu, "f")
• plot(treu, "u")
• plot(treu, "r")
• # type "phylogram”, "cladogram", "fan", "unrooted", "radial"
距離のとりかたを変える
Different “distance-definitions”
• treu<-nj(dist(x,method="euclidean")) # apeの近隣結合法関数njにより木
を作る
• trman<-nj(dist(x,method="manhattan")) # マンハッタン距離で木を作る
• par(mfcol=c(1,2)) # 画面を1行2列に分割
• plot(treu);plot(trman) # 2つの距離法で木の表示
• par(mfcol=c(1,1)) # 画面分割を1行1列に戻す
別のやり方で木を作る
R5-1.R
Different methods to generate trees
• 階層的クラスタリン
グ法
– Hierarchical
clustering methods
距離行列の2軸
Two axes in distance matrix
行の順序をそのままに
The order of rows as they are
LD-plot
R5-2.R
R5-3.R
m<-matrix(rbinom(120,1,0.5),20,6)
heatmap(m)
cormatrix<-cor(m);rsqmatrix<cormatrix^2
image(1:nrow(rsqmatrix),1:ncol(rsqmatri
x),rsqmatrix,col=gray((100:0)/100))
距離 角度 余弦
Distance Angle Cosine
ペアワイズ Pair-wise
• L(A,B)
• 2つのものA,Bの間に定められる量
• A value is defined between two items, A and B
• N*(N-1)/2
ペアワイズでない比較
Non-pairwise comparison
• 3要素の比較 Three items to be compared
ABC
AB
BC
CA
000
N1
00
N1+N2
00
N1+N5
00
N1+N3
001
N2
01
N3+N4
01
N2+N6
01
N2+N4
010
N3
10
N5+N6
10
N3+N7
10
N5+N7
011
N4
11
N7+N8
11
N4+N8
11
N6+N8
100
N5
101
N6
110
N7
111
N8
ペアワイズでない比較
Non-pairwise comparison
• 3要素の比較 Three items to be compared
ABC
ABC
AB
BC
CA
000
0.125
000
0.25
00
0.25
00
0.25
00
0.25
001
0.125
001
0
01
0.25
01
0.25
01
0.25
010
0.125
010
0
10
0.25
10
0.25
10
0.25
011
0.125
011
0. 25
11
0.25
11
0.25
11
0.25
100
0.125
100
0
101
0.125
101
0. 25
110
0.125
110
0. 25
111
0.125
111
0
関係はいくつある
How many “RELATIONS”?
非階層的クラスタリング法 R6-3.R
NON -hierarchical clustering methods
R6-2.R
R6-2.R
# 正規乱数を用いてデータを作る
n1<-500;n2<-300;n3<-200;x<c(rnorm(n1,0,0.5),rnorm(n2,5,1),rnorm(n3,
8,2));y<c(rnorm(n1,0,2),rnorm(n2,3,2),rnorm(n3,3,1))
library(gregmisc) # hist2d()を持つパッケー
ジ
h2d <- hist2d(x,y,
show=FALSE,same.scale=TRUE,
nbins=c(10,10)) # 2次元ヒストグラム情報を
取る
plot(x,y) # 散布図
filled.contour( h2d$x, h2d$y, h2d$counts,
nlevels=9,col=gray((8:0)/8) ) # 2次元ヒスト
グラムを濃淡で
persp( h2d$x, h2d$y,
h2d$counts,ticktype="detailed", theta=60,
phi=30,shade=0.5, col="cyan") # 2次元ヒス
トグラムを鳥瞰図で
R6-3.R
# 非階層的クラスタリング
m3<-matrix(c(x,y),ncol=2)
cl <- kmeans(m3, 3) # kmeans法で3群にク
ラスタリング
plot(m3, col = cl$cluster)
points(cl$centers,pch = 8, cex=10) # クラス
タの中央に印をつける