This document describes the layers of a convolutional neural network model for classifying images. The model takes input images of size 28x28x1, applies a Conv2D layer to extract 32 features from the input, uses MaxPooling to reduce the spatial dimensions. It then applies Dropout and flattens the output before feeding it to two Dense layers with 128 and 10 units respectively to perform classification into 10 classes.
Symbolic Computations in Conformal Geometric Algebra for Three Dimensional O...Yoshihiro Mizoguchi
This document discusses symbolic computations in conformal geometric algebra (CGA) for modeling three-dimensional origami folds. CGA provides an algebraic framework for representing geometric objects and transformations. The document introduces CGA, shows examples of visualizing geometric objects and operations in CGA, and demonstrates how origami folds can be formalized and visualized using CGA operations. Each origami fold is represented by an element of CGA, allowing the geometric properties of folds to be investigated using symbolic computations.
The document describes an algorithm for verifying Wang tile tilings of rectangular regions called "brick Wang tilings". The algorithm reduces the tiling problem into smaller subproblems by dividing the region into strips and then tiles. It proves the algorithm is correct by showing every boundary condition of a rectangular region larger than 2x2 can be tiled. The algorithm consists of 3 steps to recursively reduce the tiling problem into solving a 2x2 region.
This document summarizes a talk given by Yoshihiro Mizoguchi on developing a Coq library for relational calculus. The talk introduces relational calculus and its applications. It describes implementing definitions and proofs about relations, Boolean algebras, relation algebras, and Dedekind categories in Coq. The library provides a formalization of basic notions in relational theory and can be used to formally verify properties of relations and prove theorems automatedly.
This document discusses category theory and algebraic semantics for programming languages. It defines categories, functors, natural transformations, Ω-algebras, (Ω,E)-algebras, and monads. Ω-algebras allow modeling algebraic structures like groups. (Ω,E)-algebras satisfy equations E and have a free algebra. Monads correspond to algebraic theories and define Kleisli categories of algebras. Algebraic semantics uses axioms and rules to prove equalities in (Ω,E)-algebras.
12. 成績処理 (3)
A, B, · · · , H を座標 (g(x), h(x)) でプロットしたもの.
85
C D
80
G H
hx
75
A B
E F
70
65
20 30 40 50 60 70
gx
※ 3 科目の成績の特徴を 2 次元平面に上手にプロットする方法は?
3 次元データの特徴を維持しつつ, 2 次元データに圧縮する方法は?
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 12 / 44
13. 記号と基礎統計量の復習
x = (x1 , x2 , · · · , x n), y = (y1 , y2 , · · · , y n), 1 = (1, 1, · · · , 1) とする.
y1
∑
n ( )
y2
内積 s= xi yi = x, y = x · y t = x1 x2 ··· xn ·
.
.
.
i=1
yn
∑
n
ノルム ||x|| = x, x = (xi )2
i=1
∑
n
合計 s= xi = 1, x
i=1
1
平均 x=
¯ 1, x
nn
∑
分散 σ2 = (xi − x)2 = x − x1, x − x1
¯ ¯ ¯
√i=1
標準偏差 σ= x − x1, x − x1
¯ ¯
データの分析, 数列 (Σ), 行列, ベクトル, · · · の勉強が必要.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 13 / 44
14. データ行列 · 距離行列 · 内積行列
n 個のデータ oi = (xi1 , xi2 , · · · , xip) (i = 1, · · · , n) を考える. ここで
は, p ≤ n としておく. n × p 行列, X = (xi j ) (i = 1, · · · , n,
j = 1, · · · , p) に対して, n × n 行列 M と B を
M = (||oi − o j ||),
B = ( oi , o j ) = (oi · (o j ) t ) = X · X t
とする.
M を距離行列, B を内積行列, X をデータ行列と呼ぶことにする.
n × 1 の列ベクトルを xi = (x1i , x2i , · · · , x ni ) (i = 1, · · · , p) と書き,
X = (x1 , x2 , · · · , x p) と書くこともある.
X が n × p 行列のとき, B = X · X t は n × n 行列, X t · X は p × p 行列.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 14 / 44
15. B と X の関係
問題
n × n 行列 B = (bi j ) が与えられ, X がわからないときに, 適当な次元 p を
.
定め, bi j = oi , o j (i = 1, · · · , n, j = 1, · · · , n), すなわち, B = X · X t とな
るような, n 個のベクトル oi = (xi1 , xi2 , · · · , xip) を求めよ.
B を直交対角化して UBU t = Λ と対角行列に出来たとする. このとき, B
.
は半正定値行列であり固有値は 0 または正であることが知られていて,
√
Λ (行列 Λ の対角成分に全て平方根を施した行列) を作ることが出来る.
√ √ √ √
そして, B = U t ( Λ)2 U = (U t Λ)(U t Λ) t であり, X c = U t Λ とすると
B = X c X c となる. このときの X c は n × n 行列である.
t
b ··· u ··· λ ··· u ···
11
b12 b1n 11
u21 u n1 11
0 0 11
u12 u1n
b21
b22 b2n u12
u22 u n2
0
λ22 0
u21
u22 u2n
.
.
. = .
. .
. .
.
. . .
. .
. .
.
. .
. .
. .
.
b n1 b n2 ··· b nn u1n u2n ··· u nn 0 0 ··· λ nn u n1 u n2 ··· u nn
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 15 / 44
16. アルゴリズム 1
B を作ったもとのデータ行列 X を探す:
X = (xi j ) のランクが p であるとき, rank(B) は p であることが知られてお
り, Λ の対角成分は λ1 ≥ λ2 ≥ · · · ≥ λ p で, λ p+1 = · · · = λn = 0 と考えて
良い. Λ = (λi j ), u = (ui j ) とし, r ≤ p とするとき, r × r 行列 Λ r = (λi j )
(i, j = 1, · · · , r), n × r 行列 U r = (ui j ) (i = 1, · · · , n, j = 1, · · · , p) とする
√
と B = U pΛ pU p となる. X c = U p Λ p とすると X c は n × p 行列で,
t
B = X c X c となる.
t
b ··· u ··· λ ··· u ···
11
b12 b1n 11
u21 u p1 11
0 0 11
u12 u1n
b21
b22 b2n u12
u22 u p2 0
λ22 0 u21
u22 u2n
.
.
. = .
. .
. .
.
. . .
. .
. .
.
. .
. .
. .
.
b n1 b n2 ··· b nn u1n u p2 ··· u pn 0 0 ··· λ pp u p1 u2 p ··· u pn
√
u
11
u21 ··· u p1
λ11
√
0 ··· 0
u
12
u22 u p2
0 λ22 0
XC = .
.
. .
.
.
. .
.
.
. .
√
u n1 u n2 ··· u pn 0 0 ··· λ pp
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 16 / 44
17. 特異値分解
定理 (Singular Value Decomposition[1])
n × p 行列 X に対して, n × n 直交行列 U, p × p 直交行列 V が存在し,
X = U · L · V t とすることが出来る. 但し, n × p 行列 L = (li j ) は対角行列
li j = 0 (i j, i = 1, · · · , n, j = 1, · · · , p) である.
そして, このとき次の条件が満たされる.
X · X t は, U で直交対角化され 0 でない固有値の集合は
{l2 | lii 0, i = 1, · · · , p}.
ii
UU t = E n で, U(XX t )U t が対角行列になる.
X t · X は, V で直交対角化され 0 でない固有値の集合は
{l2 | lii 0, i = 1, · · · , p}.
ii
VV t = E n で, V(X t X)V が対角行列になる.
rank(X) = #{lii | lii
0, i = 1, · · · , p}. (0 でない特異値の数)
.
∑ p
Tr(X · X ) = Tr(X · X) =
t t 2
lii
i=1
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 17 / 44
21. X t · X の対角化
特異値分解の行列 V は X t · X を直交対角化する.
(※ 対称行列 X t · X は直交行列で対角化可能).
1
√ −√
1
−√
1
3 2 √6
V=
1
√ 0 2
3 3
1
√
1
√ − 1
√
3 2 6
4 2 2
8 0
0
V (X · X)V = V 2 4 2 V = 0 2
t t
t
0
2 2 4 0 0 2
注: 0 以外の固有値は特異値の平方になる.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 21 / 44
22. 中心化行列
定義 (中心化行列)
自然数 n に対して, E n を n × n 単位行列, 1 n を全成分が 1 の n 次元列ベク
トル, 1 n×n を全成分が 1 の n × n 行列とする. このとき, n × n 行列
J n = E n − 1 1 n×n を中心化行列という.
n .
1∑
n
1
n × p 行列 X に対して, J n X = (E n X − 1 n×n X) = (xi j − x k j ) であ
n n
k=1
∑
n .
り, J n X = (x ) とすると xi j = 0 となる. すなわち, J n X はデータ列 X
ij
i=1
の重心を原点に平行移動したデータ列になる.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 22 / 44
23. 主成分分析 (PCA)
定理 (Principal Component Analysis)
1
n × p 行列 X の共分散行列を p × p 行列 S = (J n X) t (J n X) とする. S を直
n
交対角化して VSV t = Λ となり, Λ = (λi j ) は, λi j = 0 (i j),
λ11 ≥ λ22 ≥ · · · ≥ λ pp ≥ 0 とする. n × p 行列 Y を Y = (J n X) · V t とする
と Y = (y1 , y2 , · · · , y p) = (yi j ) に対して, 次の性質が成り立つ.
∑n
1 yi j = 0 ( j = 1, · · · , p), (yi の平均は 0)
i=1
1 t
2 Y Y = Λ (Y の共分散行列は対角行列で対角成分 (yi の分散) は固有値),
n .
3 Tr(Y t Y) = Tr(S),
4 |Y t Y| = |S|.
変換されたデータ列 Y について, 次のことがわかる. (1) より各成分の平均は全て
0 である. (2) より各成分の分散は第 1 成分から順番に小さくなっている.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 23 / 44
28. M と B の関係
問題
n 個のデータ oi = (xi1 , xi2 , · · · , xip) からなる n × p 行列 X = (xi j ) により
.
作られた n × n の内積行列 B = X · X t = ( oi , o j ) と n × n の距離行列
M = (||oi − o j ||) を考える. データ行列 X がわからなくても, 内積行列 B
から距離行列 M を直接計算することが出来るか?
距離行列 M = (mi j ) に対して, 全成分を 2 乗した行列 M(2) = (m2 ) を考え
ij
.
る. (注. M(2) は各成分が 2 乗であり, 行列の 2 乗 M2 とは異なる!)
m2j = ||oi − o j ||2 = oi − o j , oi − o j = oi , oi − 2 oi , o j + o j , o j
i
であるので, B = ( oi , o j ) がわかっていれば, M(2) を計算することが出来
る. 従って, B から M も直接計算することが出来る.
問題
M から B は直接計算出来るか?
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 28 / 44
29. 多次元尺度構成法 (MDS)
n 個のデータ oi = (xi1 , xi2 , · · · , xip) からなる n × p 行列 X = (xi j ) により
作られた n × n の距離行列 M = (||oi − o j ||) を考える.
問題 (Multidimensional Scaling)
n × n 行列 M = (mi j ) が与えられ, X がわからないときに, 適当な次元 p を
定め, mi j = ||oi − o j || (i = 1, · · · , n, j = 1, · · · , n) となるような, n 個のベ
クトル oi = (xi1 , xi2 , · · · , xip) を求めよ.
.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 29 / 44
30. アルゴリズム 2
M を作ったもとのデータ行列 X を探す:
1
B c = − J n M(2) J n
t
2
とすると
B c = (J n X)(J n X) t
であることが計算出来る [4].
距離行列 M から内積行列 B c を得る変換 − 1 J n M(2) J n を
2
t
Young-Householder 変換と呼ぶ.
この B c にアルゴリズム 1 を使えばもとのデータ X(を中心化したもの) を見つけ
ることが出来る.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 30 / 44
31. 次元縮小
アルゴリズム 1 は, n × p のデータ行列から作られた内積行列 B = X · X t
が与えられたときに, B を実現する X を求めるアルゴリズムであった.
丁度 B = X · X t である必要はないので, より小さな次元 r(< p) のデータ
行列 X で B を近似出来ないだろうか?
問題
準備で述べた n × n 行列 B = (bi j ) が与えられ, X がわからないとする. 自
然数 r ≤ rank(B) が与えられたとき, Tr((B − X c X c )2 ) を最小にする n × r
t
行列 X c を求めよ.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 . 2012/04/15 31 / 44
32. アルゴリズム 3
B を作ったもとのデータ行列 X を近似する:
アルゴリズム 1 で, p を r < p に置き換えて,
√
Xc = Ur Λr
とすると X c は n × r 行列となりもとの X よりは次元が小さなデータにな
る. 但し, B = X c X c とは限らない.
t
b ··· u ··· λ ··· u ··· u1n
11
b12 b1n 11
u r1 u p1 11
0 0 11
u12
b
21
b22 b2n u
12
u r2 u p2
.
.
. .
.
. . . . . .
. . = .
. . .
. .
.
.
. . .
.
.
. .
.
. 0
··· λ rr 0 u
r1
u r2 ··· u rn
b n1 b n2 ··· b nn u1n ··· u rn u pn 0 ··· 0 λ pp u p1 u p1 ··· u pn
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 32 / 44
33. 理論背景
定理
n × p 行列 X から作られた距離行列 M に対して, n × r 行列 X c の中で Φ
を最小にするのは, アルゴリズム 3 で得られる X c である. そして, Φ の最
∑
n
小値は 2n(λ r+1 + · · · + λ p) となる. 但し, Φ = (d2j − di 2 ) で, di j は X を
i j
i, j=1
.
構成するデータ間の距離 di j = ||oi − o j || であり, d は X c を構成するデー
ij
タ間の距離とする.
定理
n × p 行列 X から作られた内積行列 B に対して, n × r 行列 X c の中で Ψ
を最小にするのは, アルゴリズム 3 で得られる X c である. そして, Ψ の最
小値は (λ2 + · · · + λ2 ) となる. 但し, Ψ = Tr((B − X c X c )2 ) とする.
p
t
r+1 .
定理の証明等は, 文献 [2] を参照のこと.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 33 / 44
42. PCA と MDS の関係
n × p 行列 J n X を特異値分解して,
J nX = U · L · V t
となったとする. n × n 行列 U は (J n X)(J n X) t を対角化し,
U(J n X)(J n X) t U t = Λ n
となり, p × p 行列 V は (J n X) t (J n X) を対角化し,
V(J n X) t (J n X)V t = Λ p
となる. V は,
1
S=
(J n X) t (J n X)
n
も直交対角化するので, Y = (J n X)V は, 主成分 (PCA) である.
このとき,
Y = (J n X)V = (U · LV t )V = U · L
となる. √
ここで, U · L = U p Λ p なので, Y はアルゴリズム 1 の X c と一致する.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 42 / 44
44. 参考文献
[1] C. Eckart and G. Young.
The approximation of one matrix by another of lower rank.
Psychometrika, 1(3):211–218, 1936.
[2] K.V. Mardia, J.T. Kent, and J.M. Bibby.
Multivariate Analysis.
Academic Press, 1994.
[3] W.S. Torgerson.
Multidimensional scaling: I. theory and method.
Psychometrika, 17(4):401–419, 1952.
[4] G. Young and A.S. Householder.
Discussion of a set of points in terms of their mutual distances.
Psychometrika, 3(1):19–22, 1938.
[5] 小西貞則.
多変量解析入門.
岩波書店, 2010.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 44 / 44