
Softmax cross-entropy cost (Geron Ch 4, morie.fn hmcec)
Source:R/geron_ml2_native.R
morie_geron_cross_entropy_cost.RdJ = -(1/m) sum_i sum_k y_ik log p_ik, evaluated from shifted logits
so the log is never taken of an underflowed probability. Y is
either a vector of 0-based class labels or an (m, K) matrix of row
distributions.
Value
List with cost, probabilities, log_probabilities,
per_sample_cost, scores, accuracy, chance_cost,
n_classes, estimate, n.
Examples
morie_geron_cross_entropy_cost(X = 5L, Y = 5L, theta = c(1, 2, 3, 4, 5, 6, 7, 8))
#> $cost
#> [1] 10.00676
#>
#> $probabilities
#> [,1] [,2] [,3] [,4] [,5]
#> [1,] 6.262633e-16 9.294572e-14 1.379437e-11 2.047266e-09 3.038412e-07
#> [,6] [,7] [,8]
#> [1,] 4.509403e-05 0.006692547 0.9932621
#>
#> $log_probabilities
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] -35.00676 -30.00676 -25.00676 -20.00676 -15.00676 -10.00676 -5.006761
#> [,8]
#> [1,] -0.006760749
#>
#> $per_sample_cost
#> [1] 10.00676
#>
#> $scores
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
#> [1,] 5 10 15 20 25 30 35 40
#>
#> $accuracy
#> [1] 0
#>
#> $chance_cost
#> [1] 2.079442
#>
#> $n_classes
#> [1] 8
#>
#> $estimate
#> [1] 10.00676
#>
#> $n
#> [1] 1
#>
#> $method
#> [1] "softmax cross-entropy J = -(1/m) sum_i sum_k y_ik log p_ik"
#>