
UMAP: uniform manifold approximation, preserves local and some global structure
Source:R/geron_w4d_native.R
morie_geron_umap.RdSmoothed-kNN fuzzy graph (rho = nearest-neighbour distance, sigma
solved by binary search to hit log2(k)), fuzzy union W = A+A'-A.A',
low-d kernel v = 1/(1+a*d^2b) fitted via morie_geron_fit_ab,
exact fuzzy cross-entropy minimised by gradient descent (gradient
clipped at norm 4).
Usage
morie_geron_umap(
X,
n_components = 2,
n_neighbors = 3,
min_dist = 0.1,
seed = 0,
n_iter = 300,
lr = 0.1
)Value
list with embedding, graph, directed_graph, a, b, ab_sse, cross_entropy, ce_curve, rho, sigma, estimate, n, method.
Examples
V <- c(1, 2, 3, 4, 5, 6, 7, 8)
morie_geron_umap(V)
#> $embedding
#> [,1] [,2]
#> [1,] 0.39145394 -1.6863766
#> [2,] 0.35532731 -1.5371211
#> [3,] 0.22843760 -1.0128870
#> [4,] 0.02705371 -0.1809059
#> [5,] -0.17278766 0.6446648
#> [6,] -0.37418892 1.4766417
#> [7,] -0.50109518 2.0008718
#> [8,] -0.53722714 2.1501260
#>
#> $graph
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
#> [1,] 0.0000000 1 0.4137583 0.1711959 0.0000000 0.0000000 0 0.0000000
#> [2,] 1.0000000 0 1.0000000 0.0000000 0.0000000 0.0000000 0 0.0000000
#> [3,] 0.4137583 1 0.0000000 1.0000000 0.0000000 0.0000000 0 0.0000000
#> [4,] 0.1711959 0 1.0000000 0.0000000 1.0000000 0.0000000 0 0.0000000
#> [5,] 0.0000000 0 0.0000000 1.0000000 0.0000000 1.0000000 0 0.1711959
#> [6,] 0.0000000 0 0.0000000 0.0000000 1.0000000 0.0000000 1 0.4137583
#> [7,] 0.0000000 0 0.0000000 0.0000000 0.0000000 1.0000000 0 1.0000000
#> [8,] 0.0000000 0 0.0000000 0.0000000 0.1711959 0.4137583 1 0.0000000
#>
#> $directed_graph
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
#> [1,] 0 1 0.4137583 0.1711959 0.0000000 0.0000000 0 0
#> [2,] 1 0 1.0000000 0.0000000 0.0000000 0.0000000 0 0
#> [3,] 0 1 0.0000000 1.0000000 0.0000000 0.0000000 0 0
#> [4,] 0 0 1.0000000 0.0000000 1.0000000 0.0000000 0 0
#> [5,] 0 0 0.0000000 1.0000000 0.0000000 1.0000000 0 0
#> [6,] 0 0 0.0000000 0.0000000 1.0000000 0.0000000 1 0
#> [7,] 0 0 0.0000000 0.0000000 0.0000000 1.0000000 0 1
#> [8,] 0 0 0.0000000 0.0000000 0.1711959 0.4137583 1 0
#>
#> $a
#> [1] 1.568312
#>
#> $b
#> [1] 0.9
#>
#> $ab_sse
#> [1] 0.07906359
#>
#> $cross_entropy
#> [1] 11.1504
#>
#> $ce_curve
#> [1] 40.04817 29.87440 26.42030 24.71214 23.14175 21.64202 20.20387 18.82474
#> [9] 17.65408 16.91084 16.47269 16.10762 15.76033 15.41438 15.05941 14.68821
#> [17] 14.29595 13.88059 13.44488 13.00015 12.57151 12.19829 11.91652 11.72803
#> [25] 11.60366 11.51744 11.45550 11.40982 11.37512 11.34789 11.32589 11.30765
#> [33] 11.29221 11.27893 11.26734 11.25712 11.24803 11.23989 11.23257 11.22594
#> [41] 11.21992 11.21443 11.20942 11.20483 11.20062 11.19676 11.19321 11.18994
#> [49] 11.18693 11.18416 11.18160 11.17924 11.17706 11.17505 11.17319 11.17147
#> [57] 11.16989 11.16842 11.16706 11.16581 11.16466 11.16358 11.16260 11.16168
#> [65] 11.16083 11.16005 11.15933 11.15866 11.15804 11.15747 11.15694 11.15645
#> [73] 11.15600 11.15558 11.15519 11.15483 11.15450 11.15420 11.15391 11.15365
#> [81] 11.15341 11.15318 11.15298 11.15278 11.15261 11.15244 11.15229 11.15215
#> [89] 11.15202 11.15190 11.15179 11.15168 11.15159 11.15150 11.15142 11.15134
#> [97] 11.15127 11.15121 11.15115 11.15109 11.15104 11.15099 11.15095 11.15091
#> [105] 11.15087 11.15084 11.15080 11.15077 11.15075 11.15072 11.15070 11.15068
#> [113] 11.15066 11.15064 11.15062 11.15060 11.15059 11.15057 11.15056 11.15055
#> [121] 11.15054 11.15053 11.15052 11.15051 11.15050 11.15049 11.15049 11.15048
#> [129] 11.15047 11.15047 11.15046 11.15046 11.15046 11.15045 11.15045 11.15044
#> [137] 11.15044 11.15044 11.15043 11.15043 11.15043 11.15043 11.15043 11.15042
#> [145] 11.15042 11.15042 11.15042 11.15042 11.15042 11.15041 11.15041 11.15041
#> [153] 11.15041 11.15041 11.15041 11.15041 11.15041 11.15041 11.15041 11.15041
#> [161] 11.15041 11.15041 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [169] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [177] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [185] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [193] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [201] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [209] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [217] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [225] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [233] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [241] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [249] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [257] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [265] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [273] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [281] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [289] 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040 11.15040
#> [297] 11.15040 11.15040 11.15040 11.15040 11.15040
#>
#> $rho
#> [1] 1 1 1 1 1 1 1 1
#>
#> $sigma
#> [1] 1.133179e+00 5.421011e-20 5.421011e-20 5.421011e-20 5.421011e-20
#> [6] 5.421011e-20 5.421011e-20 1.133179e+00
#>
#> $estimate
#> [1] 11.1504
#>
#> $n
#> [1] 8
#>
#> $method
#> [1] "UMAP: smoothed kNN fuzzy graph, fitted (a, b) low-d kernel, exact fuzzy cross-entropy by gradient descent"
#>